PageSourceSearch

https://attendify.in/hrms.php

html attendify.in collected 2026-10-07 15:44:49 UTC 171,533 bytes, 3,215 lines download raw bytes

1<!doctype html>
2<html lang="en" style="overflow-x: hidden;">
3
4<head>
5    <!-- Google Tag Manager -->
6    
6<script async>
vendor: 485 bytes, lines 6-13
6(function (w, d, s, l, i) {
7            w[l] = w[l] || []; w[l].push({
8                'gtm.start':
9                    new Date().getTime(), event: 'gtm.js'
10            }); var f = d.getElementsByTagName(s)[0],
11                j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
12                    'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
13        })(window, document, 'script', 'dataLayer', '
13GTM-TDM5BNXQ
vendor: 3 bytes, line 13
13');
13</script>
vendor: 76 bytes, lines 13-15
13
14
15         <script async src="https://www.googletagmanager.com/gtag/js?id=
15AW-18159733249
vendor: 13 bytes, line 15
15"></script>
16<script>
17  
vendor: 138 bytes, lines 17-21
17window.dataLayer = window.dataLayer || [];
18  function gtag(){dataLayer.push(arguments);}
19  gtag('js', new Date());
20
21  gtag('config', '
21AW-18159733249
vendor: 5 bytes, line 21
21');
22</script>
22
23
24    <!-- End Google Tag Manager -->
25    <meta charset="utf-8">
26    <meta name="viewport" content="width=device-width, initial-scale=1">
27    <meta name="title" content="AI Face Recognition HRMS Attendance Software | Attendify">
28
29    <meta name="description"
30        content="Automate employee attendance with
31Attendify's AI-powered walk-through
32facial recognition. No fingerprint devices,
33no RFID cards — just seamless,
34touchless entry with full HRMS and
35payroll integration" />
36    <meta name="keywords"
37        content="AI face recognition for events, Event access control using AI, Guest verification system, VIP access management, Touchless event entry,Conference visitor management,Live event analytics,Secure event identity system">
38
39    <meta name="author" content="Attendify">
40    <meta name="generator" content="HubSpot">
41    <meta property="og:type" content="website">
42    <meta property="og:site_name" content="Attendify">
43    <meta property="og:url" content="https://attendify.ai/hrms.php" />
44    <meta property="og:title" content="AI Face Recognition HRMS Attendance Software | Attendify">
45    <meta property="og:description"
46        content="Automate employee attendance with
47Attendify's AI-powered walk-through
48facial recognition. No fingerprint devices,
49no RFID cards — just seamless,
50touchless entry with full HRMS and
51payroll integration">
52    <meta property="og:image" content="https://attendify.ai/assets/og-image.jpg">
53    <meta property="og:locale" content="en_IN">
54
55    <title>AI Face Recognition HRMS Attendance Software | Attendify</title>
56
57    
57<script type="application/ld+json">
58        {
59            "@context": "https://schema.org",
60            "@type": "BreadcrumbList",
61            "itemListElement": [
62                {
63                    "@type": "ListItem",
64                    "position": 1,
65                    "name": "Home",
66                    "item": "https://attendify.ai/"
67                },
68                {
69                    "@type": "ListItem",
70                    "position": 2,
71                    "name": "HRMS Attendance",
72                    "item": "https://attendify.ai/hrms.php"
73                }
74            ]
75        }
76    </script>
76
77
78
79    <link rel="preload"
80        href="https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Open+Sans&display=swap"
81        as="style" onload="this.rel='stylesheet'">
82    <link rel="preload" href="css/bootstrap.min.css" as="style" onload="this.rel='stylesheet'">
83
84     <link rel="canonical" href="https://attendify.ai/hrms.php">
85
86    <link rel="preload" href="css/styles.css" as="style" onload="this.rel='stylesheet'">
87    <link rel="preload" href="images/logo_meta.webp" as="image" type="image/png">
88    <link href="images/logo_meta.webp" rel="icon">
89    <link href="images/logo_meta.webp" rel="apple-touch-icon">
90    
91
92    <link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.0/css/all.min.css" as="style"
93        onload="this.rel='stylesheet'">
94    
95     <link rel="preload" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
96
97
98    <!--
vendor: 64 bytes, line 98
98 <script async src="https://www.googletagmanager.com/gtag/js?id=
98G-R2WB41BTJD
vendor: 21 bytes, lines 98-99
98"></script>
99        
99<script>
100            
vendor: 166 bytes, lines 100-103
100window.dataLayer = window.dataLayer || [];
101            function gtag(){dataLayer.push(arguments);}
102            gtag('js', new Date());
103            gtag('config', '
103G-R2WB41BTJD
vendor: 13 bytes, lines 103-104
103');
104        
104</script>
104 -->
105
106        <meta name="google-site-verification" content="tTEBuAgVFIUNQPCWGoFIcoESAg_qdiYTS9HQN_zhHOY" />
107</head>
108
109<style>
110    body{
111        font-family: var(--body-font-family) !important;
112    }
113    
114    h1 {
115        font-weight: 100 ! important;
116        font-size: 2.3rem;
117    }
118
119    h2 {
120        font-weight: 100 ! important;
121        font-size: 2.2rem;
122    }
123    p {
124        font-size:19px !important;
125        font-weight:100 !important;
126    }
127    ul li {
128        font-weight:100 !important;
129    }
130
131    .section-padding {
132        padding-top: 5px !important;
133        padding-bottom: 40px;
134        margin-top: -65px !important;
135    }
136    @media screen and (max-width: 992px) {
137    .mobile_gif {
138        margin: auto !important;
139    }
140}
141</style>
142
143
144<!-- Cards Hovering -->
145<style>
146    .solution-card {
147        background: #fff;
148        padding: 30px 30px;
149        border-radius: 20px;
150        height: 100%;
151        border: 1px solid #eee;
152        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
153        position: relative;
154        overflow: hidden;
155    }
156
157    .solution-card:hover {
158        transform: translateY(-10px);
159        box-shadow: 0 20px 40px rgba(0,0,0,0.05);
160        border-color: #0dcaf0;
161    }
162
163    .card-icon {
164        width: 60px;
165        height: 60px;
166        background: #f8f9fa;
167        color: #0dcaf0;
168        display: flex;
169        align-items: center;
170        justify-content: center;
171        border-radius: 15px;
172        font-size: 1.5rem;
173        margin-bottom: 1px;
174        transition: 0.3s;
175    }
176
177    .solution-card:hover .card-icon {
178        background: #0dcaf0;
179        color: #fff;
180    }
181
182    .solution-card h4 {
183        font-weight: 700;
184        font-size: 1.25rem;
185        margin-bottom: 15px;
186    }
187
188    .feature-tags {
189        font-size: 0.75rem;
190        font-weight: 700;
191        text-transform: uppercase;
192        color: #0dcaf0;
193        letter-spacing: 1px;
194        margin-bottom: 15px;
195    }
196
197    .benefit-text {
198        color: #666;
199        font-size: 18px !important;
200        line-height: 1.6;
201        text-align:justify;
202    }
203
204    .border-dashed {
205        border: 2px dashed #ddd;
206        background: transparent;
207    }
208
209    /* Active State for key sector */
210    .active-accent {
211        border-top: 5px solid #0dcaf0;
212    }
213</style>
214
215
216
217<body id="top">
218
219    <!-- Google Tag Manager (noscript) -->
220    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TDM5BNXQ" title="Google Tag Manager" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) -->
221    <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css"></noscript>
222
223
224                    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
225
226<style>
227     body{
228        font-family: var(--body-font-family) !important;
229    }
230     ul li {
231        font-weight:100 !important;
232    }
233     .modal {
234        display: none;
235        position: fixed;
236        z-index: 1000;
237        left: 50%;
238        top: 50%;
239        transform: translate(-50%, -50%);
240        background-color: rgba(0, 0, 0, 0.5);
241        width: 100%;
242        max-width: 100%;
243        height: auto;
244        /* background-color: white;  */
245        padding: 20px;
246        /* border-radius: 8px; */
247        /* box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); */
248    }
249
250    body.modal-open {
251        overflow: hidden;
252    }
253
254    .modal-content {
255        background-color: white;
256        margin: 15% auto;
257        padding: 20px;
258        border: 1px solid #888;
259        width: 80%;
260        max-width: 600px;
261    }
262
263    .close {
264        color: #aaa;
265        float: right;
266        font-size: 28px;
267        font-weight: bold;
268    }
269
270    .close:hover,
271    .close:focus {
272        color: black;
273        text-decoration: none;
274        cursor: pointer;
275    }
276
277    /* Modal input styling */
278    
279    .modal input,
280        .modal textarea {
281            width: 100%;
282            padding: 6px;
283            margin: 4px 0;
284            border: 1px solid #ccc;
285            border-radius: 5px;
286        }
287
288  @media screen and (max-width: 768px) {
289       .navbar-expand-lg .navbar-nav .nav-link {
290            margin:2px 0px !important;
291            padding:2px !important;
292            
293        }
294    }
295
296     @media screen and (max-width: 990px) {
297       .navHeader {
298            display:flex !important;
299            justify-content: space-between;
300            width: 100%;
301            padding-left: 0px !important;
302            margin-left: 10px !important;
303        }
304         .navbar-toggler{
305                padding: 5px;
306                margin-top: 10px;
307        }
308    }
309
310    .nav-item{
311        font-weight:200 !important;
312    }
313/* Ensure the main navbar is the reference point for the absolute dropdown */
314.navbar {
315    position: relative !important;
316}
317
318        .navbar-expand-lg .navbar-nav .nav-link {
319            font-size:1rem !important;
320        }
321
322#product-nav-new {
323    position: absolute;
324    width: 100vw !important; /* Spans 100% of the browser window width */
325    left: 0 !important;
326    right: 0 !important;
327    top: 15%; /* Sits exactly at the bottom of the navbar */
328    background-color: #fff;
329    box-shadow: 0 1rem 3rem rgba(0,0,0,0.175) !important;
330    padding: 20px 0;
331    z-index: 5;
332    border-top: 1px solid #eee;
333}
334
335
336#product-nav {
337    position: absolute;
338    width: 100vw !important; /* Spans 100% of the browser window width */
339    left: 0 !important;
340    right: 0 !important;
341    top: 15%; /* Sits exactly at the bottom of the navbar */
342    background-color: #fff;
343    box-shadow: 0 1rem 3rem rgba(0,0,0,0.175) !important;
344    padding: 12px 0;
345    z-index: 5;
346    border-top: 1px solid #eee;
347}
348
349/* Sidebar styling to match the screenshot */
350.product-sidebar-item {
351    padding: 12px 20px;
352    border-bottom: 1px solid #f8f9fa;
353    transition: 0.3s;
354    display: block;
355    text-decoration: none;
356    color: #333;
357}
358
359.product-sidebar-item.active {
360    color: #dc3545 !important; /* Red highlight */
361    font-weight: bold;
362    background-color: #f8f9fa;
363}
364
365.product-sidebar-item:hover {
366    background-color: #f8f9fa;
367    color: #dc3545;
368}
369
370 .btn-orange{
371        background-color: #fd680dd4 !important;
372    }
373
374    
375@media (max-width: 991px) {
376    #product-nav-new {
377        position: static !important; /* Move it into the normal flow */
378        width: 100% !important;
379        box-shadow: none !important;
380        border-top: 1px solid #eee;
381        padding: 90px 0;
382    }
383
384    #product-nav-new .col-md-4 {
385        border-end: none !important; /* Remove borders on mobile */
386        margin-bottom: 20px;
387        padding-left: 5px !important;
388        padding-right: 5px !important;
389    }
390    
391    #product-nav-new .d-flex {
392        flex-direction: column; /* Stack image and text on very small screens */
393        align-items: flex-start;
394    }
395
396    #product-nav-new img {
397        margin-bottom: 10px;
398        width: 160px !important; /* Smaller images for mobile */
399        height: auto !important;
400    }
401     #product-nav-new p {
402        margin-left: 0px !important;
403    }
404    .classroomImg{
405        width:150px !important;
406    }
407}
408
409 @media (max-width: 612px) {
410        .gatesense, .campuses {
411            width:50%;
412        } 
413    }
414
415
416</style>
417<nav class="navbar navbar-expand-lg">
418    <div class=" navHeader px-3 ms-3 mb-2">
419        <a class="navbar-brand" href="https://attendify.ai/">
420            <svg version="1.1" viewBox="0 0 2048 606" width="160" height="auto" xmlns="http://www.w3.org/2000/svg">
421                <path transform="translate(232,65)" d="m0 0 79 1 9 19 14 31 16 36 9 19 2 6-11 5-20 8-32 16-3-1-24-56v-2h-2l-1 5-15 35-23 54-13 30-2 5 13-10 14-11 20-14 19-12 26-15 27-13 19-8 21-8 36-10 34-7 24-3 18-1h37l25 2 23 4v1h-21l-27 1-24 3-32 7-30 10-19 8-19 9-22 12-17 11-18 12-11 8-13 10-11 9-13 11-15 14-7 7-8 7-17 17-7 8-16 17-12 14-8 10-10 12-21 28-10 14-14 20-14 22-16 26h-83l5-12 16-36 16-35 14-31 26-58 16-35 27-60 19-42 27-60 15-33 13-29z" fill="#EA860D"/>
422                <path transform="translate(528,197)" d="m0 0 2 1-5 2-17 4-24 9-24 12-18 12-13 10-11 9-15 15 2 6 21 42 18 40 15 33 27 60 16 35 4 9-1 3h-81l-3-3-17-39-15-35-26-60-13-35-2-3-9 10-11 14-9 11-12 17-8 11-13 20-16 27-9 16-12 22-13 26-1 1h-74l-2-1 2-6 8-15 12-20 12-19 13-19 9-12 14-19 
42211-13 11-14 7-7 9-11 36-36 11-9 15-13 9-7 13-10 18-12 20-12 23-12 16-8 31-12 24-7 31-6z" fill="#A5282E"/>
423                <path transform="translate(1148,253)" d="m0 0h23l11 1 7 4 7 9 13 23 28 50 26 46 14 25 6 10 1 1 1-163 4-5 10-1h12l10 2 2 3 1 7v181l-2 12-5 9-8 5-6 1h-27l-8-2-5-3v-2l-3-1-9-14-15-27-13-23-14-24-14-26-10-17-15-27-2-3-1 163-4 5-2 1h-28l-5-5v-192l3-12 6-7 6-3z" fill="#434142"/>
424                <path transform="translate(1373,254)" d="m0 0h111l15 3 11 5 11 8 7 8 7 14 5 19 2 19v69l-3 22-5 16-7 12-9 10-11 7-15 5-16 2h-99l-9-3-7-5-5-10v-183l3-7 6-7zm23 39-1 7v133h83l10-3 5-3 6-10 3-13v-80l-3-15-6-9-8-5-8-2z" fill="#454344"/>
425                <path transform="translate(1014,342)" d="m0 0h74l4 2 2 4v29l-3 4-5 1h-118v22l3 10 2 5 4 2 12 3 101 1 5 4 1 29-1 11h-2v2l-2 1h-112l-13-3-12-5-9-7-7-10-5-12-3-11-2-16v-48l4-8 8-7 4-2z" fill="#444243"/>
426                <path transform="translate(1849,254)" d="m0 0h37l4 4 11 20 12 22 13 24 12 22 9 16v2h2l2-5 12-23 10-18 12-22 10-18 11-20 4-4h36l2 2v7l-13 24-15 26-13 23-14 25-14 24-11 20-1 63-3 4-6 1h-24l-5-3-2-9v-56l-13-23-10-18-13-23-10-18-9-16-12-21-12-22-1-7z" fill="#A5282E"/>
427                <path transform="translate(707,254)" d="m0 0h183l4 3 1 5v27l-5 4h-71v174l-2 4-10 2h-21l-5-3-2-5v-172h-70l-5-3-1-4v-26l3-5z" fill="#434142"/>
428                <path transform="translate(483,254)" d="m0 0h184l3 3 1 4v24l-2 7-4 1h-70v174l-5 5-8 1h-15l-8-1-3-3-1-5v-171h-70l-4-2-2-5v-26l3-5z" fill="#434142"/>
429                <path transform="translate(1664,343)" d="m0 0h144l4 4 1 7v20l-3 7-1 1h-123v85l-3 5-2 1h-29l-5-5-1-2v-72l1-36 6-9 8-5z" fill="#A5272D"/>
430                <path transform="translate(1578,254)" d="m0 0h32l3 3 1 3v207l-3 5-2 1h-29l-5-5-1-3v-204l2-5z" fill="#A5272D"/>
431                <path transform="translate(932,253)" d="m0 0h158l5 5 1 23-1 8-3 3-5 1h-133l-22-1-4-4v-30z" fill="#444243"/>
432                <path transform="translate(1650,254)" d="m0 0h160l3 3 1 3v28l-1 3-4 2h-157l-5-4-1-3v-26l3-5z" fill="#A5272D"/>
433                <path transform="translate(379,97)" d="m0 0h45l3 4v41l-2 4-2 1h-43l-3-3-1-3v-40z" fill="#A62B31"/>
434                <path transform="translate(403,36)" d="m0 0h32l1 2v30l-1 2h-32l-2-6v-22z" fill="#EA8811"/>
435                <path transform="translate(452,87)" d="m0 0h30l2 2v31l-1 1h-32l-2-4v-22l2-7z" fill="#EA8810"/>
436                <path transform="translate(44,549)" d="m0 0h23l3 5v6 4l-1 9-2 2h-23l-1-25zm5 5v6h14l1-5-1-1zm0 11v5h15v-5z" fill="#474546"/>
437                <path transform="translate(461,549)" d="m0 0h22l3 2 1 3v8l-4 3-5 1 4 3 5 1v5h-8l-9-9-4-1v10h-5zm6 5-1 5 1 1h14l1-5-3-1z" fill="#A72F35"/>
438                <path transform="translate(313,549)" d="m0 0h22v6h-21l1 4 18 1 2 2v11l-3 2h-23v-5h21v-5h-17l-3-2-1-3v-7z" fill="#A83238"/>
439                <path transform="translate(389,549)" d="m0 0h22v5l-20 1-1 5h21v5h-21v5h21v5h-23l-3-3v-19z" fill="#A62B31"/>
440                <path transform="translate(161,549)" d="m0 0h22l1 5h-21v6h21l-1 5h-20v5h21v5h-24l-2-2v-22z" fill="#EB9124"/>
441                <path transform="translate(502,549)" d="m0 0h19l4 3av23h-5v-10h-16v10h-5v-23zm3 5-1 1v5h16v-5l-5-1z" fill="#A72F35"/>
442                <path transform="translate(82,549)" d="m0 0h5v11h15v-10l1-1h5v23l-2 3h-24v-5l20-1 1-4h-18l-3-3z" fill="#4D4B4D"/>
443                <path transform="translate(234,549)" d="m0 0 5 1v10h15v-11h5v26h-5v-10h-15v10h-5l-1-1v-24z" fill="#EB8E1E"/>
444                <path transform="translate(272,549)" d="m0 0 5 1v10l5-3 7-7 2-1h6l1 5-8 3-4 4 2 4 4 4 6 2-1 4h-7l-10-9-3-1v10h-5l-1-25z" fill="#A42D33"/>
445                <path transform="translate(348,549)" d="m0 0 5 1v9l15 1v-11h5l1 1v12l-1 13h-5v-10h-16v10h-5v-25z" fill="#A63238"/>
446                <path transform="translate(199,549)" d="m0 0h22v5l-20 1-1 15h21v5h-24l-2-6v-16z" fill="#EA8F22"/>
447                <path transform="translate(463,53)" d="m0 0h16l1 1v16h-17z" fill="#A5272D"/>
448                <path transform="translate(423,549)" d="m0 0h26v5h-10v21h-5v-20l-11-1z" fill="#AB3A40"/>
449                <path transform="translate(120,549)" d="m0 0h25v5h-10v21h-5v-21h-11z" fill="#EB9226"/>
450            </svg>
451                        <!-- <img src="images/Attendify_newlogo.png" style="width:100%;height:50px;filter:drop-shadow(10px 8px 6px #fffefec4);" alt="new blog images"  > -->
452                    </a>
453                    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
454                        <span class="navbar-toggler-icon"></span>
455                    </button>
456                </div>
457                <div class="container d-flex justify-content-end" style="margin-right:15px;">
458                    <div class="row">
459                      
460                        <div class="col-12 py-3">
461                            <div class="collapse navbar-collapse" id="navbarNav">
462                                <ul class="navbar-nav ">
463                                <!-- <li class="nav-item px-1 dropdown">
464                                    <a class="nav-link py-4" href="workforce.php">Workforce</a>
465                                </li> -->
466                                <!-- <li class="nav-item px-1 dropdown" onmouseenter="showMenu('product-nav-new')" 
467                                onmouseleave="hideMenu('product-nav-new')">
468                                    <a class="nav-link py-2" onclick="toggleProductNav(event)" href="#">AI Attendance <i class="bi bi-chevron-down" ></i></a>
469                                </li> -->
470                                <li class="nav-item px-1 dropdown">
471                                    <a class="nav-link py-2" 
472                                    href="javascript:void(0)" 
473                                    onclick="toggleProductNav(event)">
474                                    AI Attendance <i class="bi bi-chevron-down"></i>
475                                    </a>
476                                </li>
477
478                                
479                                 <li class="nav-item px-1 dropdown">
480                                    <a class="nav-link" href="aisecurity.php">AI Security</a>
481                                </li>
482                                    <li class="nav-item px-1 dropdown">
483                                        <a class="nav-link py-2" href="blog.php">Blogs</a>
484                                       </li>
485                                    <li class="nav-item px-1">
486                                      <a class="nav-link py-2" href="index.php#contact-form">Contact</a>
487                                    </li>
488                                    <li class="nav-item">
489                                        <button class="btn btn-orange nav-link  mt-0 py-2 mx-0 ">
490                                        <a  href="https://hrms.attendify.ai/index.php/register/" target="_blank" style="color:#fff">Get started</a>
491                                        </button>
492                                    </li>
493                                    <li class="nav-item">
494                                        <button class="btn btn-orange nav-link  mt-0 py-2 mx-3 ">
495                                        <a  href="https://hrms.attendify.ai/" target="_blank" style="color:#fff">Login</a>
496                                        </button>
497                                    </li>
498                                </ul>
499                            </div>
500                        </div>
501                    </div>
502                </div>
503            </nav> 
504
505        <div id="successAlert" class="alert alert-success d-none" style="position: fixed; top: 20px; right: 20px; z-index: 9999;"></div>
506        <div id="errorAlert" class="alert alert-danger d-none" role="alert"></div>
507
508         
509            <div id="product-nav-new" style="display: none;" onmouseenter="showMenu('product-nav-new')" onmouseleave="hideMenu('product-nav-new')">
510                <div class="container-fluid px-5">
511                    <div class="row py-4">
512                        <div class="col-md-4 px-4 border-end">
513                            <a href="hrms.php" class="text-dark">
514                            <div class="text-start">
515                                <h5 class="">HRMS Attendance</h5>
516                                <div class="d-flex">
517                                    <img src="images/Attendify_HRMS.webp" style="width: 120px; height: 115px; object-fit: contain;" class="mb-0 ">
518                                    <p class="ms-3 mb-0 text-muted fs-6 " style="text-align: justify;">
519                                        Enterprise-grade facial recognition enables seamless employee attendance with walkthrough entry, offline edge processing, and secure data control.
520                                        <span class="text-danger text-decoration-none fs-6">Know more →</span>
521                                    </p>
522                                </div>
523                            </div>
524                            </a>
525                        </div>
526
527                        <div class="col-md-4 px-4">
528                            <a href="classroom.php" class="text-dark">
529                            <div class="text-start">
530                                <h5 class="">Classroom Attendance</h5>
531                                <div class="d-flex">
532                                    <img src="images/classroom.jpeg" style="width: 120px; height: 110px; object-fit: cover;" class="mt-1">
533                                    <p class="mx-3 mb-0 text-muted fs-6 " style="text-align: justify;">
534                                        Advanced AI-based facial verification automates student attendance during live sessions, delivering accurate records and real-time monitoring.<br/>
535                                        <span class="text-danger text-decoration-none fs-6">Know more →</span>
536                                    </p>
537                                </div>
538                            </div>
539                            </a>
540                        </div>
541
542                        <div class="col-md-4 px-4 border-end">
543                            <a href="fusion.php" class="text-dark">
544                            <div class="text-start">
545                                <h5 class="">Exam Attendance</h5>
546                                <div class="d-flex ">     
547                                    <img src="images/Attendify_Fusion.webp" style="width: 120px; height: 120px; object-fit: contain;" class="mb-0" >
548                                    <p class="ms-3 mb-0 text-muted fs-6 " style="text-align: justify;">
549                                       Advanced AI-powered face verification ensures accurate candidate identification, prevents impersonation, and maintains tamper-proof records.<br/>
550                                        <span class="text-danger text-decoration-none fs-6 ">Know more →</span>
551                                    </p>
552                                </div>
553                            </div>
554                            </a>
555                        </div>
556
557                    </div>
558                </div>
559            </div>
560
561            <div id="product-nav" style="display: none;" onmouseenter="showMenu('product-nav')" onmouseleave="hideMenu('product-nav')">
562                <div class="container-fluid px-5">
563                    <div class="row py-4">
564
565                    <div class="col-md-6 px-4 border-end">
566                            <a href="campuses.php" class="text-dark">
567                            <div class="text-start d-flex">
568                                <img src="images/campses.jpeg" style="width: 275px; height: 190px; object-fit: contain;" class="">
569                                <div class="mt-3">     
570                                    <h5 class="ms-3">Campus Security</h5>
571                                    <p class="ms-3 text-muted fs-6 " style="text-align: justify; ">
572                                        Safe Campuses. Smarter Attendance.
573                                        Automated student and staff attendance, visitor tracking, and real-time risk
574                                        alerts designed specifically for large educational environments.
575                                        <span class="text-danger text-decoration-none fs-6">Know more →</span>
576                                    </p>
577                                </div>
578                            </div>
579                            </a>
580                        </div>
581                        <div class="col-md-6 px-4 ">
582                            <a href="gatesense.php" class="text-dark">
583                            <div class="text-start d-flex">
584                                <img src="images/GateSense.jpg" style="width: 275px; height: 190px; object-fit: contain;" class=" ">
585                                <div class="mt-3">
586                                    <h5 class="ms-3">GateSense Security</h5>
587                                    <p class="ms-3 text-muted fs-6" style="text-align: justify;">
588                                         AI-powered entry control and visitor management for apartments, hostels, and PGs with automated staff tracking and real-time access monitoring ensuring secure and smart residential operations.
589                                        <span class="text-danger text-decoration-none fs-6">Know more →</span>
590                                    </p>
591                                </div>
592                            </div>
593                            </a>
594                        </div>
595
596                        
597                    </div>
598                </div>
599            </div>
600
601<script defer>
602
603    let navTimeout;
604
605function showMenu(menuId) {
606    clearTimeout(navTimeout);
607    // Hide all other menus first
608    document.getElementById("product-nav-new").style.display = "none";
609    document.getElementById("product-nav").style.display = "none";
610    // Show the targeted one
611    document.getElementById(menuId).style.display = "block";
612}
613
614function hideMenu(menuId) {
615    navTimeout = setTimeout(() => {
616        document.getElementById(menuId).style.display = "none";
617    }, 200); // fs-6 delay so user can move mouse into the menu
618}
619
620    // Toggle the main menu
621
622function toggleProductNav(event) {
623    if (event) {
624        event.preventDefault();
625        event.stopPropagation(); // Prevents click from bubbling up
626    }
627    
628    var nav = document.getElementById("product-nav-new");
629    
630    // Toggle the 'show' class instead of manual display styles
631    nav.classList.toggle("active-menu");
632    
633    // Fallback for manual display if not using classes
634    if (nav.classList.contains("active-menu")) {
635        nav.style.display = "block";
636    } else {
637        nav.style.display = "none";
638    }
639}
640
641
642function toggleProductNavbar(event) {
643    if (event) event.preventDefault();
644    var nav = document.getElementById("product-nav");
645    nav.style.display = (nav.style.display === "none" || nav.style.display === "") ? "block" : "none";
646}
647
648</script>
648       
649        <style>
650            .navbar-expand-lg .navbar-nav .nav-link {
651            border-radius: 5px !important;
652            /* margin: 10px; */
653            padding: 10px;
654            color: black !important;
655        }
656       
657        #schedule-meeting-btn{
658            margin-top: 15px !important;
659            color: #fff !important;
660        }
661        </style>
662        
662<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
662
663        <style>
664            /* Modal styling */
665            /* .modal {
666            display: none;
667            position: fixed;
668            z-index: 1;
669            left: 0;
670            top: 0;
671            width: 100%;
672            height: 100%;
673            overflow: auto;
674            background-color: rgba(0,0,0,0.5);
675        } */
676            .modal {
677                display: none;
678                position: fixed;
679                z-index: 1000;
680                left: 50% !important;
681                top: 50% !important;
682                transform: translate(-50%, -50%);
683                background-color: rgba(0, 0, 0, 0.5);
684                width: 100%;
685                max-width: 100%;
686                height: auto;
687                /* background-color: white;  */
688                padding: 20px;
689                /* border-radius: 8px; */
690                /* box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); */
691            }
692
693            body.modal-open {
694                overflow: hidden;
695            }
696
697            .modal-content {
698                background-color: white;
699                /* margin: 15% auto; */
700                padding: 20px;
701                border: 1px solid #888;
702                width: 80%;
703                max-width: 600px;
704            }
705
706
707            .close {
708                color: #aaa;
709                float: right;
710                font-size: 28px;
711                font-weight: bold;
712            }
713
714            .close:hover,
715            .close:focus {
716                color: black;
717                text-decoration: none;
718                cursor: pointer;
719            }
720
721            /* Modal input styling */
722           .modal input,
723        .modal textarea {
724            width: 100%;
725            padding: 6px;
726            margin: 4px 0;
727            border: 1px solid #ccc;
728            border-radius: 5px;
729        }
730
731            /* Button styling */
732            /* #schedule-meeting-btn {
733            display: block;
734            margin: 50px auto;
735            padding: 15px 30px;
736            font-size: 18px;
737            background-color: #007BFF;
738            color: white;
739            border: none;
740            cursor: pointer;
741        } */
742
743            #schedule-meeting-btn:hover {
744                /* background-color: #0056b3; */
745            }
746
747            label {
748                color: black;
749            }
750
751            .listType {
752                list-style-type: circle;
753                font-size: large
754            }
755    @media screen and (max-width: 768px) {
756        .corpo {
757            display: flex !important;
758            flex-direction: column-reverse !important;
759        }
760    }
761
762
763    .ideal-box {
764        background: #ffffff;
765        padding: 30px 20px;
766        border-radius: 15px;
767        transition: all 0.4s ease;
768        border-bottom: 4px solid transparent;
769        height: 100%;
770        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
771    }
772
773    .ideal-icon {
774        font-size: 2rem;
775        color: #4350c9; /* Jeevarakshak Green */
776        margin-bottom: 15px;
777        transition: transform 0.3s ease;
778    }
779
780    .ideal-box h6 {
781        font-size: 0.95rem;
782        font-weight: 700;
783        color: #333;
784        margin-bottom: 0;
785    }
786
787    /* Hover Effects */
788    .ideal-box:hover {
789        transform: translateY(-10px);
790        border-bottom: 4px solid #4350c9;
791        box-shadow: 0 15px 30px rgba(16, 185, 129, 0.15);
792    }
793
794    .ideal-box:hover .ideal-icon {
795        transform: scale(1.2);
796    }
797
798    .ls-1 { letter-spacing: 1.5px; }
799
800    /* Modern Primary Button */
801    .btn-modern-primary {
802        background: #fd680de3;
803        color: white;
804        padding: 14px 35px;
805        border-radius: 50px;
806        text-decoration: none;
807        font-weight: 500;
808        box-shadow: 0 10px 20px rgba(13, 110, 253, 0.15);
809        transition: all 0.3s ease;
810        border: none;
811    }
812
813    .btn-modern-primary:hover {
814        background: #0b5ed7;
815        transform: translateY(-3px);
816        box-shadow: 0 15px 30px rgba(13, 110, 253, 0.25);
817        color: white;
818    }
819
820    /* Soft Badge Items */
821    .badge-item {
822        background: #fff;
823        border: 1px solid #eef2f7;
824        padding: 8px 16px;
825        border-radius: 8px;
826        font-size: 0.9rem;
827        color: #5d6d7e;
828        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
829    }
830
831    /* Tech Grid Background */
832    .tech-grid-bg {
833        position: absolute;
834        top: 0; left: 0; width: 100%; height: 100%;
835        background-image: radial-gradient(rgba(13, 110, 253, 0.05) 1px, transparent 1px);
836        background-size: 40px 40px;
837        z-index: 0;
838    }
839
840   
841    @keyframes scrollWheel {
842        0% { opacity: 1; top: 8px; }
843        100% { opacity: 0; top: 25px; }
844    }
845
846    .hero-section {
847        position: relative;
848        overflow: hidden;
849        padding-top: 0px;
850        padding-bottom: 16px;
851        height: 90vh;
852        border-radius: 1% 1% 88% 88%;
853        /* background: linear-gradient(135deg, #a8b6d8 0%, #dabbbb 100%); */
854        background: linear-gradient(135deg, #ffffff 0%, #d9e4f5 100%);
855    }
856        </style>
857
858<div id="successAlert" class="alert alert-success d-none" style="position: fixed; top: 20px; right: 20px; z-index: 9999;"></div>        
859<div id="errorAlert" class="alert alert-danger d-none" role="alert"></div>
860
861
862
863                <section class="hero-section  position-relative overflow-hidden">
864
865                    <div class="tech-grid-bg"></div>
866
867                    <div class="container py-lg-5">
868                        <div class="row align-items-center">
869                            <div class="col-lg-9 col-12 mx-auto text-center mainHome py-4 mt-5 animate-on-scroll">
870                                
871                                <h1 class=" fw-light mb-3" style="color: #2c3e50; line-height: 1.2;">
872                                    <!-- AI-Powered <span class=" " style="color:#3778c8">Attendance & Visitor</span> Management -->
873                                     All-in-One AI Workplace Platform
874                                </h1>
875                                <p >One intelligent solution for complete workplace management.</p>
876
877                                <p class=" mb-4 text-dark" >
878                                    AI-powered walk-through facial recognition for employee attendance, powerful HRMS and payroll management, GPS-enabled mobile selfie attendance for remote teams, and secure visitor management everything your workplace needs in one smart platform.
879                                </p>
880
881                                <div class="d-flex flex-wrap justify-content-center gap-3 mb-5">
882                                    <div class="badge-item"><i class="fas fa-check-circle me-2 text-success"></i>Every entry is verified</div>
883                                    <div class="badge-item"><i class="fas fa-check-circle me-2 text-success"></i>Every presence recorded</div>
884                                    <div class="badge-item"><i class="fas fa-check-circle me-2 text-success"></i>Zero Cloud Dependency</div>
885                                </div>
886
887                                <div class="d-flex justify-content-center">
888                                    <button id="schedule-meeting-btn" class="btn-modern-primary">
889                                        Book a Demo <i class="fas fa-arrow-right ms-2"></i>
890                                    </button>
891                                </div>
892                            </div>
893                        </div>
894                    </div>
895                </section>
896
897        <div class="container mt-3 pt-5">
898
899                <!-- Video Section -->
900        <section class="py-5 bg-light">
901            <div class="container">
902                <div class="text-center mb-4">
903                    <h2 class="fw-normal"> See <span class="text-primary">Attendify.ai</span> in Action </h2>
904                    <p class="text-muted"> Watch how AI-powered walk-through attendance works in real time. </p>
905                </div>
906
907                <div class="row justify-content-center">
908                    <div class="col-lg-10">
909                        <div class="ratio ratio-16x9 shadow rounded overflow-hidden">
910                            <video autoplay muted loop playsinline controls preload="metadata" poster="images/video-thumbnail.jpg">
911                                <source src="https://attendify.ai/videos/AttendifyFinalVideoDraft.mp4" type="video/mp4">
912                                Your browser does not support the video tag.
913                            </video>
914                        </div>
915
916                        <div class="text-center mt-3">
917                            <a href="https://youtu.be/ASQB7SEQe_Q?si=b2_HpnbabUoI7UFU"  target="_blank"  class="btn btn-danger">
918                                <i class="bi bi-youtube"></i> Watch on YouTube
919                            </a>
920                        </div>
921                    </div>
922                </div>
923            </div>
924        </section>
925
926        <section class="site-headerr  d-flex flex-column justify-content-left my-3" >
927            <div class="container "  >
928                <h2 class=" mb-4 animate-on-scroll text-center">AI-Powered <span class="text-primary">Walk-Through</span> Attendance</h2>
929                <div class="row"> 
930                     <div class="col-lg-6 col-12">
931                        <img src="images/secrure-workforce.jpeg" fetchpriority="high"
932                            style=" width: 100%; height:100%; border-radius:16px;" alt="Real-time attendance monitoring"
933                            class="img-fluid align-items-start animate-left-to-right">
934                    </div>
935                    <div class="col-lg-6 col-12" >
936                        <p class=" mb-3  animate-on-scroll" style="font-size:18px"><a href="https://attendify.ai/" class="text-primary">Attendify.ai</a> uses advanced AI-powered 
937                        facial recognition cameras to automatically record employee attendance in real time. Employees simply walk through the designated entry point while the AI camera 
938                        verifies their identity and automatically logs their attendance with no manual interaction required.</p>
939                        <ul class="listType animate-on-scroll">
940                            <li>100% contactless attendance system.</li>
941                            <li>No fingerprint devices required</li>
942                            <li>No RFID Cards</li>
943                            <li>No manual registers or paperwork</li>
944                            <li>Prevents proxy punching</li>
945                            <li>Only verified employees can mark attendance</li>
946                        </ul>
947                        <p class="animate-on-scroll mb-0" style="font-size:18px">With a centralized dashboard for monitoring and reports.</p>
948                        <p class="mb-3  animate-on-scroll" style="font-size:18px"><a href="https://attendify.ai/" class="text-primary">Attendify.ai</a> makes attendance management faster, smarter, and more efficient for modern workplaces.</p>
949                    </div>
950                   
951                </div>
952            </div>
953        </section>
954
955
956        <style>
957            @keyframes slideInFromLeft {
958                0% {
959                    transform: translateX(-100%);
960                    opacity: 0;
961                }
962
963                100% {
964                    transform: translateX(0);
965                    opacity: 1;
966                }
967            }
968
969            .animate-left-to-right {
970                animation: slideInFromLeft 2s ease-in-out;
971            }
972
973             @keyframes slideInFromRight {
974                0% {
975                    transform: translateX(100%);
976                    opacity: 0;
977                }
978
979                100% {
980                    transform: translateX(0);
981                    opacity: 1;
982                }
983            }
984
985            .animate-right-to-left {
986                animation: slideInFromRight 2s ease-in-out;
987            }
988
989             @keyframes slideInFromLeft {
990                0% {
991                    transform: translateX(-100%);
992                    opacity: 0;
993                }
994
995                100% {
996                    transform: translateX(0);
997                    opacity: 1;
998                }
999            }
1000
1001            .animate-left-to-right {
1002                animation: slideInFromLeft 1s ease-in-out;
1003            }
1004
1005            .button-90 {
1006                animation: slideInFromRight 1s ease-in-out;
1007            }
1008        </style>
1009
1010
1011        <section class="my-5 pt-3" hidden>
1012            <div class="container">
1013                <div class="row align-items-center corpo">
1014                    <div class="col-lg-6 col-12 d-flex justify-content-center">
1015                        <img src="images/meet_attend.webp" loading="lazy"
1016                            style=" width: 98%; height:auto; border-radius:16px;" alt="Biometric attendance with AI"
1017                            class="mobile_gif">
1018                    </div>
1019
1020                    <div class="col-lg-6 col-12">
1021                        <h2 class="" >
1022                            Workforce Time Intelligence
1023                        </h2>
1024                        <p class="mb-2">Verified entry automatically generates accurate attendance records.
1025                        </p>
1026                        <ul class="listType">
1027                            <li>First-in & last-out tracking</li>
1028                            <li>Late arrival & absentee visibility</li>
1029                            <li>Shift-based access control</li>
1030                            <li>Leave alignment with attendance</li>
1031                            <li>Payroll-ready reports</li>
1032                            <li>HRMS / ERP integration support</li>
1033                        </ul>
1034                        <p>Attendance is no longer manual — it is validated through secure identity authentication.</p>
1035                    </div>
1036                </div>
1037            </div>
1038        </section>
1039
1040
1041        <style>
1042            .size-card {
1043                padding: 20px;
1044                height: 275px;
1045            }
1046
1047
1048            .size-card {
1049                box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
1050            }
1051
1052            .size-card:hover {
1053                transform: translateY(-10px);
1054
1055            }
1056        </style>
1057
1058        <style>
1059            .card {
1060                min-height: 314px;
1061                transition: transform 0.3s, box-shadow 0.3s;
1062            }
1063
1064            .card:hover {
1065                transform: scale(1.05);
1066                box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
1067            }
1068
1069            .card img {
1070                height: 200px;
1071                object-fit: cover;
1072            }
1073
1074            .fade-in {
1075                animation: fadeIn 2s;
1076            }
1077
1078            .card-text {
1079                overflow: hidden;
1080                min-height: 120px;
1081                transition: max-height 0.3s ease-in-out;
1082            }
1083
1084            .card-title {
1085                font-size: 22px;
1086            }
1087
1088            h6 {
1089                font-family: 'Calibri';
1090                font-style: italic;
1091                color: rgba(138, 81, 19, 0.96);
1092            }
1093
1094            .read-more {
1095                cursor: pointer;
1096                color: #007bff;
1097                font-weight: bold;
1098            }
1099
1100            .expanded {
1101                max-height: 500px;
1102            }
1103
1104            .d-none {
1105                display: none;
1106            }
1107
1108            ul li::marker {
1109                color: #b3732a;
1110                font-size: 25px;
1111                font-weight: bold;
1112            }
1113
1114            @media(max-width: 768px) {
1115                .outcome-columns {
1116                    display: flex !important;
1117                    flex-direction: column !important;
1118                }
1119            }
1120
1121
1122             .card-titleround {
1123                font-weight:normal;
1124                font-size: 19px;
1125                padding: 15px;
1126                text-align: center;
1127                color: #3b3a3a;
1128            }
1129
1130            .card-img-top {
1131                height: 150px;
1132            }
1133
1134            .card-industry {
1135                position: relative;
1136                width: 180px;
1137                height: 165px;
1138                background-color: #ffffff;
1139                display: flex;
1140                flex-direction: column;
1141                justify-content: center;
1142                padding: 12px;
1143                gap: 12px;
1144                border: 0px solid #c7c9c9;
1145                border-radius: 8px;
1146                cursor: pointer;
1147                color: white;
1148            }
1149
1150            .card-industry::before {
1151                content: '';
1152                position: absolute;
1153                inset: 0;
1154                left: -10px;
1155                margin: auto;
1156                border-radius: 10px;
1157                background: linear-gradient(359deg, #61d2a6 0%, #cbe4e2 100%);
1158                z-index: -10;
1159                pointer-events: none;
1160                /* transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); */
1161                /* transform: rotate(0deg) scaleX(1) scaleY(1); */
1162                transition: transform 0.3s ease; /* Faster, smoother transition */
1163                transform: rotate(0deg) scale(1); /* Reset state */
1164            }
1165
1166           
1167
1168            .card-industry::after {
1169                content: "";
1170                z-index: -1;
1171                position: relative;
1172                inset: 0;
1173
1174                background: linear-gradient(-45deg, #f8f6f5 0%, #f1f1f1 100%);
1175                transform: translate3d(0, 0, 0) scale(0.95);
1176                filter: blur(20px);
1177            }
1178
1179            .card-industry:hover::after {
1180                filter: blur(30px);
1181            }
1182
1183           
1184            .card-industry::before,
1185            .card-industry::after {
1186                position: absolute;
1187                width: 110%;
1188                height: 110%;
1189                border-radius: 10px;
1190            }
1191             .col-md-3-test {
1192                    flex: 0 0 auto;
1193                    width: 22.666667% !important;
1194                }
1195
1196            .card-industry:hover::before {
1197                transform: rotate(-20deg) scale(1.1);
1198                /* modest scale */
1199            }
1200
1201            
1202
1203            @keyframes shake {
1204                0% { transform: translateX(0); }
1205                25% { transform: translateX(-4px); }
1206                50% { transform: translateX(4px); }
1207                75% { transform: translateX(-4px); }
1208                100% { transform: translateX(0); }
1209            }
1210
1211            @media (max-width: 786px) {
1212                .card-industry {
1213                    /* margin: 0px 50px; */
1214                    width: 225px;
1215                }
1216
1217                .card-problem {
1218                    margin: 0px 30px;
1219                }
1220
1221                .industry-h2 {
1222                    text-align: center;
1223                }
1224                .col-md-2 {
1225                    flex: 0 0 auto;
1226                    width: 17.666667% !important;
1227                }
1228            }
1229
1230        .bg-split-accent {
1231            position: absolute;
1232            top: 114px;
1233            bottom: 0px;
1234            left: 0;
1235            width: 43%;
1236            height: 75%;
1237            background-color: #ddebf9;
1238            z-index: -1;
1239            border-radius: 0 100px;
1240        }
1241
1242    /* Problem Item Styling */
1243    .p-item {
1244        display: flex;
1245        align-items: center;
1246        padding: 8px 15px;
1247        border-bottom: 1px solid #ddebf9;
1248        transition: 0.3s;
1249    }
1250    .p-item:hover { transform: translateX(10px); border-bottom-color: #dc3545; }
1251    
1252    .p-number {
1253        font-weight: 800;
1254        color: #247db8;
1255        font-size: 0.9rem;
1256        margin-right: 20px;
1257        opacity: 0.5;
1258    }
1259    .p-text { font-weight: 500; color: #333; }
1260
1261    /* Statement Box (Dark Card) */
1262    .statement-box {
1263        min-height: 400px;
1264        display: flex;
1265        flex-direction: column;
1266        justify-content: center;
1267        overflow: hidden;
1268    }
1269
1270     .tracking-widest { letter-spacing: 3px; font-size: 0.75rem; }
1271
1272    .quote-icon {
1273        font-size: 3rem;
1274        /* opacity: 0.1; */
1275        position: absolute;
1276        top: 30px;
1277        right: 40px;
1278    }
1279
1280    .tech-grid {
1281        position: absolute;
1282        bottom: -6px;
1283        right: -12px;
1284        width: 150px;
1285        height: 150px;
1286        background-image: radial-gradient(#dc35453b 2px, transparent 2px);
1287        background-size: 20px 20px;
1288    }
1289
1290    .rounded-5 { border-radius: 2.5rem !important; }
1291
1292        .p-item:hover { transform: translateX(10px); border-bottom-color: #35a7dc; }
1293
1294
1295         @keyframes slideInFromRight {
1296            0% {
1297                transform: translateX(100%);
1298                opacity: 0;
1299            }
1300
1301            100% {
1302                transform: translateX(0);
1303                opacity: 1;
1304            }
1305        }
1306
1307        .animate-right-to-left {
1308            animation: slideInFromRight 1s ease-in-out;
1309        }
1310
1311         @media screen and (max-width: 430px) {
1312            .hero-section {
1313                height:100% !important;
1314                padding-top: 55px !important;
1315            }
1316             .col-md-3-test {
1317                flex: 0 0 auto;
1318                width: 50.666667% !important;
1319                padding-left:20%;
1320            }
1321
1322            .col-md-3-test h6{
1323                text-align: center !important;
1324            }
1325
1326        }
1327
1328         
1329        @media screen and (min-width:431px) and (max-width: 768px) {
1330            .hero-section {
1331                height:100% !important;
1332                padding-top: 55px !important
1333            }
1334             .col-md-3-test {
1335                flex: 0 0 auto;
1336                width: 47.666667% !important;
1337            }
1338           
1339        }
1340
1341         @media screen and (min-width: 769px) {
1342            .hero-section {
1343                height:100% !important;
1344            }
1345        }
1346
1347        </style>
1348        </head>
1349
1350        <body>
1351
1352
1353        <section class="py-5 mt-5 overflow-hidden position-relative">
1354            <h2 class=" mb-3 animate-on-scroll">From Attendance to Payroll 
1355                <span class="" style="color:#247db8">One Integrated Platform</span>
1356            </h2>
1357             <div class="bg-split-accent d-none d-lg-block"></div>
1358            <div class="container py-lg-4">
1359                <div class="row align-items-center">
1360                     
1361                    <div class="col-lg-5" data-aos="zoom-in">
1362                        <div class=" p-3 ">
1363                        <div class="">
1364                            <p class=" mb-2  animate-on-scroll" >A complete platform from employee onboarding to payroll processing all in one unified system.</p>
1365                            <div class="problem-items ">
1366                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="100">
1367                                    <span class="p-number">01</span>
1368                                    <span class="p-text">Employee Management & Profile Control</span>
1369                                </div>
1370                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="200">
1371                                    <span class="p-number">02</span>
1372                                    <span class="p-text">Leave Management & Approval Workflow</span>
1373                                </div>
1374                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="300">
1375                                    <span class="p-number">03</span>
1376                                    <span class="p-text">Shift Management & Scheduling</span>
1377                                </div>
1378                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="400">
1379                                    <span class="p-number">04</span>
1380                                    <span class="p-text">Payroll Integration & Salary Automation</span>
1381                                </div>
1382                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="500">
1383                                    <span class="p-number">05</span>
1384                                    <span class="p-text">Mobile Access & Self-Service Portal</span>
1385                                </div>
1386                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="600">
1387                                    <span class="p-number">06</span>
1388                                    <span class="p-text">GPS Attendance & Location Tracking</span>
1389                                </div>
1390                                <div class="p-item animate-on-scroll" data-aos="fade-left" data-aos-delay="700">
1391                                    <span class="p-number">07</span>
1392                                    <span class="p-text">Real-Time Notifications & Alerts</span>
1393                                </div>
1394                            </div>
1395                        </div>
1396                        </div>
1397                    </div>
1398                    <div class="col-lg-7 mb-5 mb-lg-0 px-3" data-aos="fade-up">
1399                        <img src="images/attendify_image.png" alt="Workforce Attendance" loading="lazy" class="animate-right-to-left"/>
1400                        
1401                    </div>
1402
1403                   
1404                </div>
1405            </div>
1406        </section>
1407
1408
1409          <section class="py-5 mt-5 border-top border-bottom bg-light" >
1410    <div class="container">
1411        <h2 class="text-center fw-light mb-3">Visitor Management <span class="text-secondary"></span></h2>
1412        <p class="text-center " >AI-Powered Visitor Identification: Recognize. Approve. Welcome.</p>
1413        <p class="text-center mb-4">Every external visitor or unknown individual is treated under structured Visitor Management</p>
1414        <div class="row g-0">
1415            <div class="col-md-4 px-3 py-0 border-end animate-on-scroll" >
1416                <h6 class=" mb-4 text-primary">When a Visitor Arrives</h6>
1417                <div class="feature-item animate-on-scroll d-flex">
1418                    <span class="d-block  text-primary fw-bold mt-1 me-3">01</span>
1419                    <p class="">Visitor identity is captured instantly through AI facial recognition</p>
1420                </div>
1421                <div class="feature-item animate-on-scroll d-flex">
1422                    <span class="d-block  text-primary fw-bold mt-1 me-3">02</span>
1423                    <p class="">Host approval is requested digitally</p>
1424                </div>
1425                <div class="feature-item animate-on-scroll d-flex">
1426                    <span class="d-block  text-primary fw-bold mt-1 me-3">03</span>
1427                    <p class="">Access is granted or denied based on approval</p>
1428                </div>
1429                 <div class="feature-item animate-on-scroll d-flex">
1430                    <span class="d-block  text-primary fw-bold mt-1 me-3">04</span>
1431                    <p class="">Entry is time-stamped and securely recorded</p>
1432                </div>
1433                
1434            </div>
1435            
1436            <div class="col-md-4 px-3 border-end py-0 animate-on-scroll">
1437                <h6 class=" mb-4 text-success ">Pre-Approved (Whitelisted) Visitors</h6>
1438                
1439                <div class="feature-item animate-on-scroll d-flex">
1440                    <span class="d-block text-success fw-bold mt-1 me-3">01</span>
1441                    <p class="">System recognizes the pre-approved visitor</p>
1442                </div>
1443                <div class="feature-item animate-on-scroll d-flex">
1444                    <span class="d-block text-success fw-bold mt-1 me-3">02</span>
1445                    <p class="">Access period is validated automatically</p>
1446                </div>
1447                <div class="feature-item animate-on-scroll d-flex">
1448                    <span class="d-block text-success fw-bold mt-1 me-3">03</span>
1449                    <p class="">Entry is allowed during the approved duration</p>
1450                </div>
1451                 <div class="feature-item animate-on-scroll d-flex">
1452                    <span class="d-block text-success fw-bold mt-1 me-3">04</span>
1453                    <p class="">Visit details are securely logged</p>
1454                </div>
1455                <p class="fs-6">For vendors, maintenance teams, or project staff requiring access for multiple days.</p>
1456              
1457            </div>
1458            <div class="col-md-4 px-3 py-0 animate-on-scroll">
1459                <h6 class=" mb-4 text-danger ">Restricted or Blacklisted Individuals</h6>
1460                
1461                <div class="feature-item animate-on-scroll d-flex">
1462                    <span class="d-block text-danger fw-bold mt-1 me-3">01</span>
1463                    <p class="">System detects the individual immediately</p>
1464                </div>
1465                <div class="feature-item animate-on-scroll d-flex">
1466                    <span class="d-block text-danger fw-bold mt-1 me-3">02</span>
1467                    <p class="">Security teams receive instant alerts</p>
1468                </div>
1469                <div class="feature-item animate-on-scroll d-flex">
1470                    <span class="d-block text-danger fw-bold mt-1 me-3">03</span>
1471                    <p class="">Security personnel stop the individual immediately</p>
1472                </div>
1473                 <div class="feature-item animate-on-scroll d-flex">
1474                    <span class="d-block text-danger fw-bold mt-1 me-3">04</span>
1475                    <p class="">Incident is recorded for security monitoring</p>
1476                </div>
1477                <p class="fs-6">Ensures unauthorized individuals cannot access the premises.</p>
1478              
1479            </div>
1480        </div>
1481    </div>
1482</section>
1483
1484            <div class="container mt-5 pt-4" hidden>
1485                <section>
1486                    <h2 class="mb-3">Integrated Visitor Management </h2>
1487                    <p class=" mb-4">Attendify HR strengthens perimeter control by ensuring every external entry is verified and authorized.</p>
1488                    <div class="row mb-4">
1489                        <div class="col-md-4 mb-4">
1490                            <div class="card">
1491                                <img src="images/ai_facial.png" loading="lazy" class="card-img-top "
1492                                    alt="Proxy attendance prevention AI">
1493                                <div class="card-body">
1494                                    <h6 class="card-title text-center">Facial identity is captured automatically</h6>
1495                                   
1496                                </div>
1497                            </div>
1498                        </div>
1499
1500                        <div class="col-md-4 mb-4">
1501                            <div class="card">
1502                                <img src="images/instant.png" loading="lazy" class="card-img-top "
1503                                    alt="Secure AI attendance platform">
1504                                <div class="card-body">
1505                                    <h6 class="card-title text-center">Status is classified (guest, contractor, VIP, restricted)</h6>
1506                                    
1507                                </div>
1508                            </div>
1509                        </div>
1510                        <div class="col-md-4 mb-4">
1511                            <div class="card">
1512                                <img src="images/Quick.png" loading="lazy" class="card-img-top "
1513                                    alt="Contactless check-in system">
1514                                <div class="card-body">
1515                                    <h6 class="card-title text-center">Digital approval is sent to the concerned authority</h6>
1516                                  
1517                                </div>
1518                            </div>
1519                        </div>
1520
1521                        <div class="col-md-4 mb-4">
1522                            <div class="card">
1523                                <img src="images/Anytime-Access.png" loading="lazy" class="card-img-top"
1524                                    alt="Real-time attendance monitoring">
1525                                <div class="card-body">
1526                                    <h6 class="card-title text-center">Access is granted or declined electronically </h6>
1527                                   
1528                                </div>
1529                            </div>
1530                        </div>
1531
1532                    
1533                        <div class="col-md-4 mb-4">
1534                            <div class="card">
1535                                <img src="images/center_cloud.png" loading="lazy" class="card-img-top"
1536                                    alt="Real-time attendance monitoring">
1537                                <div class="card-body">
1538                                    <h6 class="card-title text-center">Visit logs are securely recorded </h6>
1539
1540                                </div>
1541                            </div>
1542                        </div>
1543                        <p class="mb-3">Returning visitors are recognized instantly, reducing repeated registration effort.</p>
1544
1545                    </div>
1546                </section>
1547
1548                <section class="py-5" hidden>
1549                <div class="container">
1550                    <h2 class=" mb-4">Smart Controls Include:</h2>
1551                    <div class="row">
1552                        <div class="col-lg-8">
1553                            <ul class="list-unstyled">
1554                                <li class="mb-3 d-flex align-items-start">
1555                                    <i class="fas fa-check-circle text-primary mt-1 me-3"></i>
1556                                    <span>Priority entry for pre-approved guests</span>
1557                                </li>
1558                                <li class="mb-3 d-flex align-items-start">
1559                                    <i class="fas fa-check-circle text-primary mt-1 me-3"></i>
1560                                    <span>Temporary whitelisting for contractors</span>
1561                                </li>
1562                                <li class="mb-3 d-flex align-items-start">
1563                                    <i class="fas fa-check-circle text-primary mt-1 me-3"></i>
1564                                    <span>Automatic blacklist detection with instant alerts</span>
1565                                </li>
1566                                <li class="mb-3 d-flex align-items-start">
1567                                    <i class="fas fa-check-circle text-primary mt-1 me-3"></i>
1568                                    <span>Complete audit trail for compliance</span>
1569                                </li>
1570                            </ul>
1571                            <p>Every visit is structured, authorized, and traceable</p>
1572                        </div>
1573                    </div>
1574                </div>
1575            </section> 
1576
1577
1578            </div>
1579
1580            <div class="container mt-5 pt-5" >
1581        <section>
1582            <h2 class="mb-4 industry-h2 animate-on-scroll">Real-Time <span class="text-success">Monitoring & Compliance</span></h2><br>
1583            <div class="row gap-3 card-medias" >
1584                <div class="col-md-3-test mb-5">
1585                    <div class="card-industry animate-on-scroll">
1586                       
1587                        <div class=" ">
1588                            <h5 class="card-titleround">Live dashboard visibility </h5>
1589                        </div>
1590                    </div>
1591                </div>
1592                <div class="col-md-3-test mb-5 ">
1593                    <div class="card-industry animate-on-scroll">
1594                      
1595                        <div class="">
1596                             <h5 class="card-titleround">Multi-branch centralized control </h5>
1597                        </div>
1598                    </div>
1599                </div>
1600                <div class="col-md-3-test mb-5 ">
1601                    <div class="card-industry animate-on-scroll">
1602                      
1603                        <div class="">
1604                            <h5 class="card-titleround">Complete access audit trail </h5>
1605                        </div>
1606                    </div>
1607                </div>
1608                <div class="col-md-3-test mb-5 ">
1609                    <div class="card-industry animate-on-scroll">
1610                      
1611                        <div class="">
1612                            <h5 class="card-titleround mb-1">Payroll-ready attendance reports</h5>
1613                        </div>
1614                    </div>
1615                </div>
1616                <div class="col-md-3-test mb-5 ">
1617                    <div class="card-industry animate-on-scroll">
1618                      
1619                        <div class="">
1620                            <h5 class="card-titleround">On-premise secure deployment </h5>
1621
1622                        </div>
1623                    </div>
1624                </div>
1625                <div class="col-md-3-test mb-5 ">
1626                    <div class="card-industry animate-on-scroll">
1627                      
1628                        <div class="">
1629                            <h5 class="card-titleround">Encrypted data storage </h5>
1630                        </div>
1631                    </div>
1632                </div>
1633                <div class="col-md-3-test mb-5 ">
1634                    <div class="card-industry animate-on-scroll">
1635                      
1636                        <div class="">
1637                            <h5 class="card-titleround">DPDP Act aligned framework</h5>
1638                        </div>
1639                    </div>
1640                </div>
1641                <div class="col-md-3-test mb-5 ">
1642                    <h6 class="my-4 animate-on-scroll">Your workforce and visitor data remain protected within your infrastru
1642cture.</h6>
1643
1644                </div>
1645
1646            </div>
1647        </section>
1648    </div>
1649
1650      <!-- Cards Hovering  -->
1651        <section class="py-5 bg-light" id="solutions-sectors" hidden>
1652    <div class="container">
1653        <div class="text-center mb-5" data-aos="fade-up">
1654            <h2 class="animate-on-scroll "><span class="text-info">Industries </span> We Serve</h2>
1655        </div>
1656
1657        <div class="row g-4">
1658            <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="100">
1659                <div class="solution-card active-accent">
1660                    <div class="d-flex">
1661                    <p class="card-icon"><i class="fas fa-building"></i></p>
1662                    <h4 class="ms-3 mt-3">Corporate Offices <p class="feature-tags mt-2 mb-0">(IT Parks & IT Campuses)</p></h4>
1663                    </div>
1664                    <p class="benefit-text text-justify">AI-powered walk-through attendance uses group facial recognition to streamline peak-hour entry. </p>
1665                </div>
1666            </div>
1667
1668            <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="300">
1669                <div class="solution-card active-accent">
1670                    <div class="d-flex">
1671                    <!-- <p class="card-icon"><i class="fas fa-industry"></i></p> -->
1672                     <p class="card-icon"><i class="fas fa-laptop-code"></i></p>
1673                    <h4 class="ms-3 mt-3 mb-1">Manufacturing & Industries</h4>
1674                    </div>
1675                    <p class="feature-tags"></p>
1676                    <p class="benefit-text">Accurate shift tracking, zero proxy attendance, and reliable performance during high-footfall operations.</p>
1677                </div>
1678            </div>
1679
1680            <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="200">
1681                <div class="solution-card active-accent">
1682                    <div class="d-flex">
1683                    <p class="card-icon"><i class="fas fa-hospital"></i></p>
1684                    <h4 class="ms-3 mt-3 mb-1">Healthcare & Hospitals</h4>
1685                    </div>
1686                    <p class="feature-tags"></p>
1687                    <p class="benefit-text">Precise shift tracking with secure access control and automated staff attendance for payroll accuracy.</p>
1688                </div>
1689            </div>
1690
1691            <!-- <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="400">
1692                <div class="solution-card">
1693                    <div class="card-icon"><i class="fas fa-hospital-user"></i></div>
1694                    <h4>Hospitals & Healthcare</h4>
1695                    <p class="feature-tags">Ward Access • Visitor Verification</p>
1696                    <p class="benefit-text">Secured sensitive areas with minimal disruption and accurate staff logs.</p>
1697                </div>
1698            </div>
1699
1700            <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="500">
1701                <div class="solution-card">
1702                    <div class="card-icon"><i class="fas fa-university"></i></div>
1703                    <h4>Educational</h4>
1704                    <p class="feature-tags">Student/Faculty Automation • Visitor Tracking</p>
1705                    <p class="benefit-text">Transparent attendance and reduced manual work for a safer campus.</p>
1706                </div>
1707            </div>
1708            
1709            <div class="col-lg-4 col-md-6" data-aos="fade-up" data-aos-delay="600">
1710                <div class="solution-card d-flex align-items-center justify-content-center border-dashed">
1711                    <div class="text-center">
1712                        <p class="mb-2">Need a custom fix?</p>
1713                        <a href="contact.php" class="btn btn-sm btn-outline-dark rounded-pill">Talk to an Expert</a>
1714                    </div>
1715                </div>
1716            </div> -->
1717        </div>
1718    </div>
1719</section>
1720
1721     <div class="mt-5 text-center">
1722        <h3 class="animate-right-to-left text-dark">"Walk In. <span class="text-success">Get Verified.</span> Attendance Recorded."</h3>
1723        <div class="d-flex mt-5 justify-content-center p-4 rounded-4 shadow-sm border">
1724            <h5 class="mt-2">Discover How Attendify Simplifies Attendance with AI Automation  →  </h5>
1725            <button id="brochure-download-btn" class="btn btn-primary px-4 py-2"> Download Brochure</button>
1726        </div>
1727                        
1728    </div>
1729    <style>
1730/* Base Modal Styling */
1731#brochureModalCustom {
1732    display: none; 
1733    position: fixed; 
1734    z-index: 9999; 
1735    left: 0;
1736    top: 0;
1737    width: 100%; 
1738    height: 100%; 
1739    background-color: rgba(0,0,0,0.6); 
1740}
1741
1742#brochureModalCustom .modal-content {
1743    background-color: #fefefe;
1744    margin: 10% auto; 
1745    padding: 25px;
1746    border-radius: 12px;
1747    width: 90%;
1748    max-width: 450px;
1749    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
1750}
1751
1752#brochureModalCustom input, 
1753#brochureModalCustom select {
1754    width: 100%;
1755    padding: 10px;
1756    margin: 5px 0;
1757    display: inline-block;
1758    border: 1px solid #ccc;
1759    border-radius: 5px;
1760    box-sizing: border-box;
1761}
1762</style>
1763   <section class=" text-center py-5" hidden>
1764                <div class="container">
1765                     <h5 class=" fw-bold text-uppercase mb-3 mt-3 animate-on-scroll" style="letter-spacing: 3px;">Ideal For</h5>
1766                    
1767                    <div class="row g-4 justify-content-center">
1768                        <div class="col-lg-2 col-md-4 col-sm-6">
1769                            <div class="ideal-box animate-on-scroll">
1770                                <div class="ideal-icon">
1771                                    <i class="fas fa-building"></i>
1772                                </div>
1773                                <h6 class="fs-5" class="fs-5">Corporate Offices</h6>
1774                            </div>
1775                        </div>
1776
1777                        <div class="col-lg-2 col-md-4 col-sm-6">
1778                            <div class="ideal-box animate-on-scroll">
1779                                <div class="ideal-icon">
1780                                    <i class="fas fa-laptop-code"></i>
1781                                </div>
1782                                <h6 class="fs-5">Industrial facilities</h6>
1783                            </div>
1784                        </div>
1785
1786                        <div class="col-lg-2 col-md-4 col-sm-6">
1787                            <div class="ideal-box animate-on-scroll">
1788                                <div class="ideal-icon">
1789                                    <i class="fas fa-microchip"></i>
1790                                </div>
1791                                <h6 class="fs-5">Multi-branch enterprises</h6>
1792                            </div>
1793                        </div>
1794
1795                        <div class="col-lg-2 col-md-4 col-sm-6">
1796                            <div class="ideal-box animate-on-scroll">
1797                                <div class="ideal-icon">
1798                                    <i class="fas fa-headset"></i>
1799                                </div>
1800                                <h6 class="fs-5">Healthcare institutions</h6>
1801                            </div>
1802                        </div>
1803
1804                        <div class="col-lg-2 col-md-4 col-sm-6">
1805                            <div class="ideal-box animate-on-scroll">
1806                                <div class="ideal-icon">
1807                                    <i class="fas fa-flask"></i>
1808                                </div>
1809                                <h6 class="fs-5">Large administrative campuses</h6>
1810                            </div>
1811                        </div>
1812                        <p>From 50 to 10,000+ individuals  scalable without operational disruption</p>
1813                    </div>
1814
1815                    
1816                    <div class="mt-5">
1817                        <h3 class="animate-right-to-left text-dark">"Smarter <span class="text-info">Attendance</span>"</h3>
1818                        <h3 class="animate-left-to-right text-dark">"<span class="text-info">Stronger</span> Access Control"</h3>
1819                        <!-- <h2 class="display-7 fw-bold text-dark">"Build a Smarter, Safer Workplace"</h2> -->
1820                    </div>
1821                </div>
1822            </section>
1823
1824
1825
1826            <div class="container my-5 py-5" hidden>
1827                <div class="row">
1828                    <section class="">
1829                        <div class="container">
1830                            <div class="row align-items-center">
1831                                <h2 class="text-black text-center">Benefits That Elevate Every Event </h2>
1832                                <div class="col-lg-6 col-12 d-flex justify-content-center">
1833                                    <img src="images/benifit.png" loading="lazy" style=" width: 150%; height:auto;"
1834                                        alt="Biometric attendance with AI" class="mobile_gif">
1835                                </div>
1836                                <div class="col-lg-6 col-12">
1837
1838                                    <div style="display: flex; align-items: center;">
1839                                        <img src="images/prestige.png" loading="lazy" alt="Biometric attendance with AI"
1840                                            style="width: 50px !important; border-radius: 50%; margin-right: 10px;">
1841                                        <div>
1842                                            <h6 class="mb-0 mt-2">Premium Guest Welcome</h6>
1843                                            <p class="mb-2">A sleek, touchless check-in creates an impressive first
1844                                                impression and sets a high standard for the entire event. </p>
1845                                        </div>
1846                                    </div>
1847                                    <div style="display: flex; align-items: center;">
1848                                        <img src="images/saving.png" loading="lazy" alt="Biometric attendance with AI"
1849                                            style="width: 50px !important; border-radius: 50%; margin-right: 10px;">
1850                                        <div>
1851                                            <h6 class="mb-0 mt-2">Time Saved</h6>
1852                                            <p class="mb-2">AI-driven verification processes attendees within seconds,
1853                                                cutting down long queues and making check-ins effortless.</p>
1854                                        </div>
1855                                    </div>
1856                                   
1857                                    <div style="display: flex; align-items: center;">
1858                                        <img src="images/real-time.png" loading="lazy" alt="Image corporate"
1859                                            style="width: 50px !important; border-radius: 50%; margin-right: 10px;">
1860                                        <div>
1861                                            <h6 class="mb-0 mt-2">Real-Time Control</h6>
1862                                            <p class="mb-2">
1863                                                rganizers can monitor attendance live, access instant insights, and
1864                                                manage multiple locations seamlessly through a centralized dashboard.
1865                                            </p>
1866                                        </div>
1867                                    </div>
1868                                    <div style="display: flex; align-items: center;">
1869                                        <img src="images/scalability.png" loading="lazy" alt="Image corporate"
1870                                            style="width: 50px !important; border-radius: 50%; margin-right: 10px;">
1871                                        <div>
1872                                            <h6 class="mb-0 mt-2">Scalable & Future-Proof</h6>
1873                                            <p class="mb-2">
1874                                                Built to support events of any sizewhether hybrid, in-person, or
1875                                                globalensuring flexibility and readiness for future demands.
1876                                            </p>
1877                                        </div>
1878                                    </div>
1879                                    <div style="display: flex; align-items: center;">
1880                                        <img src="images/satisfaction.png" loading="lazy" alt="Image corporate"
1881                                            style="width: 50px !important; border-radius: 50%; margin-right: 10px;">
1882                                        <div>
1883                                            <h6 class="mb-0 mt-2">Memorable Experience</h6>
1884                                            <p class="mb-2">
1885                                                A smooth, VIP-style entry creates a professional and welcoming
1886                                                atmosphere, leaving a lasting impression on every guest.
1887                                            </p>
1888                                        </div>
1889                                    </div>
1890                                </div>
1891                            </div>
1892                        </div>
1893                    </section>
1894                </div>
1895            </div>
1896
1897            <div class="row" hidden>
1898                <div class="text-center mb-4">
1899                    <h1>Why Organizers Choose Modern Event Check-Ins</h1><br />
1900                </div>
1901                <section class="faq-section section-padding">
1902                    <div class="container">
1903                        <div class="row">
1904                            <div class="col-lg-6 col-12">
1905                                <h2 class="mb-4">
1906                                </h2>
1907                            </div>
1908                            <div class="clearfix"></div>
1909
1910                            <div class="col-lg-6 col-12">
1911                                <div class="accordion">
1912                                    <div class="accordion-item">
1913                                        <!-- <h4 class="accordion-header" id="headingOne">
1914                                        Photo Capture                 
1915                                   </h4>
1916                                    <br>
1917                                </div>
1918                                <div class="accordion-item">
1919                                    <p>
1920                                        Efficiently capture high-resolution images of students during exams. Our application guarantees that each photo is clear and accurately linked to the corresponding student record, thereby improving verification precision and enhancing exam monitoring efficiency.
1921
1922                                    </p>                      -->
1923                                        <ul style="list-style-type:circle;">
1924                                            <li>
1925                                                <h6 class="mb-0">Lightning-Fast Check-Ins</h6>
1926                                                <p>Guests verified in <b>under three secondsno</b> queues, no delays.
1927                                                </p>
1928                                            </li>
1929                                            <li>
1930                                                <h6 class="mb-0">Enterprise-Grade Security</h6>
1931                                                <p>AI facial recognition and <b>role-based access</b> keep every entry
1932                                                    point secure.</p>
1933                                            </li>
1934                                            <li>
1935                                                <h6 class="mb-0">Real-Time Oversight</h6>
1936                                                <p><b>Live dashboards</b> and instant sync give you total control across
1937                                                    all venues.</p>
1938                                            </li>
1939                                            <li>
1940                                                <h6 class="mb-0">VIP-Level Guest Experience</h6>
1941                                                <p>Personalized welcomes and <b>touchless entry</b> make attendees feel
1942                                                    valued from the start.</p>
1943                                            </li>
1944                                        </ul>
1945
1946                                    </div>
1947                                </div>
1948                            </div>
1949                            <div class="col-lg-6 col-12 text-center">
1950                                <img src="images/y-organization.png" loading="lazy"
1951                                    style=" width: 100%; height:auto; border-radius:4px;" alt="Think"
1952                                    class="mobile_gif m-5 ">
1953                            </div>
1954                        </div>
1955                    </div>
1956                </section>
1957            </div>
1958
1959            <br /><br />
1960            <div class="row">
1961
1962                <section class="faq-section section-padding" hidden>
1963                    <div class="container">
1964                        <div class="row">
1965                            <div class="col-lg-6 col-12">
1966                                <h2 class="mb-4">
1967                                </h2>
1968                            </div>
1969                            <div class="clearfix"></div>
1970                         
1971                            <div class="col-lg-12 col-12">
1972                                <div class="accordion" id="accordionExample">
1973                                    <div class="accordion-item">
1974                                        <h4 class="accordion-header mb-3 text-center" id="headingOne">Outcomes That
1975                                            Matter </h4>
1976                                    </div>
1977
1978                                    <div class="accordion-item d-flex flex-row justify-content-between outcome-columns"
1979                                        style="font-size: 13px;">
1980                                        <div class="d-flex flex-column align-items-center"><img
1981                                                src="images/reduction.png" loading="lazy"
1982                                                style="width:15%; height:auto;" alt="Reduction Time" class=" mb-2 ">
1983                                            <div class="px-4">
1984                                                <p class="text-center"><b>Faster Entry</b></p>
1985                                                <p>Achieve up to 90% reduction in queue times, ensuring smooth and
1986                                                    efficient check-ins.</p>
1987                                            </div>
1988                                        </div>
1989                                        <div class="d-flex flex-column align-items-center"><img
1990                                                src="images/verification.png" loading="lazy"
1991                                                style="width:21%; height:auto;" alt="Verification" class=" mb-1">
1992                                            <div class="px-4">
1993                                                <p class="text-center"><b>Accurate Verification</b></p>
1994                                                <p>100% verified entries, ensuring secure access for all attendees.</p>
1995                                            </div>
1996                                        </div>
1997                                        <div class="d-flex flex-column align-items-center"><img src="images/sync.png"
1998                                                loading="lazy" style="width:18%; height:auto;" alt="Instant Sync"
1999                                                class=" ">
2000                                            <div class="px-4">
2001                                                <p class="text-center"><b>Flawless Multi-Venue Management</b></p>
2002                                                <p>Smooth coordination across multiple entry points for hassle-free
2003                                                    event operations.</p>
2004                                            </div>
2005                                        </div>
2006                                    </div>
2007                                </div>
2008                            </div>
2009
2010                        </div>
2011
2012                    </div>
2013            </div>
2014            </section>
2015
2016           
2017
2018            </div>
2019
2020            
2020<script>
2021                document.addEventListener('DOMContentLoaded', function () {
2022                    const readMoreLinks = document.querySelectorAll('.read-more');
2023
2024                    readMoreLinks.forEach(link => {
2025                        link.addEventListener('click', function () {
2026                            // Collapse all cards before expanding the current one
2027                            readMoreLinks.forEach(otherLink => {
2028                                if (otherLink !== this) {
2029                                    const otherExpandedText = otherLink.previousElementSibling;
2030                                    otherExpandedText.classList.add('d-none');
2031                                    otherLink.textContent = 'Read more...';
2032                                }
2033                            });
2034
2035                            // Toggle the current card
2036                            const expandedText = this.previousElementSibling;
2037                            expandedText.classList.toggle('d-none');
2038                            this.textContent = expandedText.classList.contains('d-none') ? 'Read more...' : 'Read less...';
2039                        });
2040                    });
2041                });
2042            </script>
2042
2043
2044
2045
2046</div>
2047
2048
2049
2050<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css">
2051
2052<style>
2053    :root {
2054        --footer-bg: #0a0b10;
2055        --accent-color: #c68213; /* Matching your theme gold/orange */
2056        --text-muted: rgba(255, 255, 255, 0.7);
2057    }
2058
2059    .footer-section {
2060        background: linear-gradient(rgba(10, 11, 16, 0.8), rgba(10, 11, 16, 0.95)), url('images/footer.webp');
2061        background-repeat: no-repeat;
2062        background-size: cover;
2063        background-position: center;
2064        color: #fff;
2065        font-family: 'Inter', sans-serif;
2066    }
2067
2068    .footer-logo {
2069        max-width: 200px;
2070        height: auto;
2071        margin-bottom: 1.5rem;
2072    }
2073
2074    .footer-heads {
2075        color: #fff;
2076        font-weight: 600;
2077        font-size: 1.1rem;
2078        text-transform: uppercase;
2079        letter-spacing: 1px;
2080        margin-bottom: 1.5rem;
2081        position: relative;
2082    }
2083
2084    /* Subtle underline for headings */
2085    .footer-heads::after {
2086        content: '';
2087        position: absolute;
2088        left: 0;
2089        bottom: -8px;
2090        width: 30px;
2091        height: 2px;
2092        background-color: var(--accent-color);
2093    }
2094
2095    .anchor-text {
2096        color: var(--text-muted);
2097        text-decoration: none;
2098        font-size: 14px;
2099        transition: all 0.3s ease;
2100        display: inline-block;
2101    }
2102
2103    .anchor-text:hover {
2104        color: var(--accent-color);
2105        transform: translateX(5px);
2106    }
2107
2108    .footer-links {
2109        margin-bottom: 10px;
2110        list-style: none;
2111    }
2112
2113    .footer-links i {
2114        font-size: 10px;
2115        margin-right: 8px;
2116        color: var(--accent-color);
2117    }
2118
2119    .socialLinks {
2120        background: rgba(255, 255, 255, 0.05);
2121        color: #fff;
2122        width: 38px;
2123        height: 38px;
2124        display: flex;
2125        align-items: center;
2126        justify-content: center;
2127        border-radius: 8px;
2128        margin-right: 10px;
2129        font-size: 18px;
2130        transition: all 0.3s ease;
2131        border: 1px solid rgba(255, 255, 255, 0.1);
2132    }
2133
2134    .socialLinks:hover {
2135        background: var(--accent-color);
2136        color: #fff;
2137        transform: translateY(-3px);
2138        border-color: var(--accent-color);
2139    }
2140
2141    .footer-bottom {
2142        border-top: 1px solid rgba(255, 255, 255, 0.08);
2143        padding: 20px 0;
2144        margin-top: 3rem;
2145    }
2146
2147    .footer-about-text {
2148        font-size: 14px;
2149        line-height: 1.6;
2150        color: var(--text-muted);
2151    }
2152
2153    @media (max-width: 768px) {
2154        .footer-heads { margin-top: 2rem; }
2155    }
2156
2157  #cookieConsentBanner {
2158    position: fixed;
2159    bottom: 0;
2160    left: 0;
2161    right: 0;
2162    z-index: 99999;
2163    background: #fff;
2164    box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
2165    padding: 18px 70px;
2166    display: none;
2167    align-items: center;
2168    justify-content: space-between;
2169    gap: 20px;
2170    flex-wrap: wrap;
2171    font-family: inherit;
2172    border-top: 1px solid #e5e7eb;
2173  }
2174  #cookieConsentBanner.show { display: flex; }
2175  #cookieConsentBanner .cc-text {
2176    flex: 1;
2177    min-width: 260px;
2178    font-size: 14px;
2179    line-height: 1.5;
2180    color: #333;
2181    margin: 0;
2182  }
2183  #cookieConsentBanner .cc-text a {
2184    color: #0d6efd;
2185    text-decoration: underline;
2186  }
2187  #cookieConsentBanner .cc-actions {
2188    display: flex;
2189    gap: 10px;
2190    flex-shrink: 0;
2191  }
2192  #cookieConsentBanner button {
2193    border: none;
2194    border-radius: 6px;
2195    padding: 10px 20px;
2196    font-size: 14px;
2197    font-weight: 600;
2198    cursor: pointer;
2199    white-space: nowrap;
2200  }
2201  #cookieAccept {
2202    background: #0d6efd;
2203    color: #fff;
2204  }
2205  #cookieAccept:hover { background: #0b5ed7; }
2206  #cookieReject {
2207    background: #f1f2f6;
2208    color: #333;
2209  }
2210  #cookieReject:hover { background: #e5e7eb; }
2211
2212  @media (max-width: 576px) {
2213    #cookieConsentBanner { flex-direction: column; align-items: stretch; text-align: center; }
2214    #cookieConsentBanner .cc-actions { justify-content: center; }
2215  }
2216</style>
2217
2218<footer class="footer-section pt-5">
2219    <div class="container">
2220        <div class="row gy-4">
2221            
2222            <div class="col-lg-4 col-md-12">
2223                <a href="https://attendify.ai/" aria-label="Link to Our Attendify Home Page ">
2224                    <img src="images/AttendifyLogos.png" alt="Attendify Logo" class="footer-logo" loading="lazy">
2225                </a>
2226                <h5 class="fw-bold mb-3" style="color:#fff">Recognize. Track. Simplify.</h5>
2227                <p class="footer-about-text pe-lg-5">
2228                    Experience smarter attendance with AI-powered face recognition. Attendify doesn’t just record time, it understands presence.
2229                </p>
2230                
2231            </div>
2232
2233            <div class="col-lg-3 col-md-4 col-6">
2234                <h4 class="footer-heads">Solutions</h4>
2235                <ul class="p-0">
2236                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="hrms.php">HRMS Attendance</a></li>
2237                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="classroom.php">Classroom Attendance</a></li>
2238                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="fusion.php">Exam Attendance</a></li>
2239                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="aisecurity.php">AI Security</a></li>
2240                    <!-- <li class="footer-links"><i class="bi bi-chevron-right"></i>
2240<a class="anchor-text" href="campuses.php">Campus Security</a></li>
2241                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="gatesense.php">Gate Security</a></li> -->
2242                </ul>
2243            </div>
2244
2245            <div class="col-lg-2 col-md-4 col-6">
2246                <h4 class="footer-heads">Quick Links</h4>
2247                <ul class="p-0">
2248                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="https://attendify.ai/">Home</a></li>
2249                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="blog.php">Blogs</a></li>
2250                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="terms.php">Terms of Service</a></li>
2251                    <li class="footer-links"><i class="bi bi-chevron-right"></i><a class="anchor-text" href="privacy.php">Privacy Policy</a></li>
2252                </ul>
2253            </div>
2254
2255            <div class="col-lg-3 col-md-4 col-12">
2256                <h4 class="footer-heads">Stay Updated</h4>
2257                <p class="footer-about-text mb-4">
2258                    Get the latest insights on AI security and workforce trends.
2259                </p>
2260                <a href="index.php#contact-form" class="btn btn-outline-light btn-sm px-4 py-2" style="border-radius: 8px; border-color: var(--accent-color); color: var(--accent-color);">
2261                    Contact Us
2262                </a>
2263                <div class="social-links d-flex mt-4">
2264                    <a class="socialLinks" href="https://www.instagram.com/techkshetra.info/" rel="noopener" target="_blank" aria-label="Instagram"><i class="bi bi-instagram"></i></a>
2265                    <a class="socialLinks" href="https://www.facebook.com/techkshetrainfo/" rel="noopener" target="_blank" aria-label="Facebook"><i class="bi bi-facebook"></i></a>
2266                    <a class="socialLinks" href="https://www.youtube.com/@techkshetra" rel="noopener" target="_blank" aria-label="Youtube"><i class="bi bi-youtube"></i></a>
2267                    <a class="socialLinks" href="https://www.linkedin.com/company/techkshetra-info-solutions-pvt-ltd/" rel="noopener" target="_blank" aria-label="Linkedin"><i class="bi bi-linkedin"></i></a>
2268                </div>
2269            </div>
2270
2271        </div>
2272
2273        <div class="footer-bottom text-center">
2274            <div class="row align-items-center">
2275                <div class="col-md-12">
2276                    <p class="mb-0 footer-about-text">
2277                        &copy; 2026 <a href="https://techkshetrainfo.com/home/" aria-label="Link to Our Home Page" class="text-white text-decoration-none fw-bold">Techkshetra Info Solutions Pvt Ltd.</a> All Rights Reserved.
2278                    </p>
2279                </div>
2280            </div>
2281        </div>
2282    </div>
2283
2284        <!-- Cookie Consent Banner -->
2285
2286
2287<div id="cookieConsentBanner">
2288  <p class="cc-text">
2289    We use cookies to improve your browsing experience, analyze site traffic, and personalize content.
2290    By clicking "Accept", you consent to our use of cookies. You can withdraw consent anytime.
2291    <a href="/privacy.php" target="_blank" rel="noopener">Read our Cookie Policy</a>.
2292  </p>
2293  <div class="cc-actions">
2294    <button id="cookieReject" type="button">Reject</button>
2295    <button id="cookieAccept" type="button">Accept</button>
2296  </div>
2297</div>
2298
2299<div id="cookieSettingsReopen" title="Cookie preferences">
2300  <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#333" stroke-width="2">
2301    <circle cx="12" cy="12" r="10"></circle>
2302    <circle cx="8.5" cy="8.5" r="1"></circle>
2303    <circle cx="15.5" cy="8.5" r="1"></circle>
2304    <circle cx="8.5" cy="15.5" r="1"></circle>
2305    <circle cx="15.5" cy="15.5" r="1"></circle>
2306  </svg>
2307</div>
2308
2309
2310
2311<div id="cookieConsentBanner">
2312  <p class="cc-text">
2313    We use cookies to improve your browsing experience, analyze site traffic, and personalize content.
2314    By clicking "Accept", you consent to our use of cookies. You can withdraw consent anytime.
2315    <a href="/privacy.php" target="_blank" rel="noopener">Read our Cookie Policy</a>.
2316  </p>
2317  <div class="cc-actions">
2318    <button id="cookieReject" type="button">Reject</button>
2319    <button id="cookieAccept" type="button">Accept</button>
2320  </div>
2321</div>
2322
2323<script>
2324(function () {
2325  const CONSENT_KEY = "cookie_consent_status"; // "accepted" | "rejected"
2326  const banner = document.getElementById("cookieConsentBanner");
2327  const acceptBtn = document.getElementById("cookieAccept");
2328  const rejectBtn = document.getElementById("cookieReject");
2329
2330  function getConsent() {
2331    return localStorage.getItem(CONSENT_KEY);
2332  }
2333
2334  function setConsent(value) {
2335    localStorage.setItem(CONSENT_KEY, value);
2336    // Also mirror to a cookie so it's readable server-side (e.g. PHP) if needed
2337    document.cookie = `${CONSENT_KEY}=${value};path=/;max-age=${60 * 60 * 24 * 180};SameSite=Lax`;
2338  }
2339
2340  function applyConsent(value) {
2341    if (value === "accepted") {
2342      loadNonEssentialScripts(); // e.g. analytics — see below
2343      window.dispatchEvent(new CustomEvent("cookieConsentAccepted"));
2344    } else if (value === "rejected") {
2345      window.dispatchEvent(new CustomEvent("cookieConsentRejected"));
2346      // optionally clear any non-essential cookies already set
2347    }
2348  }
2349
2350  function showBanner() {
2351    banner.classList.add("show");
2352  }
2353
2354  function hideBanner() {
2355    banner.classList.remove("show");
2356  }
2357
2358  // On load: show banner only if no decision has been made yet.
2359  // Once a decision exists, the banner (and any icon) stays hidden permanently.
2360  const existing = getConsent();
2361  if (existing) {
2362    applyConsent(existing);
2363  } else {
2364    showBanner();
2365  }
2366
2367  acceptBtn.addEventListener("click", function () {
2368    setConsent("accepted");
2369    applyConsent("accepted");
2370    hideBanner();
2371  });
2372
2373  rejectBtn.addEventListener("click", function () {
2374    setConsent("rejected");
2375    applyConsent("rejected");
2376    hideBanner();
2377  });
2378
2379  // Plug in any non-essential scripts here (Google Analytics, ads pixels, chat
2380  // widgets, etc.) — this function only runs after the user clicks Accept.
2381  function loadNonEssentialScripts() {
2382    // Example:
2383    // const gaScript = document.createElement("script");
2384    // gaScript.src = "https://www.googletagmanager.com/gtag/js?id=YOUR_GA_ID";
2385    // gaScript.async = true;
2386    // document.head.appendChild(gaScript);
2387  }
2388})();
2389</script>
2389
2390
2391</footer>
2392
2393
2394<div id="myModal" class="modal">
2395    <div class="modal-content">
2396        <div style="display: flex; justify-content: space-between; align-items: center;">
2397            <h4 style="margin: 0;">Reserve Your Demo Slot</h4>
2398            <span class="close" style="cursor: pointer; font-size: 24px;">&times;</span>
2399        </div>
2400
2401        <form id="details-form">
2402            <div class="mb-2">
2403                <input type="text" id="datetime-picker" aria-label="Select Date & Time" class="mb-0" placeholder="Select Date & Time" required />
2404                <input type="hidden" id="datetime" aria-label="Selected Date and Time" name="datetime" />
2405                <small class="text-danger error-msg"></small>
2406            </div>
2407
2408            <div class="d-flex">
2409                <div class="mb-2 col-md-6 me-1">
2410                    <label for="name">Name <small
2411                        class="text-danger">*</small></label>
2412                    <input type="text" id="name" name="name" aria-label="Enter your name" class="my-0" placeholder="Enter name" required>
2413                    <small class="text-danger error-msg"></small>
2414                </div>
2415                <div class="mb-2 col-md-6">
2416                    <label for="email">Email <small
2417                        class="text-danger">*</small></label>
2418                    <input type="email" id="email" name="email" aria-label="Enter your email" class="my-0" placeholder="Enter email" required>
2419                    <small class="text-danger error-msg"></small>
2420                </div>
2421            </div>
2422            <div class="d-flex">
2423                <div class="mb-2 col-md-6 me-1">
2424                    <label for="phone">Phone <small
2425                        class="text-danger">*</small></label>
2426                    <input type="text" id="phone" name="phone" aria-label="Enter your phone number" class="my-0" placeholder="Enter phone" required>
2427                    <small class="text-danger error-msg"></small>
2428                </div>
2429                <div class="mb-2 col-md-6">
2430                    <label class="form-label mb-0 ">Select Product <small class="text-danger">*</small></label>
2431                    <div class="input-group">
2432                        <select class="form-select" id="product_id" aria-label="Select product" name="product_id" >
2433                            <option value="" selected>Select</option>
2434                            <option value="5" >Attendify HR</option>
2435                            <option value="20" >Attendify Classroom</option>
2436                            <option value="4" >Exam Attendance</option>
2437                            <option value="22" >Gatesense Security</option>
2438                        </select>
2439                    </div>
2440                    <small class="text-danger error-msg"></small>
2441                </div>
2442            </div>
2443             <div class="mb-2">
2444                <label for="address">Address <small
2445                        class="text-danger">*</small></label>
2446                    <input type="text" id="address" name="address" aria-label="Enter your address" class="my-0" placeholder="Enter address" required>
2447                    <small class="text-danger error-msg"></small>
2448            </div>
2449            <div class="mb-2">
2450                <label for="query">Query<small
2451                    class="text-danger">*</small></label>
2452                <textarea id="query" name="query" class="my-0" aria-label="Enter your query"  placeholder="Enter query" required></textarea>
2453                <small class="text-danger error-msg"></small>
2454            </div>
2455            <div style="text-align: right;">
2456                <button type="submit" style="white-space: nowrap; border-radius: 25px; background: #c68213; color: white; padding: 10px 20px; border: none; cursor: pointer;"> Submit</button>
2457            </div>
2458        </form>
2459    </div>
2460</div>
2461
2462
2463
2464<div id="brochureModalCustom" class="modal">
2465    <div class="modal-content">
2466        <div style="display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 15px;">
2467            <h4 style="margin: 0; color: #333;">Get Your Free Brochure</h4>
2468            <span class="close-brochure" style="cursor: pointer; font-size: 28px; font-weight: bold; color: #888;">&times;</span>
2469        </div>
2470
2471        <form id="brochure-form-custom">
2472            <div class="mb-2">
2473                <label for="b-name">Full Name <small class="text-danger">*</small></label>
2474                <input type="text" id="b-name" name="name" class="my-0" aria-label="Enter Full Name" placeholder="Enter your name" required>
2475                <small class="text-danger error-msg"></small>
2476            </div>
2477
2478            <div class="mb-2">
2479                <label for="b-email">Email Address <small class="text-danger">*</small></label>
2480                <input type="email" id="b-email" name="email" class="my-0" aria-label="Enter Email" placeholder="[email protected]" required>
2481                <small class="text-danger error-msg"></small>
2482            </div>
2483
2484           <div class="mb-2">
2485                <label for="b-phone">Phone Number <small class="text-danger">*</small></label>
2486                <div style="display: flex; gap: 5px;">
2487                    <select id="b-country-code" name="country_id" aria-label="Country Name style="width: 150px; padding: 8px; border-radius: 5px; border: 1px solid #ccc;" required>
2488                        <option value="">Loading...</option>
2489                    </select>
2490
2491                    <input type="tel" id="b-phone" name="phone" aria-label="Enter Phone Number" style="flex: 1; padding: 8px; border-radius: 5px; border: 1px solid #ccc;" placeholder="Mobile number" required>
2492                </div>
2493                <input type="hidden" id="b-country-name-hidden" aria-label="Enter Country" Name name="country_name">
2494                <small class="text-danger error-msg"></small>
2495            </div>
2496
2497            <div style="text-align: right; margin-top: 15px;">
2498                <button type="submit" id="b-submit-btn" style="white-space: nowrap; border-radius: 25px; background: #c68213; color: white; padding: 10px 25px; border: none; cursor: pointer; font-weight: bold;">
2499                    Submit
2500                </button>
2501            </div>
2502        </form>
2503    </div>
2504</div>
2505
2506
2507
2508<script defer>
2509    document.addEventListener('DOMContentLoaded', function () {
2510        var modal = document.getElementById('modal');
2511        var closeBtn = document.querySelector('.close-btn');
2512
2513        // Function to set a cookie
2514        function setCookie(name, value, days) {
2515            var expires = "";
2516            if (days) {
2517                var date = new Date();
2518                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
2519                expires = "; expires=" + date.toUTCString();
2520            }
2521            document.cookie = name + "=" + (value || "") + expires + "; path=/";
2522        }
2523
2524        // Function to get a cookie by name
2525        function getCookie(name) {
2526            var nameEQ = name + "=";
2527            var ca = document.cookie.split(';');
2528            for (var i = 0; i < ca.length; i++) {
2529                var c = ca[i];
2530                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
2531                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
2532            }
2533            return null;
2534        }
2535
2536        if (window.innerWidth > 600) {
2537            if (!getCookie('modalShown')) {
2538                modal.style.display = 'flex';
2539                document.body.style.overflow = 'hidden';
2540                setCookie('modalShown', 'true', 30);
2541            }
2542        }
2543
2544        if (closeBtn) {
2545            closeBtn.addEventListener('click', function () {
2546                modal.style.display = 'none';
2547                document.body.style.overflow = ''; 
2548            });
2549        }
2550        window.addEventListener('click', function (event) {
2551            if (event.target === modal) {
2552                modal.style.display = 'none';
2553                document.body.style.overflow = ''; // Restore scrolling
2554            }
2555        });
2556
2557        // Ensure mobile compatibility with touch events
2558        window.addEventListener('touchstart', function (event) {
2559            if (event.target === modal) {
2560                modal.style.display = 'none';
2561                document.body.style.overflow = ''; // Restore scrolling
2562            }
2563        });
2564    });
2565</script>
2565
2566
2567<script defer>
2568    document.addEventListener("DOMContentLoaded", function() {
2569
2570    const SERVER_TIME = new Date("2026-10-07T21:14:49");
2571
2572    const modal = document.getElementById("myModal");
2573    const btn = document.getElementById("schedule-meeting-btn");
2574    const span = document.getElementsByClassName("close")[0];
2575
2576    const timeOffset = SERVER_TIME.getTime() - new Date().getTime();
2577
2578    function getServerTime() {
2579        // Return the current actual time based on the initial server sync
2580        return new Date(new Date().getTime() + timeOffset);
2581    }
2582
2583    function handleTimeRestriction(selectedDate, instance) {
2584        const now = getServerTime(); // Use our server-synced time
2585        
2586        // Check if the selected date is today (according to server)
2587        if (selectedDate.toDateString() === now.toDateString()) {
2588            const minHour = now.getHours();
2589            const minMin = now.getMinutes();
2590            instance.set("minTime", `${minHour}:${minMin}`);
2591        } else {
2592            instance.set("minTime", "00:00");
2593        }
2594    }
2595                const now = getServerTime();
2596   
2597    if (btn) {
2598        btn.onclick = function () {
2599            modal.style.display = "block";
2600            flatpickr("#datetime-picker", {
2601                enableTime: true,
2602                dateFormat: "Y-m-d H:i",
2603                minDate: now,
2604                defaultDate: now,
2605                
2606                // 1. Force 'today' highlight to match server, not system
2607                onDayCreate: function(dObj, dStr, fp, dayElem) {
2608                    if (dayElem.dateObj.toDateString() === now.toDateString()) {
2609                        dayElem.classList.add("server-today");
2610                    } else {
2611                        dayElem.classList.remove("today");
2612                    }
2613                },
2614                
2615
2616                // 2. Set time restriction immediately on load
2617                onReady: function(selectedDates, dateStr, instance) {
2618                    // If the default date is today, restrict hours
2619                    const currentHour = now.getHours() + ":" + now.getMinutes();
2620                    instance.set("minTime", currentHour);
2621                },
2622
2623                onChange: function(selectedDates, dateTimeStr, instance) {
2624                    if (selectedDates.length > 0) {
2625                        const selected = selectedDates[0];
2626                        const serverNow = getServerTime(); // Use your server-sync function
2627
2628                        // 1. Check if the selected date is Today (Server-side)
2629                        if (selected.toDateString() === serverNow.toDateString()) {
2630                            
2631                            // Set the minimum allowed time for today
2632                            const minHour = serverNow.getHours();
2633                            const minMin = serverNow.getMinutes();
2634                            instance.set("minTime", `${minHour}:${minMin}`);
2635
2636                            // 2. FORCE VALIDATION: If the user managed to select a past time, 
2637                            // reset their selection to the current server time.
2638                            if (selected.getTime() < serverNow.getTime()) {
2639                                instance.setDate(serverNow, true); 
2640                                return; // Stop execution to let setDate trigger a clean update
2641                            }
2642                        } else {
2643                            // 3. For future dates, allow all hours (00:00)
2644                            instance.set("minTime", "00:00");
2645                        }
2646
2647                        // Sync with your hidden input
2648                        const hiddenInput = document.getElementById('datetime');
2649                        if (hiddenInput) hiddenInput.value = instance.input.value;
2650                    }
2651                }
2652            });
2653
2654        }
2655    }
2656
2657    if (span) span.onclick = () => modal.style.display = "none";
2658    window.onclick = (event) => { if (event.target == modal) modal.style.display = "none"; }
2659
2660    // FIXED: The "Null-Safe" Error Helper
2661  function showError(input, message) {
2662    if (!input) return;
2663    
2664    input.classList.add("is-invalid");
2665    
2666    // Look for the parent wrapper
2667    const container = input.closest('.mb-2'); 
2668    
2669    if (container) {
2670        const errorEl = container.querySelector(".error-msg");
2671        if (errorEl) {
2672            errorEl.textContent = message;
2673            errorEl.style.display = "block"; // Ensure it's visible
2674        }
2675    } else {
2676        // Fallback: If no container, just alert or log so the app doesn't crash
2677        console.error("Could not find .mb-2 container for:", input);
2678        alert(message); 
2679    }
2680}
2681
2682    // Safe Error Clearing
2683    document.querySelectorAll("input, textarea").forEach(input => {
2684        input.addEventListener("input", function() {
2685            this.classList.remove("is-invalid");
2686            const container = this.closest('.mb-2');
2687            if (container) {
2688                const errorEl = container.querySelector(".error-msg");
2689                if (errorEl) errorEl.textContent = "";
2690            }
2691        });
2692    });
2693
2694    const detailsForm = document.getElementById("details-form");
2695    if (detailsForm) {
2696        detailsForm.addEventListener("submit", function (e) {
2697            e.preventDefault();
2698            let isValid = true;
2699
2700
2701            // IMPORTANT: Search for inputs ONLY inside THIS form
2702            const dt = this.querySelector("#datetime-picker");
2703            const nm = this.querySelector("#name");
2704            const em = this.querySelector("#email");
2705            const ph = this.querySelector("#phone");
2706            const ad = this.querySelector("#address");
2707            const qr = this.querySelector("#query");
2708             const product = this.querySelector("#product_id");
2709
2710            // Clear previous errors safely
2711            this.querySelectorAll(".error-msg").forEach(el => el.textContent = "");
2712            this.querySelectorAll("input, textarea").forEach(el => el.classList.remove("is-invalid"));
2713
2714            // Validations with existence checks
2715            if (dt && !dt.value.trim()) { showError(dt, "Select date & time"); isValid = false; }
2716            if (nm && !/^[A-Za-z ]{3,}
2716$/.test(nm.value.trim())) { showError(nm, "Name must be letters & spaces with Min 3 Chars"); isValid = false; }
2717            if (em && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(em.value.trim())) { showError(em, "Please enter a valid email address"); isValid = false; }
2718            if (ph && !/^[6-9]\d{9}$/.test(ph.value.trim())) { showError(ph, "Enter a valid 10-digit mobile number (starting with 6, 7, 8, or 9)."); isValid = false; }
2719            if (ad && ad.value.trim().length < 5) { showError(ad, "Address must be min 5 chars"); isValid = false; }
2720            if (qr && qr.value.trim().length < 10) { showError(qr, "Query must be at least 10 chars"); isValid = false; }
2721
2722            if (product && product.value === "") {
2723                showError(product, "Please select a product");
2724                isValid = false;
2725            }
2726
2727            if (!isValid) return;
2728
2729            const submitBtn = this.querySelector('button[type="submit"]');
2730            if (submitBtn) submitBtn.disabled = true;
2731
2732            // 1. CLOSE MODAL IMMEDIATELY
2733            modal.style.display = "none"; 
2734
2735            const alertBox = document.getElementById('successAlert');
2736            if (alertBox) {
2737                alertBox.textContent = "Processing your request...";
2738                alertBox.classList.remove('d-none', 'alert-success');
2739                alertBox.classList.add('alert-info'); // Use a neutral color
2740            }
2741
2742            const formData = new FormData(this);
2743            fetch('https://techkshetrainfo.com/attendance_web/index.php/Meetings/create_meeting', {
2744                method: 'POST',
2745                body: formData
2746            })
2747            .then(res => res.json())
2748            .then(data => {
2749                if (data.status === 'success' || data.status === 1) {
2750                    if (alertBox) {
2751                        alertBox.classList.remove('alert-info');
2752                        alertBox.classList.add('alert-success');
2753                    }
2754                    showSuccess(data.message || "Meeting Scheduled!");
2755                    detailsForm.reset();
2756                } else {
2757                    // 2. RE-OPEN IF FAILED
2758                    modal.style.display = "block";
2759                    alert(data.message || "Submission failed");
2760                }
2761            })
2762            .catch(() => {
2763                modal.style.display = "block";
2764                alert("Something went wrong. Try again.");
2765            })
2766            .finally(() => { if (submitBtn) submitBtn.disabled = false; });
2767
2768        });
2769    }
2770
2771    function showSuccess(message) {
2772        const alertBox = document.getElementById('successAlert');
2773        if (alertBox) {
2774            alertBox.textContent = message;
2775            alertBox.classList.remove('d-none');
2776            setTimeout(() => { alertBox.classList.add('d-none'); }, 4000);
2777        } else {
2778            alert(message);
2779        }
2780    }
2781});
2782
2783
2784  function resetToIndia() {
2785    const countrySelect = document.getElementById("country-code");
2786    const countryNameHidden = document.getElementById("country-name-hidden");
2787    
2788    if (!countrySelect || !countryNameHidden) return;
2789
2790    const options = countrySelect.options;
2791    for (let i = 0; i < options.length; i++) {
2792        if (options[i].getAttribute('data-name')?.toLowerCase() === "india") {
2793            options[i].selected = true;
2794            countryNameHidden.value = options[i].getAttribute('data-name');
2795            break;
2796        }
2797    }
2798}
2799
2800document.addEventListener("DOMContentLoaded", function() {
2801    const countrySelect = document.getElementById("country-code");
2802    const countryNameHidden = document.getElementById("country-name-hidden");
2803
2804    // 1. Fetch data via PHP
2805    const countryData = {"status":true,"message":"country list found","countrylist":[{"country_id":"1","country_name":"Afghanistan","country_code":"+93","country_is_deleted":"0"},{"country_id":"2","country_name":"Albania","country_code":"+355","country_is_deleted":"0"},{"country_id":"3","country_name":"Algeria","country_code":"+213","country_is_deleted":"0"},{"country_id":"4","country_name":"Andorra","country_code":"+376","country_is_deleted":"0"},{"country_id":"5","country_name":"Angola","country_code":"+244","country_is_deleted":"0"},{"country_id":"6","country_name":"Antigua and Barbuda","country_code":"+1-268","country_is_deleted":"0"},{"country_id":"7","country_name":"Argentina","country_code":"+54","country_is_deleted":"0"},{"country_id":"8","country_name":"Armenia","country_code":"+374","country_is_deleted":"0"},{"country_id":"9","country_name":"Australia","country_code":"+61","country_is_deleted":"0"}
2805,{"country_id":"10","country_name":"Austria","country_code":"+43","country_is_deleted":"0"},{"country_id":"11","country_name":"Azerbaijan","country_code":"+994","country_is_deleted":"0"},{"country_id":"12","country_name":"Bahamas","country_code":"+1-242","country_is_deleted":"0"},{"country_id":"13","country_name":"Bahrain","country_code":"+973","country_is_deleted":"0"},{"country_id":"14","country_name":"Bangladesh","country_code":"+880","country_is_deleted":"0"},{"country_id":"15","country_name":"Barbados","country_code":"+1-246","country_is_deleted":"0"},{"country_id":"16","country_name":"Belarus","country_code":"+375","country_is_deleted":"0"},{"country_id":"17","country_name":"Belgium","country_code":"+32","country_is_deleted":"0"},{"country_id":"18","country_name":"Belize","country_code":"+501","country_is_deleted":"0"},{"country_id":"19","country_name":"Benin","country_code":"+229","country_is_deleted":"0"},{"country_id":"20","country_name":"Bhutan","country_code":"+975","country_is_deleted":"0"},{"country_id":"21","country_name":"Bolivia","country_code":"+591","country_is_deleted":"0"},{"country_id":"22","country_name":"Bosnia and Herzegovina","country_code":"+387","country_is_deleted":"0"},{"country_id":"23","country_name":"Botswana","country_code":"+267","country_is_deleted":"0"},{"country_id":"24","country_name":"Brazil","country_code":"+55","country_is_deleted":"0"},{"country_id":"25","country_name":"Brunei","country_code":"+673","country_is_deleted":"0"},{"country_id":"26","country_name":"Bulgaria","country_code":"+359","country_is_deleted":"0"},{"country_id":"27","country_name":"Burkina Faso","country_code":"+226","country_is_deleted":"0"},{"country_id":"28","country_name":"Burundi","country_code":"+257","country_is_deleted":"0"},{"country_id":"29","country_name":"Cabo Verde","country_code":"+238","country_is_deleted":"0"},{"country_id":"30","country_name":"Cambodia","country_code":"+855","country_is_deleted":"0"},{"country_id":"31","country_name":"Cameroon","country_code":"+237","country_is_deleted":"0"},{"country_id":"32","country_name":"Canada","country_code":"+1","country_is_deleted":"0"},{"country_id":"33","country_name":"Central African Republic","country_code":"+236","country_is_deleted":"0"},{"country_id":"34","country_name":"Chad","country_code":"+235","country_is_deleted":"0"},{"country_id":"35","country_name":"Chile","country_code":"+56","country_is_deleted":"0"},{"country_id":"36","country_name":"China","country_code":"+86","country_is_deleted":"0"},{"country_id":"37","country_name":"Colombia","country_code":"+57","country_is_deleted":"0"},{"country_id":"38","country_name":"Comoros","country_code":"+269","country_is_deleted":"0"},{"country_id":"39","country_name":"Congo, Democratic Republic of the","country_code":"+243","country_is_deleted":"0"},{"country_id":"40","country_name":"Congo, Republic of the","country_code":"+242","country_is_deleted":"0"},{"country_id":"41","country_name":"Costa Rica","country_code":"+506","country_is_deleted":"0"},{"country_id":"42","country_name":"Croatia","country_code":"+385","country_is_deleted":"0"},{"country_id":"43","country_name":"Cuba","country_code":"+53","country_is_deleted":"0"},{"country_id":"44","country_name":"Cyprus","country_code":"+357","country_is_deleted":"0"},{"country_id":"45","country_name":"Czech Republic","country_code":"+420","country_is_deleted":"0"},{"country_id":"46","country_name":"Denmark","country_code":"+45","country_is_deleted":"0"},{"country_id":"47","country_name":"Djibouti","country_code":"+253","country_is_deleted":"0"},{"country_id":"48","country_name":"Dominica","country_code":"+1-767","country_is_deleted":"0"},{"country_id":"49","country_name":"Dominican Republic","country_code":"+1-809","country_is_deleted":"0"},{"country_id":"50","country_name":"Ecuador","country_code":"+593","country_is_deleted":"0"},{"country_id":"51","country_name":"Egypt","country_code":"+20","country_is_deleted":"0"},{"country_id":"52","country_name":"El Salvador","country_code":"+503","country_is_deleted":"0"},{"country_id":"53","country_name":"Equatorial Guinea","country_code":"+240","country_is_deleted":"0"},{"country_id":"54","country_name":"Eritrea","country_code":"+291","country_is_deleted":"0"},{"country_id":"55","country_name":"Estonia","country_code":"+372","country_is_deleted":"0"},{"country_id":"56","country_name":"Eswatini","country_code":"+268","country_is_deleted":"0"},{"country_id":"57","country_name":"Ethiopia","country_code":"+251","country_is_deleted":"0"},{"country_id":"58","country_name":"Fiji","country_code":"+679","country_is_deleted":"0"},{"country_id":"59","country_name":"Finland","country_code":"+358","country_is_deleted":"0"},{"country_id":"60","country_name":"France","country_code":"+33","country_is_deleted":"0"},{"country_id":"61","country_name":"Gabon","country_code":"+241","country_is_deleted":"0"},{"country_id":"62","country_name":"Gambia","country_code":"+220","country_is_deleted":"0"},{"country_id":"63","country_name":"Georgia","country_code":"+995","country_is_deleted":"0"},{"country_id":"64","country_name":"Germany","country_code":"+49","country_is_deleted":"0"},{"country_id":"65","country_name":"Ghana","country_code":"+233","country_is_deleted":"0"},{"country_id":"66","country_name":"Greece","country_code":"+30","country_is_deleted":"0"},{"country_id":"67","country_name":"Grenada","country_code":"+1-473","country_is_deleted":"0"},{"country_id":"68","country_name":"Guatemala","country_code":"+502","country_is_deleted":"0"},{"country_id":"69","country_name":"Guinea","country_code":"+224","country_is_deleted":"0"},{"country_id":"70","country_name":"Guinea-Bissau","country_code":"+245","country_is_deleted":"0"},{"country_id":"71","country_name":"Guyana","country_code":"+592","country_is_deleted":"0"},{"country_id":"72","country_name":"Haiti","country_code":"+509","country_is_deleted":"0"},{"country_id":"73","country_name":"Honduras","country_code":"+504","country_is_deleted":"0"},{"country_id":"74","country_name":"Hungary","country_code":"+36","country_is_deleted":"0"},{"country_id":"75","country_name":"Iceland","country_code":"+354","country_is_deleted":"0"},{"country_id":"76","country_name":"India","country_code":"+91","country_is_deleted":"0"},{"country_id":"77","country_name":"Indonesia","country_code":"+62","country_is_deleted":"0"},{"country_id":"78","country_name":"Iran","country_code":"+98","country_is_deleted":"0"},{"country_id":"79","country_name":"Iraq","country_code":"+964","country_is_deleted":"0"},{"country_id":"80","country_name":"Ireland","country_code":"+353","country_is_deleted":"0"},{"country_id":"81","country_name":"Israel","country_code":"+972","country_is_deleted":"0"},{"country_id":"82","country_name":"Italy","country_code":"+39","country_is_deleted":"0"},{"country_id":"83","country_name":"Jamaica","country_code":"+1-876","country_is_deleted":"0"},{"country_id":"84","country_name":"Japan","country_code":"+81","country_is_deleted":"0"},{"country_id":"85","country_name":"Jordan","country_code":"+962","country_is_deleted":"0"},{"country_id":"86","country_name":"Kazakhstan","country_code":"+7","country_is_deleted":"0"},{"country_id":"87","country_name":"Kenya","country_code":"+254","country_is_deleted":"0"},{"country_id":"88","country_name":"Kiribati","country_code":"+686","country_is_deleted":"0"},{"country_id":"89","country_name":"Korea, North","country_code":"+850","country_is_deleted":"0"},{"country_id":"90","country_name":"Korea, South","country_code":"+82","country_is_deleted":"0"},{"country_id":"91","country_name":"Kuwait","country_code":"+965","country_is_deleted":"0"},{"country_id":"92","country_name":"Kyrgyzstan","country_code":"+996","country_is_deleted":"0"},{"country_id":"93","country_name":"Laos","country_code":"+856","country_is_deleted":"0"},{"country_id":"94","country_name":"Latvia","country_code":"+371","country_is_deleted":"0"},{"country_id":"95","country_name":"Lebanon","country_code":"+961","country_is_deleted":"0"},{"country_id":"96","country_name":"Lesotho","country_code":"+266","country_is_deleted":"0"},{"country_id":"97","country_name":"Liberia","country_code":"+231","country_is_deleted":"0"},{"country_id":"98","country_name":"Libya","country_code":"+218","country_is_deleted":"0"},{"country_id":"99","country_name":"Liechtenstein","country_code":"+423","country_is_deleted":"0"}
2805,{"country_id":"100","country_name":"Lithuania","country_code":"+370","country_is_deleted":"0"},{"country_id":"101","country_name":"Luxembourg","country_code":"+352","country_is_deleted":"0"},{"country_id":"102","country_name":"Madagascar","country_code":"+261","country_is_deleted":"0"},{"country_id":"103","country_name":"Malawi","country_code":"+265","country_is_deleted":"0"},{"country_id":"104","country_name":"Malaysia","country_code":"+60","country_is_deleted":"0"},{"country_id":"105","country_name":"Maldives","country_code":"+960","country_is_deleted":"0"},{"country_id":"106","country_name":"Mali","country_code":"+223","country_is_deleted":"0"},{"country_id":"107","country_name":"Malta","country_code":"+356","country_is_deleted":"0"},{"country_id":"108","country_name":"Marshall Islands","country_code":"+692","country_is_deleted":"0"},{"country_id":"109","country_name":"Mauritania","country_code":"+222","country_is_deleted":"0"},{"country_id":"110","country_name":"Mauritius","country_code":"+230","country_is_deleted":"0"},{"country_id":"111","country_name":"Mexico","country_code":"+52","country_is_deleted":"0"},{"country_id":"112","country_name":"Micronesia","country_code":"+691","country_is_deleted":"0"},{"country_id":"113","country_name":"Moldova","country_code":"+373","country_is_deleted":"0"},{"country_id":"114","country_name":"Monaco","country_code":"+377","country_is_deleted":"0"},{"country_id":"115","country_name":"Mongolia","country_code":"+976","country_is_deleted":"0"},{"country_id":"116","country_name":"Montenegro","country_code":"+382","country_is_deleted":"0"},{"country_id":"117","country_name":"Morocco","country_code":"+212","country_is_deleted":"0"},{"country_id":"118","country_name":"Mozambique","country_code":"+258","country_is_deleted":"0"},{"country_id":"119","country_name":"Myanmar","country_code":"+95","country_is_deleted":"0"},{"country_id":"120","country_name":"Namibia","country_code":"+264","country_is_deleted":"0"},{"country_id":"121","country_name":"Nauru","country_code":"+674","country_is_deleted":"0"},{"country_id":"122","country_name":"Nepal","country_code":"+977","country_is_deleted":"0"},{"country_id":"123","country_name":"Netherlands","country_code":"+31","country_is_deleted":"0"},{"country_id":"124","country_name":"New Zealand","country_code":"+64","country_is_deleted":"0"},{"country_id":"125","country_name":"Nicaragua","country_code":"+505","country_is_deleted":"0"},{"country_id":"126","country_name":"Niger","country_code":"+227","country_is_deleted":"0"},{"country_id":"127","country_name":"Nigeria","country_code":"+234","country_is_deleted":"0"},{"country_id":"128","country_name":"North Macedonia","country_code":"+389","country_is_deleted":"0"},{"country_id":"129","country_name":"Norway","country_code":"+47","country_is_deleted":"0"},{"country_id":"130","country_name":"Oman","country_code":"+968","country_is_deleted":"0"},{"country_id":"131","country_name":"Pakistan","country_code":"+92","country_is_deleted":"0"},{"country_id":"132","country_name":"Palau","country_code":"+680","country_is_deleted":"0"},{"country_id":"133","country_name":"Palestine","country_code":"+970","country_is_deleted":"0"},{"country_id":"134","country_name":"Panama","country_code":"+507","country_is_deleted":"0"},{"country_id":"135","country_name":"Papua New Guinea","country_code":"+675","country_is_deleted":"0"},{"country_id":"136","country_name":"Paraguay","country_code":"+595","country_is_deleted":"0"},{"country_id":"137","country_name":"Peru","country_code":"+51","country_is_deleted":"0"},{"country_id":"138","country_name":"Philippines","country_code":"+63","country_is_deleted":"0"},{"country_id":"139","country_name":"Poland","country_code":"+48","country_is_deleted":"0"},{"country_id":"140","country_name":"Portugal","country_code":"+351","country_is_deleted":"0"},{"country_id":"141","country_name":"Qatar","country_code":"+974","country_is_deleted":"0"},{"country_id":"142","country_name":"Romania","country_code":"+40","country_is_deleted":"0"},{"country_id":"143","country_name":"Russia","country_code":"+7","country_is_deleted":"0"}
2805,{"country_id":"144","country_name":"Rwanda","country_code":"+250","country_is_deleted":"0"},{"country_id":"145","country_name":"Saint Kitts and Nevis","country_code":"+1-869","country_is_deleted":"0"},{"country_id":"146","country_name":"Saint Lucia","country_code":"+1-758","country_is_deleted":"0"},{"country_id":"147","country_name":"Saint Vincent and the Grenadines","country_code":"+1-784","country_is_deleted":"0"},{"country_id":"148","country_name":"Samoa","country_code":"+685","country_is_deleted":"0"},{"country_id":"149","country_name":"San Marino","country_code":"+378","country_is_deleted":"0"},{"country_id":"150","country_name":"Sao Tome and Principe","country_code":"+239","country_is_deleted":"0"},{"country_id":"151","country_name":"Saudi Arabia","country_code":"+966","country_is_deleted":"0"},{"country_id":"152","country_name":"Senegal","country_code":"+221","country_is_deleted":"0"},{"country_id":"153","country_name":"Serbia","country_code":"+381","country_is_deleted":"0"},{"country_id":"154","country_name":"Seychelles","country_code":"+248","country_is_deleted":"0"},{"country_id":"155","country_name":"Sierra Leone","country_code":"+232","country_is_deleted":"0"},{"country_id":"156","country_name":"Singapore","country_code":"+65","country_is_deleted":"0"},{"country_id":"157","country_name":"Slovakia","country_code":"+421","country_is_deleted":"0"},{"country_id":"158","country_name":"Slovenia","country_code":"+386","country_is_deleted":"0"},{"country_id":"159","country_name":"Solomon Islands","country_code":"+677","country_is_deleted":"0"},{"country_id":"160","country_name":"Somalia","country_code":"+252","country_is_deleted":"0"},{"country_id":"161","country_name":"South Africa","country_code":"+27","country_is_deleted":"0"},{"country_id":"162","country_name":"South Sudan","country_code":"+211","country_is_deleted":"0"},{"country_id":"163","country_name":"Spain","country_code":"+34","country_is_deleted":"0"},{"country_id":"164","country_name":"Sri Lanka","country_code":"+94","country_is_deleted":"0"},{"country_id":"165","country_name":"Sudan","country_code":"+249","country_is_deleted":"0"},{"country_id":"166","country_name":"Suriname","country_code":"+597","country_is_deleted":"0"},{"country_id":"167","country_name":"Sweden","country_code":"+46","country_is_deleted":"0"},{"country_id":"168","country_name":"Switzerland","country_code":"+41","country_is_deleted":"0"},{"country_id":"169","country_name":"Syria","country_code":"+963","country_is_deleted":"0"},{"country_id":"170","country_name":"Taiwan","country_code":"+886","country_is_deleted":"0"},{"country_id":"171","country_name":"Tajikistan","country_code":"+992","country_is_deleted":"0"},{"country_id":"172","country_name":"Tanzania","country_code":"+255","country_is_deleted":"0"},{"country_id":"173","country_name":"Thailand","country_code":"+66","country_is_deleted":"0"},{"country_id":"174","country_name":"Timor-Leste","country_code":"+670","country_is_deleted":"0"},{"country_id":"175","country_name":"Togo","country_code":"+228","country_is_deleted":"0"},{"country_id":"176","country_name":"Tonga","country_code":"+676","country_is_deleted":"0"},{"country_id":"177","country_name":"Trinidad and Tobago","country_code":"+1-868","country_is_deleted":"0"},{"country_id":"178","country_name":"Tunisia","country_code":"+216","country_is_deleted":"0"},{"country_id":"179","country_name":"Turkey","country_code":"+90","country_is_deleted":"0"},{"country_id":"180","country_name":"Turkmenistan","country_code":"+993","country_is_deleted":"0"},{"country_id":"181","country_name":"Tuvalu","country_code":"+688","country_is_deleted":"0"},{"country_id":"182","country_name":"Uganda","country_code":"+256","country_is_deleted":"0"},{"country_id":"183","country_name":"Ukraine","country_code":"+380","country_is_deleted":"0"},{"country_id":"184","country_name":"United Arab Emirates","country_code":"+971","country_is_deleted":"0"},{"country_id":"185","country_name":"United Kingdom","country_code":"+44","country_is_deleted":"0"},{"country_id":"186","country_name":"United States","country_code":"+1","country_is_deleted":"0"}
2805,{"country_id":"187","country_name":"Uruguay","country_code":"+598","country_is_deleted":"0"},{"country_id":"188","country_name":"Uzbekistan","country_code":"+998","country_is_deleted":"0"},{"country_id":"189","country_name":"Vanuatu","country_code":"+678","country_is_deleted":"0"},{"country_id":"190","country_name":"Vatican City","country_code":"+379","country_is_deleted":"0"},{"country_id":"191","country_name":"Venezuela","country_code":"+58","country_is_deleted":"0"},{"country_id":"192","country_name":"Vietnam","country_code":"+84","country_is_deleted":"0"},{"country_id":"193","country_name":"Yemen","country_code":"+967","country_is_deleted":"0"},{"country_id":"194","country_name":"Zambia","country_code":"+260","country_is_deleted":"0"},{"country_id":"195","country_name":"Zimbabwe","country_code":"+263","country_is_deleted":"0"}]};
2806    // 2. Populate the Select Dropdown
2807    if (countryData.status && countryData.countrylist) {
2808        countrySelect.innerHTML = ''; // Clear fallback
2809        
2810        const sortedList = countryData.countrylist.sort((a, b) => 
2811            a.country_name.localeCompare(b.country_name)
2812        );
2813
2814        sortedList.forEach(country => {
2815            const option = document.createElement("option");
2816            
2817            option.value = country.country_id; 
2818            // Store the name in a data attribute so we can grab it later
2819            option.setAttribute('data-name', country.country_name);
2820            option.textContent = `${country.country_name} (${country.country_code})`;
2821            
2822            resetToIndia();
2823            
2824            countrySelect.appendChild(option);
2825        });
2826    }
2827
2828    // 3. Listener to update hidden name field when dropdown changes
2829    countrySelect.addEventListener("change", function() {
2830        const selectedOption = this.options[this.selectedIndex];
2831        const countryName = selectedOption.getAttribute('data-name');
2832        
2833        // Update the hidden input that gets POSTed to PHP
2834        if (countryName) {
2835            countryNameHidden.value = countryName;
2836        }
2837    });
2838
2839    // 4. Clear errors on input
2840    document.querySelectorAll("input, textarea, select").forEach(el => {
2841        el.addEventListener("input", function() {
2842            this.classList.remove("is-invalid");
2843            // Look for error-msg in the parent container
2844            const container = this.closest('.col-md-6, .col-md-12, .col-12');
2845            if (container) {
2846                const errorEl = container.querySelector(".error-msg");
2847                if (errorEl) errorEl.textContent = "";
2848            }
2849        });
2850    });
2851});
2852
2853    document.getElementById("contactForm").addEventListener("submit", function (e) {
2854    e.preventDefault(); 
2855
2856    let isValid = true;
2857    const form = this;
2858    const msgBox = document.getElementById("form-message") || createMsgBox(form);
2859    const recaptchaError = document.getElementById("recaptcha-error");
2860
2861    // Clear previous errors
2862    document.querySelectorAll(".error-msg").forEach(el => el.textContent = "");
2863    document.querySelectorAll(".form-control, .form-select").forEach(el => el.classList.remove("is-invalid"));
2864    recaptchaError.textContent = "";
2865
2866
2867    const name = document.getElementById("name");
2868    const email = document.getElementById("email");
2869    const contact = document.getElementById("contact");
2870    const message = document.getElementById("message");
2871    const countryCode = document.getElementById("country-code");
2872    const countryNameHidden = document.getElementById("country-name-hidden");
2873    const product = document.getElementById("product_id");
2874
2875    console.log("Selected Country Code:", countryCode.value);
2876    console.log("Selected Country Name (hidden):", countryNameHidden.value);
2877    // Name validation
2878    if (!/^[A-Za-z ]{3,}$/.test(name.value.trim())) {
2879        showError(name, "Please enter a valid name (min 3 letters)");
2880        isValid = false;
2881    }
2882
2883    // Email validation
2884    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email.value.trim())) {
2885        showError(email, "Please enter a valid email address");
2886        isValid = false;
2887    }
2888
2889    // Contact validation (10 digits)
2890    if (!/^[1-9]\d{9}$/.test(contact.value.trim())) {
2891        showError(contact, "Enter a valid 10-digit mobile number");
2892        isValid = false;
2893    }
2894
2895     if (product.value === "") {
2896        showError(product, "Please select a product");
2897        isValid = false;
2898    }
2899
2900
2901        //  --- RECAPTCHA VALIDATION ---
2902    const recaptchaResponse = grecaptcha.getResponse();
2903    if (recaptchaResponse.length === 0) {
2904        recaptchaError.textContent = "Please verify that you are not a robot.";
2905        isValid = false;
2906    }
2907
2908    if (!isValid) return;
2909
2910    // Show loading state on button
2911    const submitBtn = form.querySelector('button[type="submit"]');
2912    const originalBtnText = submitBtn.innerHTML;
2913    submitBtn.disabled = true;
2914    submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm"></span> Sending...';
2915
2916    fetch(form.action, {
2917        method: "POST",
2918        body: new FormData(form)
2919    })
2920    .then(res => res.json())
2921    .then(data => {
2922        msgBox.style.display = "block";
2923        msgBox.className = "alert alert-" + (data.status === 'success' ? 'success' : 'danger') + " mt-3";
2924        msgBox.textContent = data.message;
2925
2926        if (data.status === 'success') {
2927            form.reset();
2928            grecaptcha.reset(); // Reset reCAPTCHA on success
2929            resetToIndia();
2930        }
2931        setTimeout(() => {
2932            msgBox.style.display = "none";
2933        }, 5000); // 5 seconds
2934    })
2935    .catch(err => {
2936        msgBox.style.display = "block";
2937        msgBox.className = "alert alert-danger mt-3";
2938        msgBox.textContent = "Submission failed. Please try again.";
2939        console.error("Submit Error:", err);
2940        setTimeout(() => { msgBox.style.display = "none"; }, 5000);
2941    })
2942    .finally(() => {
2943        submitBtn.disabled = false;
2944        submitBtn.innerHTML = originalBtnText;
2945    });
2946});
2947
2948function showError(input, message) {
2949    input.classList.add("is-invalid");
2950    // Find the error message sibling or parent's sibling (for input-groups)
2951    const container = input.closest('.col-md-6, .col-md-12, .col-12');
2952    const errorEl = container.querySelector(".error-msg");
2953    if (errorEl) errorEl.textContent = message;
2954}
2955
2956function createMsgBox(form) {
2957    const div = document.createElement('div');
2958    div.id = "form-message";
2959    div.style.display = "none";
2960    form.appendChild(div);
2961    return div;
2962}
2963
2964// Clear error on input
2965document.querySelectorAll(".form-control, .form-select").forEach(input => {
2966    input.addEventListener("input", () => {
2967        input.classList.remove("is-invalid");
2968        const container = input.closest('.col-md-6, .col-md-12, .col-12');
2969        const errorEl = container.querySelector(".error-msg");
2970        if (errorEl) errorEl.textContent = "";
2971    });
2972});
2973
2974</script>
2974
2975
2976<script defer>
2977document.addEventListener("DOMContentLoaded", function() {
2978    const observerOptions = {
2979        threshold: 0.15 // Triggers when 15% of the section is visible
2980    };
2981
2982    const observer = new IntersectionObserver((entries) => {
2983        entries.forEach(entry => {
2984            if (entry.isIntersecting) {
2985                entry.target.classList.add('is-visible');
2986              
2987            }
2988        });
2989    }, observerOptions);
2990
2991    // Apply to every section with the class
2992    document.querySelectorAll('.animate-on-scroll').forEach(section => {
2993        observer.observe(section);
2994    });
2995});
2996
2997document.querySelectorAll('.nav-sub-item').forEach(item => {
2998    item.addEventListener('click', function(e) {
2999        e.stopPropagation(); // Prevents dropdown from closing on click
3000        
3001        // 1. Remove active class from all sidebar items
3002        document.querySelectorAll('.nav-sub-item').forEach(i => i.classList.remove('active'));
3003        // 2. Add active class to clicked item
3004        this.classList.add('active');
3005        
3006        // 3. Hide all content areas
3007        document.querySelectorAll('.product-content').forEach(content => {
3008            content.classList.add('d-none');
3009        });
3010        
3011        // 4. Show the target content area
3012        const targetId = this.getAttribute('data-target');
3013        document.getElementById(targetId).classList.remove('d-none');
3014    });
3015});
3016
3017document.addEventListener("DOMContentLoaded", function() {
3018    const bModal = document.getElementById("brochureModalCustom");
3019    const bBtn = document.getElementById("brochure-download-btn"); // Updated ID
3020    const bSpan = document.querySelector(".close-brochure");
3021
3022    if (bBtn) {
3023        bBtn.onclick = function (e) {
3024            e.preventDefault();
3025            bModal.style.display = "block";
3026        };
3027    }
3028
3029    if (bSpan) {
3030        bSpan.onclick = function() {
3031            bModal.style.display = "none";
3032        };
3033    }
3034
3035    // Close when clicking outside the modal content
3036    window.onclick = function(event) {
3037        if (event.target == bModal) {
3038            bModal.style.display = "none";
3039        }
3040    };
3041
3042  // 1. Fetch data via PHP (This must be in a .php file)
3043const countryData = {"status":true,"message":"country list found","countrylist":[{"country_id":"1","country_name":"Afghanistan","country_code":"+93","country_is_deleted":"0"},{"country_id":"2","country_name":"Albania","country_code":"+355","country_is_deleted":"0"},{"country_id":"3","country_name":"Algeria","country_code":"+213","country_is_deleted":"0"},{"country_id":"4","country_name":"Andorra","country_code":"+376","country_is_deleted":"0"},{"country_id":"5","country_name":"Angola","country_code":"+244","country_is_deleted":"0"},{"country_id":"6","country_name":"Antigua and Barbuda","country_code":"+1-268","country_is_deleted":"0"},{"country_id":"7","country_name":"Argentina","country_code":"+54","country_is_deleted":"0"},{"country_id":"8","country_name":"Armenia","country_code":"+374","country_is_deleted":"0"},{"country_id":"9","country_name":"Australia","country_code":"+61","country_is_deleted":"0"},{"country_id":"10","country_name":"Austria","country_code":"+43","country_is_deleted":"0"},{"country_id":"11","country_name":"Azerbaijan","country_code":"+994","country_is_deleted":"0"},{"country_id":"12","country_name":"Bahamas","country_code":"+1-242","country_is_deleted":"0"},{"country_id":"13","country_name":"Bahrain","country_code":"+973","country_is_deleted":"0"},{"country_id":"14","country_name":"Bangladesh","country_code":"+880","country_is_deleted":"0"},{"country_id":"15","country_name":"Barbados","country_code":"+1-246","country_is_deleted":"0"},{"country_id":"16","country_name":"Belarus","country_code":"+375","country_is_deleted":"0"},{"country_id":"17","country_name":"Belgium","country_code":"+32","country_is_deleted":"0"},{"country_id":"18","country_name":"Belize","country_code":"+501","country_is_deleted":"0"},{"country_id":"19","country_name":"Benin","country_code":"+229","country_is_deleted":"0"},{"country_id":"20","country_name":"Bhutan","country_code":"+975","country_is_deleted":"0"},{"country_id":"21","country_name":"Bolivia","country_code":"+591","country_is_deleted":"0"},{"country_id":"22","country_name":"Bosnia and Herzegovina","country_code":"+387","country_is_deleted":"0"},{"country_id":"23","country_name":"Botswana","country_code":"+267","country_is_deleted":"0"},{"country_id":"24","country_name":"Brazil","country_code":"+55","country_is_deleted":"0"},{"country_id":"25","country_name":"Brunei","country_code":"+673","country_is_deleted":"0"},{"country_id":"26","country_name":"Bulgaria","country_code":"+359","country_is_deleted":"0"},{"country_id":"27","country_name":"Burkina Faso","country_code":"+226","country_is_deleted":"0"},{"country_id":"28","country_name":"Burundi","country_code":"+257","country_is_deleted":"0"},{"country_id":"29","country_name":"Cabo Verde","country_code":"+238","country_is_deleted":"0"},{"country_id":"30","country_name":"Cambodia","country_code":"+855","country_is_deleted":"0"},{"country_id":"31","country_name":"Cameroon","country_code":"+237","country_is_deleted":"0"},{"country_id":"32","country_name":"Canada","country_code":"+1","country_is_deleted":"0"},{"country_id":"33","country_name":"Central African Republic","country_code":"+236","country_is_deleted":"0"},{"country_id":"34","country_name":"Chad","country_code":"+235","country_is_deleted":"0"},{"country_id":"35","country_name":"Chile","country_code":"+56","country_is_deleted":"0"},{"country_id":"36","country_name":"China","country_code":"+86","country_is_deleted":"0"},{"country_id":"37","country_name":"Colombia","country_code":"+57","country_is_deleted":"0"},{"country_id":"38","country_name":"Comoros","country_code":"+269","country_is_deleted":"0"},{"country_id":"39","country_name":"Congo, Democratic Republic of the","country_code":"+243","country_is_deleted":"0"},{"country_id":"40","country_name":"Congo, Republic of the","country_code":"+242","country_is_deleted":"0"},{"country_id":"41","country_name":"Costa Rica","country_code":"+506","country_is_deleted":"0"},{"country_id":"42","country_name":"Croatia","country_code":"+385","country_is_deleted":"0"},{"country_id":"43","country_name":"Cuba","country_code":"+53","country_is_deleted":"0"},{"country_id":"44","country_name":"Cyprus","country_code":"+357","country_is_deleted":"0"},{"country_id":"45","country_name":"Czech Republic","country_code":"+420","country_is_deleted":"0"},{"country_id":"46","country_name":"Denmark","country_code":"+45","country_is_deleted":"0"},{"country_id":"47","country_name":"Djibouti","country_code":"+253","country_is_deleted":"0"},{"country_id":"48","country_name":"Dominica","country_code":"+1-767","country_is_deleted":"0"},{"country_id":"49","country_name":"Dominican Republic","country_code":"+1-809","country_is_deleted":"0"},{"country_id":"50","country_name":"Ecuador","country_code":"+593","country_is_deleted":"0"},{"country_id":"51","country_name":"Egypt","country_code":"+20","country_is_deleted":"0"},{"country_id":"52","country_name":"El Salvador","country_code":"+503","country_is_deleted":"0"},{"country_id":"53","country_name":"Equatorial Guinea","country_code":"+240","country_is_deleted":"0"},{"country_id":"54","country_name":"Eritrea","country_code":"+291","country_is_deleted":"0"},{"country_id":"55","country_name":"Estonia","country_code":"+372","country_is_deleted":"0"},{"country_id":"56","country_name":"Eswatini","country_code":"+268","country_is_deleted":"0"},{"country_id":"57","country_name":"Ethiopia","country_code":"+251","country_is_deleted":"0"},{"country_id":"58","country_name":"Fiji","country_code":"+679","country_is_deleted":"0"},{"country_id":"59","country_name":"Finland","country_code":"+358","country_is_deleted":"0"},{"country_id":"60","country_name":"France","country_code":"+33","country_is_deleted":"0"},{"country_id":"61","country_name":"Gabon","country_code":"+241","country_is_deleted":"0"},{"country_id":"62","country_name":"Gambia","country_code":"+220","country_is_deleted":"0"},{"country_id":"63","country_name":"Georgia","country_code":"+995","country_is_deleted":"0"},{"country_id":"64","country_name":"Germany","country_code":"+49","country_is_deleted":"0"},{"country_id":"65","country_name":"Ghana","country_code":"+233","country_is_deleted":"0"},{"country_id":"66","country_name":"Greece","country_code":"+30","country_is_deleted":"0"},{"country_id":"67","country_name":"Grenada","country_code":"+1-473","country_is_deleted":"0"},{"country_id":"68","country_name":"Guatemala","country_code":"+502","country_is_deleted":"0"},{"country_id":"69","country_name":"Guinea","country_code":"+224","country_is_deleted":"0"},{"country_id":"70","country_name":"Guinea-Bissau","country_code":"+245","country_is_deleted":"0"},{"country_id":"71","country_name":"Guyana","country_code":"+592","country_is_deleted":"0"},{"country_id":"72","country_name":"Haiti","country_code":"+509","country_is_deleted":"0"},{"country_id":"73","country_name":"Honduras","country_code":"+504","country_is_deleted":"0"},{"country_id":"74","country_name":"Hungary","country_code":"+36","country_is_deleted":"0"},{"country_id":"75","country_name":"Iceland","country_code":"+354","country_is_deleted":"0"},{"country_id":"76","country_name":"India","country_code":"+91","country_is_deleted":"0"},{"country_id":"77","country_name":"Indonesia","country_code":"+62","country_is_deleted":"0"},{"country_id":"78","country_name":"Iran","country_code":"+98","country_is_deleted":"0"},{"country_id":"79","country_name":"Iraq","country_code":"+964","country_is_deleted":"0"},{"country_id":"80","country_name":"Ireland","country_code":"+353","country_is_deleted":"0"},{"country_id":"81","country_name":"Israel","country_code":"+972","country_is_deleted":"0"},{"country_id":"82","country_name":"Italy","country_code":"+39","country_is_deleted":"0"},{"country_id":"83","country_name":"Jamaica","country_code":"+1-876","country_is_deleted":"0"},{"country_id":"84","country_name":"Japan","country_code":"+81","country_is_deleted":"0"},{"country_id":"85","country_name":"Jordan","country_code":"+962","country_is_deleted":"0"},{"country_id":"86","country_name":"Kazakhstan","country_code":"+7","country_is_deleted":"0"},{"country_id":"87","country_name":"Kenya","country_code":"+254","country_is_deleted":"0"},{"country_id":"88","country_name":"Kiribati","country_code":"+686","country_is_deleted":"0"},{"country_id":"89","country_name":"Korea, North","country_code":"+850","country_is_deleted":"0"},{"country_id":"90","country_name":"Korea, South","country_code":"+82","country_is_deleted":"0"},{"country_id":"91","country_name":"Kuwait","country_code":"+965","country_is_deleted":"0"},{"country_id":"92","country_name":"Kyrgyzstan","country_code":"+996","country_is_deleted":"0"},{"country_id":"93","country_name":"Laos","country_code":"+856","country_is_deleted":"0"},{"country_id":"94","country_name":"Latvia","country_code":"+371","country_is_deleted":"0"},{"country_id":"95","country_name":"Lebanon","country_code":"+961","country_is_deleted":"0"},{"country_id":"96","country_name":"Lesotho","country_code":"+266","country_is_deleted":"0"},{"country_id":"97","country_name":"Liberia","country_code":"+231","country_is_deleted":"0"},{"country_id":"98","country_name":"Libya","country_code":"+218","country_is_deleted":"0"},{"country_id":"99","country_name":"Liechtenstein","country_code":"+423","country_is_deleted":"0"}
3043,{"country_id":"100","country_name":"Lithuania","country_code":"+370","country_is_deleted":"0"},{"country_id":"101","country_name":"Luxembourg","country_code":"+352","country_is_deleted":"0"},{"country_id":"102","country_name":"Madagascar","country_code":"+261","country_is_deleted":"0"},{"country_id":"103","country_name":"Malawi","country_code":"+265","country_is_deleted":"0"},{"country_id":"104","country_name":"Malaysia","country_code":"+60","country_is_deleted":"0"},{"country_id":"105","country_name":"Maldives","country_code":"+960","country_is_deleted":"0"},{"country_id":"106","country_name":"Mali","country_code":"+223","country_is_deleted":"0"},{"country_id":"107","country_name":"Malta","country_code":"+356","country_is_deleted":"0"},{"country_id":"108","country_name":"Marshall Islands","country_code":"+692","country_is_deleted":"0"},{"country_id":"109","country_name":"Mauritania","country_code":"+222","country_is_deleted":"0"},{"country_id":"110","country_name":"Mauritius","country_code":"+230","country_is_deleted":"0"},{"country_id":"111","country_name":"Mexico","country_code":"+52","country_is_deleted":"0"},{"country_id":"112","country_name":"Micronesia","country_code":"+691","country_is_deleted":"0"},{"country_id":"113","country_name":"Moldova","country_code":"+373","country_is_deleted":"0"},{"country_id":"114","country_name":"Monaco","country_code":"+377","country_is_deleted":"0"},{"country_id":"115","country_name":"Mongolia","country_code":"+976","country_is_deleted":"0"},{"country_id":"116","country_name":"Montenegro","country_code":"+382","country_is_deleted":"0"},{"country_id":"117","country_name":"Morocco","country_code":"+212","country_is_deleted":"0"},{"country_id":"118","country_name":"Mozambique","country_code":"+258","country_is_deleted":"0"},{"country_id":"119","country_name":"Myanmar","country_code":"+95","country_is_deleted":"0"},{"country_id":"120","country_name":"Namibia","country_code":"+264","country_is_deleted":"0"},{"country_id":"121","country_name":"Nauru","country_code":"+674","country_is_deleted":"0"},{"country_id":"122","country_name":"Nepal","country_code":"+977","country_is_deleted":"0"},{"country_id":"123","country_name":"Netherlands","country_code":"+31","country_is_deleted":"0"},{"country_id":"124","country_name":"New Zealand","country_code":"+64","country_is_deleted":"0"},{"country_id":"125","country_name":"Nicaragua","country_code":"+505","country_is_deleted":"0"},{"country_id":"126","country_name":"Niger","country_code":"+227","country_is_deleted":"0"},{"country_id":"127","country_name":"Nigeria","country_code":"+234","country_is_deleted":"0"},{"country_id":"128","country_name":"North Macedonia","country_code":"+389","country_is_deleted":"0"},{"country_id":"129","country_name":"Norway","country_code":"+47","country_is_deleted":"0"},{"country_id":"130","country_name":"Oman","country_code":"+968","country_is_deleted":"0"},{"country_id":"131","country_name":"Pakistan","country_code":"+92","country_is_deleted":"0"},{"country_id":"132","country_name":"Palau","country_code":"+680","country_is_deleted":"0"},{"country_id":"133","country_name":"Palestine","country_code":"+970","country_is_deleted":"0"},{"country_id":"134","country_name":"Panama","country_code":"+507","country_is_deleted":"0"},{"country_id":"135","country_name":"Papua New Guinea","country_code":"+675","country_is_deleted":"0"},{"country_id":"136","country_name":"Paraguay","country_code":"+595","country_is_deleted":"0"},{"country_id":"137","country_name":"Peru","country_code":"+51","country_is_deleted":"0"},{"country_id":"138","country_name":"Philippines","country_code":"+63","country_is_deleted":"0"},{"country_id":"139","country_name":"Poland","country_code":"+48","country_is_deleted":"0"},{"country_id":"140","country_name":"Portugal","country_code":"+351","country_is_deleted":"0"},{"country_id":"141","country_name":"Qatar","country_code":"+974","country_is_deleted":"0"},{"country_id":"142","country_name":"Romania","country_code":"+40","country_is_deleted":"0"},{"country_id":"143","country_name":"Russia","country_code":"+7","country_is_deleted":"0"}
3043,{"country_id":"144","country_name":"Rwanda","country_code":"+250","country_is_deleted":"0"},{"country_id":"145","country_name":"Saint Kitts and Nevis","country_code":"+1-869","country_is_deleted":"0"},{"country_id":"146","country_name":"Saint Lucia","country_code":"+1-758","country_is_deleted":"0"},{"country_id":"147","country_name":"Saint Vincent and the Grenadines","country_code":"+1-784","country_is_deleted":"0"},{"country_id":"148","country_name":"Samoa","country_code":"+685","country_is_deleted":"0"},{"country_id":"149","country_name":"San Marino","country_code":"+378","country_is_deleted":"0"},{"country_id":"150","country_name":"Sao Tome and Principe","country_code":"+239","country_is_deleted":"0"},{"country_id":"151","country_name":"Saudi Arabia","country_code":"+966","country_is_deleted":"0"},{"country_id":"152","country_name":"Senegal","country_code":"+221","country_is_deleted":"0"},{"country_id":"153","country_name":"Serbia","country_code":"+381","country_is_deleted":"0"},{"country_id":"154","country_name":"Seychelles","country_code":"+248","country_is_deleted":"0"},{"country_id":"155","country_name":"Sierra Leone","country_code":"+232","country_is_deleted":"0"},{"country_id":"156","country_name":"Singapore","country_code":"+65","country_is_deleted":"0"},{"country_id":"157","country_name":"Slovakia","country_code":"+421","country_is_deleted":"0"},{"country_id":"158","country_name":"Slovenia","country_code":"+386","country_is_deleted":"0"},{"country_id":"159","country_name":"Solomon Islands","country_code":"+677","country_is_deleted":"0"},{"country_id":"160","country_name":"Somalia","country_code":"+252","country_is_deleted":"0"},{"country_id":"161","country_name":"South Africa","country_code":"+27","country_is_deleted":"0"},{"country_id":"162","country_name":"South Sudan","country_code":"+211","country_is_deleted":"0"},{"country_id":"163","country_name":"Spain","country_code":"+34","country_is_deleted":"0"},{"country_id":"164","country_name":"Sri Lanka","country_code":"+94","country_is_deleted":"0"},{"country_id":"165","country_name":"Sudan","country_code":"+249","country_is_deleted":"0"},{"country_id":"166","country_name":"Suriname","country_code":"+597","country_is_deleted":"0"},{"country_id":"167","country_name":"Sweden","country_code":"+46","country_is_deleted":"0"},{"country_id":"168","country_name":"Switzerland","country_code":"+41","country_is_deleted":"0"},{"country_id":"169","country_name":"Syria","country_code":"+963","country_is_deleted":"0"},{"country_id":"170","country_name":"Taiwan","country_code":"+886","country_is_deleted":"0"},{"country_id":"171","country_name":"Tajikistan","country_code":"+992","country_is_deleted":"0"},{"country_id":"172","country_name":"Tanzania","country_code":"+255","country_is_deleted":"0"},{"country_id":"173","country_name":"Thailand","country_code":"+66","country_is_deleted":"0"},{"country_id":"174","country_name":"Timor-Leste","country_code":"+670","country_is_deleted":"0"},{"country_id":"175","country_name":"Togo","country_code":"+228","country_is_deleted":"0"},{"country_id":"176","country_name":"Tonga","country_code":"+676","country_is_deleted":"0"},{"country_id":"177","country_name":"Trinidad and Tobago","country_code":"+1-868","country_is_deleted":"0"},{"country_id":"178","country_name":"Tunisia","country_code":"+216","country_is_deleted":"0"},{"country_id":"179","country_name":"Turkey","country_code":"+90","country_is_deleted":"0"},{"country_id":"180","country_name":"Turkmenistan","country_code":"+993","country_is_deleted":"0"},{"country_id":"181","country_name":"Tuvalu","country_code":"+688","country_is_deleted":"0"},{"country_id":"182","country_name":"Uganda","country_code":"+256","country_is_deleted":"0"},{"country_id":"183","country_name":"Ukraine","country_code":"+380","country_is_deleted":"0"},{"country_id":"184","country_name":"United Arab Emirates","country_code":"+971","country_is_deleted":"0"},{"country_id":"185","country_name":"United Kingdom","country_code":"+44","country_is_deleted":"0"},{"country_id":"186","country_name":"United States","country_code":"+1","country_is_deleted":"0"}
3043,{"country_id":"187","country_name":"Uruguay","country_code":"+598","country_is_deleted":"0"},{"country_id":"188","country_name":"Uzbekistan","country_code":"+998","country_is_deleted":"0"},{"country_id":"189","country_name":"Vanuatu","country_code":"+678","country_is_deleted":"0"},{"country_id":"190","country_name":"Vatican City","country_code":"+379","country_is_deleted":"0"},{"country_id":"191","country_name":"Venezuela","country_code":"+58","country_is_deleted":"0"},{"country_id":"192","country_name":"Vietnam","country_code":"+84","country_is_deleted":"0"},{"country_id":"193","country_name":"Yemen","country_code":"+967","country_is_deleted":"0"},{"country_id":"194","country_name":"Zambia","country_code":"+260","country_is_deleted":"0"},{"country_id":"195","country_name":"Zimbabwe","country_code":"+263","country_is_deleted":"0"}]};
3044// 2. Population Logic
3045if (countryData.status && countryData.countrylist) {
3046    // Sort once for both forms
3047    const sortedList = countryData.countrylist.sort((a, b) => 
3048        a.country_name.localeCompare(b.country_name)
3049    );
3050
3051    // Target both select elements
3052    const mainSelect = document.getElementById("country-code"); // Contact form
3053    const brochureSelect = document.getElementById("b-country-code"); // Brochure form
3054
3055    // Target both hidden inputs
3056    const mainHidden = document.getElementById("country-name-hidden");
3057    const brochureHidden = document.getElementById("b-country-name-hidden");
3058
3059    // Clear and Fill both
3060    [ {el: mainSelect, hidden: mainHidden}, {el: brochureSelect, hidden: brochureHidden} ].forEach(obj => {
3061        if (obj.el) {
3062            obj.el.innerHTML = ''; // Clear fallback
3063            
3064            sortedList.forEach(country => {
3065                const option = document.createElement("option");
3066                option.value = country.country_id; 
3067                option.setAttribute('data-name', country.country_name);
3068                option.textContent = `${country.country_name} (${country.country_code})`;
3069                
3070                // Set Default to India
3071                if (country.country_name.toLowerCase() === "india") {
3072                    option.selected = true;
3073                    if (obj.hidden) obj.hidden.value = country.country_name;
3074                }
3075                obj.el.appendChild(option);
3076            });
3077
3078            // Add listener to update hidden field on change
3079            obj.el.addEventListener("change", function() {
3080                const selected = this.options[this.selectedIndex];
3081                const name = selected.getAttribute('data-name');
3082                if (obj.hidden) obj.hidden.value = name;
3083            });
3084        }
3085    });
3086}
3087
3088   // --- 3. Submission & Download Logic ---
3089const bForm = document.getElementById("brochure-form-custom");
3090
3091bForm.addEventListener("submit", function (e) {
3092    e.preventDefault();
3093
3094    // 1. Get the actual elements (for error placement)
3095    const nameEl = document.getElementById("b-name");
3096    const emailEl = document.getElementById("b-email");
3097    const phoneEl = document.getElementById("b-phone");
3098    const countryEl = document.getElementById("b-country-code");
3099    const submitBtn = document.getElementById("b-submit-btn");
3100
3101    // 2. Clear all previous error messages
3102    this.querySelectorAll(".error-msg").forEach(el => el.textContent = "");
3103    let isValid = true;
3104
3105    // 3. Validation
3106    if (!/^[A-Za-z ]{3,}$/.test(nameEl.value.trim())) {
3107        showBrochureError(nameEl, "Please enter a valid name (min 3 letters)");
3108        isValid = false;
3109    }
3110
3111    if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailEl.value.trim())) {
3112        showBrochureError(emailEl, "Please enter a valid email address");
3113        isValid = false;
3114    }
3115
3116    // Contact validation (Checks for exactly 10 digits)
3117    if (!/^[0-9]{10,15}$/.test(phoneEl.value.trim())) {
3118        showBrochureError(phoneEl, "Enter a valid mobile number");
3119        isValid = false;
3120    }
3121
3122    if (!countryEl.value) {
3123        showBrochureError(countryEl, "Please select a country code");
3124        isValid = false;
3125    }
3126
3127    if (!isValid) return;
3128
3129    // 4. Processing State
3130    submitBtn.disabled = true;
3131    const originalBtnText = submitBtn.innerText;
3132    submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm"></span> Processing...';
3133
3134    const formData = new FormData(this);
3135
3136    fetch('https://techkshetrainfo.com/CRM/Login/attendify_brochure_download', {
3137        method: 'POST',
3138        body: formData
3139    })
3140    .then(async res => {
3141        const text = await res.text();
3142        try {
3143            return JSON.parse(text);
3144        } catch (err) {
3145            console.error("Raw Server Response:", text);
3146            throw new Error("Invalid server response format");
3147        }
3148    })
3149    .then(data => {
3150        if (data.status === 'success' || data.status == 1) {
3151            // Trigger download
3152            const link = document.createElement('a');
3153            link.href = 'https://attendify.ai/AttendifyHR_CorporateBrochure.pdf';
3154            link.setAttribute('download', 'AttendifyHR_CorporateBrochure.pdf');
3155            document.body.appendChild(link);
3156            link.click();
3157            document.body.removeChild(link);
3158
3159            // Success UI Actions
3160            const bModal = document.getElementById("brochureModalCustom");
3161            if(bModal) bModal.style.display = "none";
3162            
3163            bForm.reset();
3164            // Optional: Show a nice success toast here
3165            console.log("Download started successfully.");
3166        } else {
3167            // Server-side validation error
3168            showBrochureError(nameEl, data.message || "Submission failed.");
3169        }
3170    })
3171    .catch(err => {
3172        console.error("Fetch Error:", err);
3173        // Fallback error if the server crashes or JSON is bad
3174        showBrochureError(submitBtn, "Connection error. Data saved but couldn't confirm.");
3175    })
3176    .finally(() => {
3177        submitBtn.disabled = false;
3178        submitBtn.innerText = originalBtnText;
3179    });
3180});
3181});
3182
3183function showBrochureError(inputElement, message) {
3184    // Find the nearest error-msg container relative to the input
3185    const container = inputElement.closest('.mb-2');
3186    if (container) {
3187        const errorDisplay = container.querySelector('.error-msg');
3188        if (errorDisplay) {
3189            errorDisplay.textContent = message;
3190            inputElement.classList.add('is-invalid'); // Optional: red border if using Bootstrap
3191        }
3192    }
3193}
3194</script>
3194
3195
3196<script src="js/jquery.min.js" defer></script>
vendor: 1 bytes, line 3196
3196
3197<script src="js/custom.js" defer></script>
vendor: 1 bytes, line 3197
3197
3198<script src="js/bootstrap.bundle.min.js" defer></script>
vendor: 1 bytes, line 3198
3198
3199<script src="https://cdn.jsdelivr.net/npm/flatpickr" defer></script>
vendor: 1 bytes, line 3199
3199
3200<script>
3201  let tawkLoaded = false;
3202
3203  function loadTawk() {
3204    if (tawkLoaded) return;
3205    tawkLoaded = true;
3206
3207    var s1 = document.createElement("script");
3208    s1.src = 'https://embed.tawk.to/66b9ab740cca4f8a7a74cb93/1i52kbfsh';
3209    s1.async = true;
3210    document.body.appendChild(s1);
3211  }
3212
3213  window.addEventListener("scroll", loadTawk);
3214  window.addEventListener("click", loadTawk);
3215</script>
3215</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.