PageSourceSearch

https://yogkulam.com/about

html yogkulam.com collected 2026-10-09 17:08:40 UTC 118,032 bytes, 2,960 lines download raw bytes

1<style>
2/*==== Header===*/
3/* Remove default Bootstrap navbar padding */
4.navbar,
5.navbar>.container,
6.navbar>.container-fluid {
7    margin: 0 !important;
8    padding: 0 !important;
9}
10
11
12.sticky-header {
13    position: sticky;
14    top: 0;
15    z-index: 1050;
16    background-color: #fff;
17    /* ensures it's solid above content */
18    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
19}
20
21
22.sticky-header {
23    position: sticky;
24    top: 0;
25    z-index: 1050;
26    background-color: transparent !important;
27    /* transparent background */
28    backdrop-filter: none;
29    /* no blur */
30    box-shadow: none;
31    /* remove shadow if you want full transparency */
32    transition: all 0.3s ease-in-out;
33    margin: 0 !important;
34    padding: 0 !important;
35}
36
37
38/* Make sure parents allow sticky to work */
39body,
40html {
41    height: 100%;
42    overflow-x: hidden;
43}
44
45.container-fluid,
46section,
47.wrap,
48.page-section {
49    overflow: visible !important;
50    /* prevents sticky from breaking */
51}
52
53/* Optional smooth transition when user scrolls */
54.sticky-header {
55    transition: all 0.3s ease-in-out;
56}
57
58/* Extra polish for navbar */
59.sticky-header .navbar {
60    margin: 0;
61    border-radius: 0;
62    background: #fff;
63}
64
65
66.badges {
67    position: absolute;
68    right: 0;
69    background: blue;
70    color: #fff;
71    border-radius: 50%;
72    padding: 2px 6px;
73    font-size: 12px;
74    transform: translate(50%, -50%);
75}
76
77.cart-link {
78    position: relative;
79    margin-right: 10px;
80}
81
82.header-dynamic-icon {
83    color: #353535 !important;
84    font-size: 14px;
85    font-weight: 600;
86    text-decoration: underline;
87}
88
89@media screen and (min-width: 480px) {
90    .cart-link1 {
91        display: none;
92    }
93}
94
95/* Topbar icons and dynamic icons */
96.container-fluid.bg-light i {
97    color: #7a1d16 !important;
98}
99
100.container-fluid.bg-light .header-dynamic-icon {
101    color: #3c5e9d !important;
102}
103
104/* Login / Register links */
105.container-fluid.bg-light a {
106    color: #353535 !important;
107    font-weight: 500;
108}
109</style>
110<style>
111.dropdown-menu.show {
112    z-index: 10000;
113}
114
115/* Mode-first program menu (Online / Offline / Hybrid -> courses) */
116.program-mode-menu {
117    min-width: 268px;
118    max-width: min(360px, 92vw);
119    padding: 6px;
120    border: 1px solid #ece4dd;
121    border-radius: 12px;
122    box-shadow: 0 14px 34px -14px rgba(60, 40, 30, 0.35);
123    margin-top: 8px;
124}
125
126/* Mode section header (the clickable Online / Offline / Hybrid row) */
127.program-mode-menu .mode-toggle {
128    display: flex;
129    align-items: center;
130    gap: 8px;
131    width: 100%;
132    padding: 9px 12px;
133    border-radius: 8px;
134    background: transparent;
135    color: #7a1d16;
136    font-weight: 700;
137    font-size: 0.82rem;
138    letter-spacing: 0.04em;
139    text-transform: uppercase;
140    cursor: pointer;
141}
142
143.program-mode-menu .mode-toggle:hover,
144.program-mode-menu .mode-toggle:focus {
145    background: rgba(122, 29, 22, 0.06);
146    color: #7a1d16;
147}
148
149.program-mode-menu .mode-toggle .mode-name {
150    flex: 0 0 auto;
151}
152
153.program-mode-menu .mode-count {
154    font-size: 0.7rem;
155    font-weight: 700;
156    color: #7a1d16;
157    background: rgba(122, 29, 22, 0.10);
158    border-radius: 100px;
159    padding: 1px 9px;
160    line-height: 1.5;
161}
162
163.program-mode-menu .mode-toggle::after {
164    content: "\203A"; /* › */
165    margin-left: auto;
166    font-size: 1.15em;
167    line-height: 1;
168    color: #c09a95;
169    transform: rotate(90deg); /* points down when open */
170    transition: transform 0.18s ease;
171}
172
173.program-mode-menu .mode-toggle.collapsed::after {
174    transform: rotate(0deg); /* points right when closed */
175}
176
177/* Divider between mode sections */
178.program-mode-menu .mode-group + .mode-group {
179    border-top: 1px solid #f0e8e1;
180    margin-top: 3px;
181    padding-top: 3px;
182}
183
184/* Courses inside a mode */
185.program-mode-menu .mode-submenu {
186    list-style: none;
187    margin: 2px 0 4px;
188    padding: 0;
189}
190
191.program-mode-menu .mode-submenu .dropdown-item {
192    padding: 7px 12px 7px 26px;
193    font-size: 0.875rem;
194    line-height: 1.35;
195    color: #3a3a3a;
196    white-space: nowrap;
197    border-radius: 7px;
198}
199
200.program-mode-menu .mode-submenu .dropdown-item:hover,
201.program-mode-menu .mode-submenu .dropdown-item:focus {
202    background: rgba(122, 29, 22, 0.07);
203    color: #7a1d16;
204}
205
206/* Mobile: the menu renders inside the collapsed hamburger, so let it span the
207   full width, drop the floating-card chrome, and allow long names to wrap. */
208@media (max-width: 991.98px) {
209    .program-mode-menu {
210        min-width: 100%;
211        max-width: 100%;
212        margin-top: 0;
213        padding: 2px 0;
214        border: 0;
215        border-radius: 0;
216        box-shadow: none;
217    }
218
219    .program-mode-menu .mode-toggle {
220        padding: 11px 14px;
221    }
222
223    .program-mode-menu .mode-submenu .dropdown-item {
224        white-space: normal; /* wrapping is fine on narrow screens */
225        padding-left: 34px;
226    }
227}
228</style>
229
230
231<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 231-232
231
232<script async src="https://www.googletagmanager.com/gtag/js?id=
232G-6K59M8D3YW
vendor: 13 bytes, line 232
232"></script>
233<script>
vendor: 143 bytes, lines 234-241
234window.dataLayer = window.dataLayer || [];
235
236function gtag() {
237    dataLayer.push(arguments);
238}
239gtag('js', new Date());
240
241gtag('config', '
241G-6K59M8D3YW
vendor: 5 bytes, line 241
241');
242</script>
242
243
244
245<link rel="stylesheet" type="text/css" href="https://yogkulam.com/css/osd-css.css">
246
247<div class="container-fluid bg-light d-none d-lg-block">
248    <div class="row align-items-center py-2 px-4">
249        <div class="col-lg-7 d-flex">
250            <span class="me-4"><i class="fa fa-map-marker-alt text-primary me-2"></i>[email protected]</span>
251            <span><i class="fa fa-phone-alt text-primary me-2"></i> 1800-891-9232</span>
252        </div>
253        <div class="col-lg-5 d-flex justify-content-end align-items-center">
254                                    <div class="d-flex align-items-center ms-3">
255                <img src="https://storage.googleapis.com/yogkulam/destination/path/app/public/logos/spgOiVFHz0oO9wtGTOx1Pm33H4GSrTEglhHhSZJ0_1741346280.png" alt="Icon">
256                <a href="https://www.yogkulam.com/take-pledge" class="header-dynamic-icon ms-2"
257                    style="font-weight: bolder;">Pledge</a>
258            </div>
259                                                <div class="d-flex align-items-center ms-3">
260                <img src="https://storage.googleapis.com/yogkulam/destination/path/app/public/logos/NI9FwtvgnGJInLS9gf0MGkHXjmpL4oBbrVUqKi2h_1741346156.png" alt="Icon">
261                <a href="https://www.yogkulam.com/yoga-philosophy/the-history-of-yoga-22-9e2457023437" class="header-dynamic-icon ms-2"
262                    style="font-weight: bolder;">Yogi</a>
263            </div>
264                        
265            <a class="cart-link ms-2" href="https://yogkulam.com/shopping-cart">
266                <i class="fa-solid fa-cart-shopping"></i>
267                <span class="badges">0</span>
268            </a>
269
270                        <a href="https://yogkulam-react-dashboard.yogkulam.com/signin" class="me-2">Login</a> 
271            <!-- <a href="https://yogkulam.com/student/signup" class="ms-1">Register</a>
272            <a href="https://yogkulam.com/student-application" class="ms-3">Student Application</a> -->
273                    </div>
274    </div>
275</div>
276
277
278<div class="container-fluid d-lg-none py-2">
279    <div class="d-flex justify-content-between align-items-center">
280        <a href="tel:1800-891-9232">
281            <img src="https://yogkulam.com/assets/frontend/img/Call Icon.png" width="90">
282        </a>
283
284                        <div class="d-flex align-items-center">
285            <img src="https://storage.googleapis.com/yogkulam/destination/path/app/public/logos/spgOiVFHz0oO9wtGTOx1Pm33H4GSrTEglhHhSZJ0_1741346280.png" alt="Icon">
286            <a href="https://www.yogkulam.com/take-pledge" class="header-dynamic-icon ms-2">Pledge</a>
287        </div>
288                                <div class="d-flex align-items-center">
289            <img src="https://storage.googleapis.com/yogkulam/destination/path/app/public/logos/NI9FwtvgnGJInLS9gf0MGkHXjmpL4oBbrVUqKi2h_1741346156.png" alt="Icon">
290            <a href="https://www.yogkulam.com/yoga-philosophy/the-history-of-yoga-22-9e2457023437" class="header-dynamic-icon ms-2">Yogi</a>
291        </div>
292                    </div>
293</div>
294
295
296<nav class="navbar navbar-expand-lg navbar-light sticky-top shadow-sm bg-white bg-opacity-90 backdrop-blur">
297    <a class="navbar-brand px-2" href="https://yogkulam.com">
298        <img src="https://yogkulam.com/assets/frontend/img/icons/fine_logo.png" width="100">
299    </a>
300
301    <div class="d-flex">
302        <a class="cart-link cart-link1 me-3" href="https://yogkulam.com/shopping-cart">
303            <i class="fa-solid fa-cart-shopping"></i>
304            <span class="badges">0</span>
305        </a>
306        <button class="navbar-toggler me-4" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
307            <span class="navbar-toggler-icon"></span>
308        </button>
309
310    </div>
311
312    <div class="collapse navbar-collapse" id="navbarCollapse">
313        <ul class="navbar-nav ms-auto">
314
315
316            <li><a href="https://yogkulam.com" class="nav-link active">Home</a></li>
317
318            <li class="nav-item dropdown">
319                <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown">About</a>
320                <ul class="dropdown-menu">
321                    <li><a class="dropdown-item" href="https://yogkulam.com/about">History, Vision & Mission</a></li>
322                    <li><a class="dropdown-item" href="https://yogkulam.com/founder-message">Founder’s Message</a></li>
323                    <li><a class="dropdown-item" href="https://yogkulam.com/our-team">Our Team</a></li>
324                </ul>
325            </li>
326
327                                    <li class="nav-item dropdown">
328                <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
329                    data-bs-auto-close="outside" aria-expanded="false">Yoga Teacher Training</a>
330                <ul class="dropdown-menu program-mode-menu" id="programMenu2">
331                                                            <li class="mode-group">
332                        <button class="dropdown-item mode-toggle " type="button"
333                            data-bs-toggle="collapse" data-bs-target="#mode-2-online"
334                            aria-expanded="true" aria-controls="mode-2-online">
335                            <span class="mode-name">Online</span>
336                            <span class="mode-count">2</span>
337                        </button>
338                        <ul class="collapse mode-submenu show" id="mode-2-online"
339                            data-bs-parent="#programMenu2">
340                                                        <li><a class="dropdown-item"
341                                    href="https://yogkulam.com/courses/yoga-teacher-training/diploma-courses/pg-diploma-in-yoga-therapy/online">PG Diploma in Yoga Therapy</a>
342                            </li>
343                                                        <li><a class="dropdown-item"
344                                    href="https://yogkulam.com/courses/yoga-teacher-training/diploma-courses/advance-diploma-in-yoga-teaching/online">Advance Diploma in Yoga Teaching</a>
345                            </li>
346                                                    </ul>
347                    </li>
348                                                            <li class="mode-group">
349                        <button class="dropdown-item mode-toggle collapsed" type="button"
350                            data-bs-toggle="collapse" data-bs-target="#mode-2-hybrid"
351                            aria-expanded="false" aria-controls="mode-2-hybrid">
352                            <span class="mode-name">Hybrid</span>
353                            <span class="mode-count">2</span>
354                        </button>
355                        <ul class="collapse mode-submenu " id="mode-2-hybrid"
356                            data-bs-parent="#programMenu2">
357                                                        <li><a class="dropdown-item"
358                                    href="https://yogkulam.com/courses/yoga-teacher-training/diploma-courses/pg-diploma-in-yoga-therapy/offline">PG Diploma in Yoga Therapy</a>
359                            </li>
360                                                        <li><a class="dropdown-item"
361                                    href="https://yogkulam.com/courses/yoga-teacher-training/diploma-courses/advance-diploma-in-yoga-teaching/offline">Advance Diploma in Yoga Teaching</a>
362                            </li>
363                                                    </ul>
364                    </li>
365                                    </ul>
366            </li>
367            
368            
369
370        <li><a href="https://yogkulam.com/contact" class="nav-link">Contact</a></li>
371        <li class="login-view d-lg-none">
372                        <a href="https://yogkulam-react-dashboard.yogkulam.com/signin" class="nav-item nav-link">Login </a>
373            <!-- <a href="https://yogkulam.com/student/signup" class="nav-item nav-link">Register</a>
374            <a href="https://yogkulam.com/student-application" class="nav-item nav-link">Student Application</a> -->
375                    </li>
376        </ul>
377    </div>
378</nav>
379
380
381
382<!doctype html>
383<html lang="en">
384
385<head>
386    <!-- Meta Pixel Code (replace PIXEL_ID with 1946394672812042 if that's your pixel) -->
387    
387<script>
388    ! function(f, b, e, v, n, t, s) {
389        if (f.fbq) return;
390        n = f.fbq = function() {
391            n.callMethod ?
392                n.callMethod.apply(n, arguments) : n.queue.push(arguments)
393        };
394        if (!f._fbq) f._fbq = n;
395        n.push = n;
396        n.loaded = !0;
397        n.version = '2.0';
398        n.queue = [];
399        t = b.createElement(e);
400        t.async = !0;
401        t.src = v;
402        s = b.getElementsByTagName(e)[0];
403        s.parentNode.insertBefore(t, s);
404    }(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
405
406    // Initialize pixel (use your pixel id)
407    fbq('init', '1946394672812042');
408    // Standard page view
409    fbq('track', 'PageView');
410    </script>
410
411    <noscript>
412        <img height="1" width="1" style="display:none"
413            src="https://www.facebook.com/tr?id=1946394672812042&ev=PageView&noscript=1" />
414    </noscript>
415    <!-- Meta Pixel Code fb -->
416    
416<script>
vendor: 621 bytes, lines 416-435
416
417    ! function(f, b, e, v, n, t, s) {
418        if (f.fbq) return;
419        n = f.fbq = function() {
420            n.callMethod ?
421                n.callMethod.apply(n, arguments) : n.queue.push(arguments)
422        };
423        if (!f._fbq) f._fbq = n;
424        n.push = n;
425        n.loaded = !0;
426        n.version = '2.0';
427        n.queue = [];
428        t = b.createElement(e);
429        t.async = !0;
430        t.src = v;
431        s = b.getElementsByTagName(e)[0];
432        s.parentNode.insertBefore(t, s)
433    }(window, document, 'script',
434        'https://connect.facebook.net/en_US/fbevents.js');
435    fbq('init', '
4351542177876183933
vendor: 40 bytes, lines 435-437
435');
436    fbq('track', 'PageView');
437    
437</script>
437
438    <noscript><img height="1" width="1" style="display:none"
439            src="https://www.facebook.com/tr?id=1542177876183933&ev=PageView&noscript=1" /></noscript>
440    <!-- End Meta Pixel Code -->
441    <!-- Google tag (gtag.js) -->
vendor: 69 bytes, lines 441-442
441
442    <script async src="https://www.googletagmanager.com/gtag/js?id=
442AW-714710283
vendor: 17 bytes, lines 442-443
442"></script>
443    
443<script>
444    
vendor: 163 bytes, lines 444-451
444window.dataLayer = window.dataLayer || [];
445
446    function gtag() {
447        dataLayer.push(arguments);
448    }
449    gtag('js', new Date());
450
451    gtag('config', '
451AW-714710283
vendor: 9 bytes, lines 451-452
451');
452    
452</script>
452
453    
454    <meta name="google-site-verification" content="8H9aIqo3k0YM4nkBYTY9ioBH2AT2RhoJTf1MAJYI8AU" />
455    <meta charset="utf-8">
456    <meta content="width=device-width, initial-scale=1.0" name="viewport">
457
458    <meta name="csrf-token" content="b31dhz9SaN61KZXH3nRb0THKNNWIXzFUwCffpC6e">
459    <title>About YogKulam- History, Vision &amp; Mission</title>
460        <meta name="description"
461        content="Know YogKulam’s History, Vision and Mission in brief. How YogKulam started and became the best Yoga Teacher Training institute in India." />
462    <meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large" />
463    <link rel="canonical" href="https://www.yogkulam.com/about" />
464
465    <!-- Open Graph -->
466    <meta property="og:locale" content="en_US" />
467    <meta property="og:type" content="website" />
468    <meta property="og:title" content="About YogKulam — History, Vision & Mission" />
469    <meta property="og:description"
470        content="Know YogKulam’s History, Vision and Mission in brief. How YogKulam started and became the best Yoga Teacher Training institute in India." />
471    <meta property="og:image" content="https://yogkulam.com/public/assets/assets/img/yogkulam_logo.png" />
472    <meta property="og:url" content="https://www.yogkulam.com/about" />
473    <meta property="og:site_name" content="YogKulam.com" />
474    <meta property="og:updated_time" content="2024-02-23T12:41:26+02:00" />
475
476    <!-- Twitter -->
477    <meta name="twitter:card" content="summary" />
478    <meta name="twitter:site" content="@yogkulam" />
479    <meta name="twitter:creator" content="@IT_Team_yogkulam" />
480
481    <!-- Author -->
482    <meta name="author" content="Shubham Tripathi" />
483    <meta name="article:published_time" content="2024-01-25T12:00:00+00:00" />
484    <meta name="article:tag" content="About YogKulam, History, Mission & Vision" />
485
486
487
488    <!-- Bootstrap -->
489    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" />
490    <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" rel="stylesheet" />
491
492    <link rel="preconnect" href="https://fonts.googleapis.com">
493    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
494    <link href="https://fonts.googleapis.com/css2?family=El+Messiri:[email protected]&display=swap" rel="stylesheet">
495
496    <link href="https://yogkulam.com/assets/frontend/css/new-style.css" rel="stylesheet">
497
498    <link rel="stylesheet" href="https://yogkulam.com/css/osd-css.css">
499    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" rel="stylesheet">
500
501    <!-- Schema Markup -->
502    
502<script type="application/ld+json">
503    {
504        "@context": "https://schema.org",
505        "@type": "Organization",
506        "name": "YogKulam",
507        "url": "https://www.yogkulam.com",
508        "logo": "https://www.yogkulam.com/public/assets/frontend/img/icons/fine_logo.png",
509        "description": "YogKulam is India's Best Yoga Teacher Training Institute. We offer Yoga Courses like DYT(200 hours), PGDYT(500 hours), ADYT(500 hours), CYT(100 Hours), FCY(30 Hours), and CYP(50 Hours) through offline and online ways.",
510        "address": {
511            "@type": "PostalAddress",
512            "streetAddress": "3/133, Sector 3, Vikas Nagar",
513            "addressLocality": "Lucknow",
514            "addressRegion": "Uttar Pradesh",
515            "postalCode": "226022",
516            "addressCountry": "India"
517        },
518        "contactPoint": {
519            "@type": "ContactPoint",
520            "telephone": "1800-891-9232",
521            "contactType": "customer service"
522        },
523        "sameAs": [
524            "https://www.facebook.com/yogkulamofficial",
525            "https://twitter.com/yogKulam-official",
526            "https://www.linkedin.com/company/yogkulamofficial/"
527        ]
528    }
529    </script>
529
530
531</head>
532
533<body>
534    
535        
536    
537    <style>
538        img,
539        video,
540        iframe {
541            max-width: 100%;
542            height: auto;
543        }
544
545
546
547        /* Headings use Cormorant Garamond for a refined look */
548        h1,
549        h2,
550        h3,
551        h4,
552        h5,
553        h6,
554        .ykh-title,
555        .hero h1,
556        .mission .title,
557        .eyebrow,
558        .year-badge {
559            font-family: "El Messiri", sans-serif, Georgia, "Times New Roman", serif;
560            font-weight: 700;
561        }
562
563        /* Optional: medium-weight subheads with Cormorant */
564        .ykh-lead,
565        .mission-card h5 {
566            font-family: "El Messiri", sans-serif, Georgia, "Times New Roman", serif;
567            font-weight: 600;
568        }
569
570        /* Central wrapper — slightly narrower + padded to avoid edge collisions */
571        .timeline-wrap {
572            margin-inline: auto;
573            width: min(1080px, 94vw);
574            padding-inline: clamp(12px, 2.5vw, 20px);
575            color: #171616;
576        }
577
578        /* ===== HERO / FILTERS ===== */
579        .hero {
580            background: linear-gradient(180deg, #fff, #fff0 60%),
581                radial-gradient(800px 200px at 15% 0%, rgba(208, 111, 26, .08), transparent 50%);
582            padding: clamp(1.5rem, 4.5vw, 3rem) 0 1.25rem;
583            border-bottom: 1px solid #f1efec;
584            text-align: center;
585        }
586
587        .hero h1 {
588            letter-spacing: .4px;
589            font-size: clamp(1.8rem, 1rem + 3vw, 3rem);
590            margin: 0;
591        }
592
593        .hero p {
594            color: var(--muted);
595            margin: .35rem 0 0;
596        }
597
598        .control-bar {
599            background: #fffaf4;
600            border: 1px solid #efe6db;
601            border-radius: 16px;
602            padding: 1rem 1.25rem;
603            margin-top: 1.1rem;
604            box-shadow: 0 10px 26px rgba(0, 0, 0, .04);
605        }
606
607        .yk-btn {
608            --bg1: #f2a14c;
609            --bg2: #d06f1a;
610            --txt: #fff;
611            display: inline-flex;
612            align-items: center;
613            gap: .5rem;
614            padding: .65rem 1.15rem;
615            border-radius: .8rem;
616            text-decoration: none;
617            border: 0;
618            font-weight: 800;
619            color: var(--txt);
620            background: linear-gradient(180deg, var(--bg1), var(--bg2));
621            box-shadow: 0 8px 18px rgba(208, 111, 26, .28);
622        }
623
624        .yk-btn-light {
625            background: #fff;
626            color: #7a5632;
627            border: 1px solid #e7ddd1;
628            box-shadow: none;
629        }
630
631        .yk-btn-outline {
632            background: #fff;
633            color: var(--brand);
634            border: 1.5px solid var(--brand);
635            box-shadow: none;
636        }
637
638        /* ===== HISTORY + VIDEO ===== */
639        .yk-history {
640            padding: clamp(36px, 4vw, 72px) 0;
641            background: radial-gradient(1000px 360px at 0% -20%, rgba(214, 166, 91, .10), transparent 60%), linear-gradient(180deg, #fff, #fff8ee);
642        }
643
644        .ykh-wrap {
645            position: relative;
646            overflow: hidden;
647            border-radius: 22px;
648            padding: clamp(22px, 3.2vw, 38px);
649            background: radial-gradient(700px 420px at 6% -10%, rgba(255, 244, 228, .35), transparent 70%), radial-gradient(900px 520px at 110% 120%, rgba(0, 0, 0, .05), transparent 62%), linear-gradient(180deg, #ffffff 0%, #fdfaf6 100%);
650            border: 1px solid rgba(0, 0, 0, .06);
651            box-shadow: 0 22px 50px rgba(0, 0, 0, .10);
652        }
653
654        .ykh-eyebrow {
655            display: inline-flex;
656            gap: .45rem;
657            align-items: center;
658            padding: .28rem .65rem;
659            border-radius: 999px;
660            background: #fff7ea;
661            color: #5b3d0a;
662            border: 1px solid #ffe0a6;
663            font-weight: 800;
664            font-size: .8rem;
665            letter-spacing: .04em;
666        }
667
668        .ykh-title {
669            margin: .65rem 0 .35rem;
670            line-height: 1.1;
671            font-size: clamp(1.6rem, 1rem + 2.2vw, 2.4rem);
672            color: #222;
673        }
674
675        .ykh-lead {
676            color: #4b4b4b;
677            max-width: 68ch;
678            margin: 0 auto .75rem;
679        }
680
681        .ykh-grid {
682            display: grid;
683            gap: clamp(14px, 2.5vw, 24px);
684            grid-template-columns: minmax(0, 1fr);
685            margin-top: 18px;
686        }
687
688        @media (min-width: 992px) {
689            .ykh-grid {
690                grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
691                align-items: start;
692            }
693        }
694
695        .ykh-timeline {
696            position: relative;
697            padding-left: 18px;
698            margin-top: 6px;
699        }
700
701        .ykh-timeline::before {
702            content: "";
703            position: absolute;
704            left: 7px;
705            top: 0;
706            bottom: 0;
707            width: 2px;
708            background: linear-gradient(180deg, #e6cf9a, #c99f52);
709            border-radius: 2px;
710            opacity: .9;
711        }
712
713        .ykh-step {
714            position: relative;
715            margin-bottom: 16px;
716            background: #fff;
717            border: 1px solid #eee3d1;
718            border-radius: 14px;
719            padding: 14px 16px;
720            box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
721        }
722
723        .ykh-step .dot {
724            position: absolute;
725            left: -2px;
726            top: 18px;
727            width: 12px;
728            height: 12px;
729            border-radius: 50%;
730            background: linear-gradient(135deg, #f1d79e, #cc9f4e);
731            box-shadow: 0 0 0 3px #fff;
732            outline: 2px solid #d6b46a;
733        }
734
735        .ykh-video {
736            background: #fff;
737            border: 1px solid #eee3d1;
738            border-radius: 16px;
739            box-shadow: 0 14px 34px rgba(0, 0, 0, .08);
740            overflow: hidden;
741        }
742
743        .ykh-video-head {
744            padding: 14px 16px;
745            border-bottom: 1px solid #f1e6d6;
746            display: flex;
747            align-items: center;
748            justify-content: space-between;
749            gap: 10px;
750        }
751
752        .ykh-video-head .label {
753            font-weight: 800;
754            color: #6b4a1e;
755            background: #fff8ed;
756            border: 1px solid #f1dfc0;
757            padding: .28rem .55rem;
758            border-radius: 999px;
759            font-size: .85rem;
760        }
761
762        .ykh-thumb {
763            position: relative;
764        }
765
766        .ykh-thumb img {
767            width: 100%;
768            height: 100%;
769            object-fit: cover;
770            display: block;
771        }
772
773        .ykh-play {
774            position: absolute;
775            inset: 0;
776            display: flex;
777            justify-content: center;
778            align-items: center;
779        }
780
781        .ykh-play i {
782            font-size: 42px;
783            color: #fff;
784            width: 86px;
785            height: 86px;
786            border-radius: 50%;
787            display: flex;
788            justify-content: center;
789            align-items: center;
790            background: linear-gradient(135deg, var(--brand), #a8321e);
791            border: 2px solid rgba(255, 255, 255, .65);
792            box-shadow: 0 8px 22px rgba(0, 0, 0, .35);
793        }
794
795        /* ===== CENTERED TIMELINE + VERTICAL RAIL (no side scroll) ===== */
796        .timeline {
797            position: relative;
798            width: min(900px, 92vw);
799            margin: 2rem auto;
800            padding: 12px 0;
801        }
802
803        .timeline::before {
804            content: "";
805            position: absolute;
806            top: 0;
807            bottom: 0;
808            left: 50%;
809            width: 2px;
810            transform: translateX(-1px);
811            background: linear-gradient(180deg, #e8dccd, #d9c1a2);
812            border-radius: 2px;
813        }
814
815        .mile {
816            position: relative;
817            margin: 28px 0 22px;
818        }
819
820        .mile .dot {
821            position: absolute;
822            left: 50%;
823            top: -8px;
824            transform: translateX(-50%);
825            width: 16px;
826            height: 16px;
827            border-radius: 50%;
828            background: #fff;
829            border: 5px solid #a24a35;
830            outline: 3px solid #fff;
831            box-shadow: 0 0 0 3px rgba(162, 74, 53, .15);
832            z-index: 2;
833        }
834
835        .mile-card {
836            max-width: 760px;
837            margin: 0 auto;
838            background: #fff;
839            border: 1px solid var(--line);
840            border-radius: 18px;
841            box-shadow: 0 18px 36px rgba(0, 0, 0, .06);
842            padding: 22px;
843            text-align: center;
844        }
845
846        .year-badge {
847            font-size: 1rem;
848            color: #fff;
849            background: linear-gradient(135deg, #f1a54e, #d06f1a);
850            border-radius: 999px;
851            padding: .3rem .75rem;
852            display: inline-flex;
853            align-items: center;
854            gap: .45rem;
855        }
856
857        .icon-pill {
858            display: inline-flex;
859            align-items: center;
860            gap: .4rem;
861            padding: .28rem .6rem;
862            border-radius: 999px;
863            border: 1px dashed #eadfce;
864            color: #7a5632;
865            background: #fff8f1;
866            font-weight: 600;
867            font-size: .85rem;
868        }
869
870        .mile h3 {
871            font-size: 1.35rem;
872            margin: .6rem 0 .4rem;
873            color: #1f1f1f;
874        }
875
876        .mile p {
877            margin: 0;
878            color: #52565a;
879            font-size: 1rem;
880            line-height: 1.65;
881        }
882
883        /* ===== VISION ===== */
884        .fm-wrap {
885            padding: 36px 0 28px;
886            background: linear-gradient(180deg, #fff 0%, #fff7ec 100%);
887        }
888
889        .fm-underline {
890            width: min(1080px, 92%);
891            height: 4px;
892            margin: 0 auto 22px;
893            background: linear-gradient(90deg, var(--brand), #9a4022);
894            border-radius: 12px;
895            position: relative;
896            overflow: hidden;
897        }
898
899        .fm-underline::after {
900            content: "";
901            position: absolute;
902            right: -12px;
903            top: -6px;
904            width: 32px;
905            height: 16px;
906            border: 4px solid var(--brand);
907            border-left: none;
908            border-bottom: none;
909            border-radius: 0 18px 0 0;
910        }
911
912        .shloka-shell {
913            display: flex;
914            justify-content: center;
915            overflow: hidden;
916        }
917
918        .shloka-banner {
919            color: #fff;
920            font-weight: 800;
921            line-height: 1.4;
922            padding: 22px 28px;
923            text-align: center;
924            background: linear-gradient(180deg, var(--brand) 0%, #9b3c1f 55%, var(--amber) 100%);
925            clip-path: polygon(2.5% 0, 100% 0, 96% 50%, 100% 100%, 2.5% 100%, 0 50%);
926            box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
927            font-size: clamp(1.05rem, .9rem + 1.3vw, 1.85rem);
928            max-width: min(980px, 92%);
929            position: relative;
930            animation: vis-enter .7s cubic-bezier(.2, .8, .2, 1) both, vis-float 4.2s ease-in-out 1.1s infinite;
931        }
932
933        .shloka-banner::before {
934            content: "";
935            position: absolute;
936            top: 0;
937            bottom: 0;
938            width: 30%;
939            left: -30%;
940            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
941            filter: blur(2px);
942            animation: vis-sheen 3.8s ease-in-out 1.4s infinite;
943        }
944
945        @keyframes vis-enter {
946            0% {
947                transform: translateY(14px) scale(.98);
948                opacity: 0
949            }
950
951            100% {
952                transform: translateY(0) scale(1);
953                opacity: 1
954            }
955        }
956
957        @keyframes vis-float {
958
959            0%,
960            100% {
961                transform: translateY(0)
962            }
963
964            50% {
965                transform: translateY(-6px)
966            }
967        }
968
969        @keyframes vis-sheen {
970            0% {
971                left: -30%
972            }
973
974            100% {
975                left: 130%
976            }
977        }
978
979        @media (prefers-reduced-motion:reduce) {
980            .shloka-banner {
981                animation: none
982            }
983
984            .shloka-banner::before {
985                display: none
986            }
987        }
988
989        /* ===== MISSION ===== */
990        .mission {
991            padding: 64px 0
992        }
993
994        .mission .eyebrow {
995            font-size: .8rem;
996            letter-spacing: .12em;
997            color: #6b7280;
998            text-transform: uppercase;
999            font-weight: 700
1000        }
1001
1002        .mission .title {
1003            margin: .35rem 0 1.25rem;
1004            font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.2rem)
1005        }
1006
1007        .mission-card {
1008            position: relative;
1009            background: #fff;
1010            border: 1px solid #eee;
1011            border-radius: 16px;
1012            padding: 20px;
1013            box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
1014            transition: transform .25s ease, box-shadow .25s ease
1015        }
1016
1017        .mission-card::before {
1018            content: "";
1019            position: absolute;
1020            inset: 0;
1021            border-radius: 16px;
1022            padding: 1px;
1023            background: linear-gradient(135deg, rgba(214, 166, 91, .8), rgba(214, 166, 91, .25));
1024            -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
1025            -webkit-mask-composite: xor;
1026            mask-composite: exclude
1027        }
1028
1029        .mission-card:hover {
1030            transform: translateY(-4px);
1031            box-shadow: 0 14px 36px rgba(0, 0, 0, .10)
1032        }
1033
1034        .mission-card .icon {
1035            width: 48px;
1036            height: 48px;
1037            border-radius: 50%;
1038            display: flex;
1039            align-items: center;
1040            justify-content: center;
1041            color: var(--brand);
1042            margin-bottom: .6rem;
1043            font-size: 1.3rem;
1044            border: 2px solid #e8d4a2;
1045            background: #fffdf7;
1046            box-shadow: inset 0 2px 8px rgba(0, 0, 0, .03)
1047        }
1048
1049        .mission-card h5 {
1050            margin: .2rem 0 .35rem
1051        }
1052
1053        .mission-card p {
1054            margin: 0;
1055            color: #333
1056        }
1057
1058
1059        /* =================== TOKENS (scoped on .ykx-scope) =================== */
1060        .ykx-scope {
1061            --ykx-ink: #2a211d;
1062            --ykx-ink-2: #42372f;
1063            --ykx-paper: #ffffff;
1064            --ykx-wash: #faf7f0;
1065            --ykx-soft: #f5efe4;
1066            --ykx-teal: #144a43;
1067            --ykx-teal-2: #0f3b35;
1068            --ykx-gold: #d8b372;
1069            --ykx-gold-2: #e6c88e;
1070            --ykx-line: #eadfce;
1071            --ykx-muted: #7a6e63;
1072            --ykx-shadow: 0 10px 30px rgba(0, 0, 0, .06);
1073        }
1074
1075        /* Tiny ornamental rule */
1076        .ykx-orn {
1077            width: min(520px, 80vw);
1078            height: 12px;
1079            margin: .65rem auto 1.25rem;
1080            position: relative;
1081            background:
1082                radial-gradient(closest-side, var(--ykx-gold) 35%, transparent 36%) 50% 50%/78px 12px no-repeat,
1083                linear-gradient(90deg, transparent 0 40%, var(--ykx-gold) 40% 60%, transparent 60% 100%);
1084            opacity: .75;
1085        }
1086
1087        /* =================== FAQ =================== */
1088        .ykx-faq {
1089            background: linear-gradient(180deg, #fff, var(--ykx-wash));
1090            border-radius: 20px;
1091            box-shadow: var(--ykx-shadow);
1092            padding: 1.25rem;
1093        }
1094
1095        .ykx-faq .accordion-item {
1096            border: 1px solid var(--ykx-line);
1097            border-radius: 14px;
1098            overflow: hidden;
1099            margin-bottom: .65rem;
1100            background: #fff;
1101        }
1102
1103        .ykx-faq .accordion-button {
1104            font-weight: 700;
1105            color: var(--ykx-ink);
1106            padding: 1rem 1.25rem;
1107            background: linear-gradient(180deg, #fff, #fbf9f4);
1108        }
1109
1110        .ykx-faq .accordion-button:not(.collapsed) {
1111            color: var(--ykx-teal);
1112            background: #f7f1e5;
1113        }
1114
1115        .ykx-faq .accordion-button:focus {
1116            box-shadow: none;
1117        }
1118
1119        .ykx-faq .accordion-button::after {
1120            background-image: none;
1121            width: 1.1rem;
1122            height: 1.1rem;
1123            transform: rotate(0);
1124            border: 2px solid var(--ykx-gold);
1125            border-left: 0;
1126            border-top: 0;
1127            content: "";
1128            margin-left: auto;
1129            border-radius: 2px;
1130            transform: rotate(45deg);
1131        }
1132
1133        .ykx-faq .accordion-button.collapsed::after {
1134            transform: rotate(-135deg);
1135        }
1136
1137        .ykx-faq .accordion-body {
1138            color: var(--ykx-ink-2);
1139            line-height: 1.65;
1140            padding: 1rem 1.25rem;
1141        }
1142
1143
1144
1145        /* =================== LINKS CLOUD =================== */
1146        .ykx-links-cloud {
1147            display: flex;
1148            flex-wrap: wrap;
1149            gap: 14px;
1150        }
1151
1152        .ykx-chip {
1153            position: relative;
1154            display: inline-flex;
1155            align-items: center;
1156            gap: .5rem;
1157            background: #fff;
1158            border: 1px solid var(--ykx-line);
1159            color: var(--ykx-ink);
1160            padding: .6rem .95rem;
1161            border-radius: 12px;
1162            box-shadow: var(--ykx-shadow);
1163            transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
1164        }
1165
1166        .ykx-chip::before {
1167            content: "";
1168            position: absolute;
1169            inset: 0;
1170            border-radius: 12px;
1171            background: linear-gradient(180deg, transparent, rgba(216, 179, 114, .12));
1172            opacity: 0;
1173            transition: opacity .2s ease;
1174        }
1175
1176        .ykx-chip:hover {
1177            transform: translateY(-2px);
1178            border-color: #e3d6c3;
1179        }
1180
1181        .ykx-chip:hover::before {
1182            opacity: 1;
1183        }
1184
1185        .ykx-chip .bi {
1186            color: var(--ykx-gold);
1187        }
1188    </style>
1189
1190    <!-- ===== HISTORY ===== -->
1191    <section id="history" class="yk-history">
1192        <div class="container container-wide">
1193            <div class="ykh-wrap">
1194                <div class="text-center mb-3">
1195                    <span class="ykh-eyebrow"><i class="bi bi-stars me-1"></i> YogKulam • Since 2012</span>
1196                    <h2 class="ykh-title">Our History</h2>
1197                    <p class="ykh-lead">How a small community became a calm, modern home for ancient yoga wisdom.</p>
1198                </div>
1199
1200                <div class="ykh-grid">
1201                    <div class="ykh-col">
1202                        <div class="ykh-timeline">
1203                            <article class="ykh-step"><span class="dot"></span>
1204                                <h5>Seeds of a Community (2012)</h5>
1205                                <p>In September 2012, a sixteen-year-old boy, who was struggling with finance and purpose,
1206                                    started a yoga community to transform people's lives. Slowly, he converted this
1207                                    community into the Yoga Teacher Training Institute, MDVTI India (now YogKulam). To date,
1208                                    this organization has trained over <strong>40,000</strong> teachers globally.</p>
1209                            </article>
1210                            <article class="ykh-step"><span class="dot"></span>
1211                                <h5>A Decade of Teaching</h5>
1212                                <p>For more than a decade, it has been a place for learning to become a Yoga Teacher. We
1213                                    offer programs students can choose based on strengths and interests. Content is taught
1214                                    simply and systematically—helping students become <strong>world-class yoga
1215                                        teachers</strong>.</p>
1216                            </article>
1217                            <article class="ykh-step"><span class="dot"></span>
1218                                <h5>Becoming YogKulam</h5>
1219                                <p>As time passed, the organization grew and evolved. It isn’t just about training yoga
1220                                    teachers anymore; it has become <strong>YogKulam</strong>—a place where yoga can touch
1221                                    everyone, blending ancient wisdom with modern technology.</p>
1222                                <p class="mb-0"><em>Our vision:</em> “To touch many lives by revealing the true essence of
1223                                    yoga and how its branches—Asana, Meditation, Philosophy, etc.—can positively transform
1224                                    life through modern integration.”</p>
1225                            </article>
1226                        </div>
1227                    </div>
1228
1229                    <aside class="ykh-col">
1230                        <div class="ykh-video ykh-sticky">
1231                            <div class="ykh-video-head"><span class="label"><i class="bi bi-play-circle me-1"></i> Story
1232                                    Video</span>
1233                                <h6 class="title mb-0">Watch our journey</h6>
1234                            </div>
1235                            <a class="ykh-thumb ratio ratio-16x9" href="javascript:void(0)" data-bs-toggle="modal"
1236                                data-bs-target="#ykhVideoModal" aria-label="Play YogKulam journey video">
1237                                <picture>
1238                                    <source srcset="https://img.youtube.com/vi/wYHuHsVersY/maxresdefault.jpg"
1239                                        media="(min-width:768px)">
1240                                    <img src="https://img.youtube.com/vi/wYHuHsVersY/hqdefault.jpg"
1241                                        alt="YogKulam Video Thumbnail" loading="lazy">
1242                                </picture>
1243                                <span class="ykh-play"><i class="bi bi-play-fill"></i></span>
1244                            </a>
1245                            <div class="ykh-video-foot">Watch YogKulam’s Journey of Yoga Unfold — Honoring the Legacy Since
1246                                2012</div>
1247                        </div>
1248                    </aside>
1249                </div>
1250            </div>
1251        </div>
1252    </section>
1253
1254    <!-- ===== TIMELINE FILTERS ===== -->
1255    <header class="hero">
1256        <div class="timeline-wrap">
1257            <h1>Timeline (2012–2025)</h1>
1258            <p>
1258Find Developments with Time</p>
1259
1260            <div class="control-bar">
1261                <div class="row align-items-end justify-content-center">
1262                    <div class="col-12 col-lg-3">
1263                        <label for="fromYear" class="form-label mb-1 small text-muted">From</label>
1264                        <select id="fromYear" class="form-select form-select-sm"
1265                            aria-label="Filter timeline from year"></select>
1266                    </div>
1267                    <div class="col-12 col-lg-3">
1268                        <label for="toYear" class="form-label mb-1 small text-muted">To</label>
1269                        <select id="toYear" class="form-select form-select-sm"
1270                            aria-label="Filter timeline to year"></select>
1271                    </div>
1272                    <div class="col-12 col-lg-4 d-flex flex-wrap gap-2 justify-content-center mt-3 mt-lg-0">
1273                        <button id="applyFilter" class="yk-btn" type="button"><i class="bi bi-funnel"></i> <span>Apply
1274                                Filter</span></button>
1275                        <button id="resetFilter" class="yk-btn yk-btn-light" type="button"><i
1276                                class="bi bi-arrow-counterclockwise"></i> <span>Reset</span></button>
1277                        <button id="toggleCompact" class="yk-btn yk-btn-outline" type="button"><i
1278                                class="bi bi-arrows-collapse"></i> <span>Compact</span></button>
1279                    </div>
1280                </div>
1281            </div>
1282        </div>
1283    </header>
1284
1285    <!-- ===== CENTERED TIMELINE WITH RAIL ===== -->
1286    <main class="py-4">
1287        <div class="wrap">
1288            <div id="timeline" class="timeline"></div>
1289        </div>
1290    </main>
1291
1292    <!-- ===== VISION ===== -->
1293    <section class="fm-wrap">
1294        <div class="container container-wide">
1295            <div class="text-center mb-3">
1296                <h1 class="fw-bold" style="letter-spacing:.4px;">Our Vision</h1>
1297            </div>
1298            <div class="fm-underline"></div>
1299            <div class="shloka-shell">
1300                <div class="shloka-banner">
1301                    To positively change people's lives by revealing the true essence of yoga
1302                    through the integration of modern technology.
1303                </div>
1304            </div>
1305        </div>
1306    </section>
1307
1308    <!-- ===== MISSION ===== -->
1309    <section id="mission" class="mission">
1310        <div class="container container-wide">
1311            <div class="text-center mb-4">
1312                <div class="eyebrow">Our Mission</div>
1313                <h1 class="title">What YogKulam Stands For</h1>
1314            </div>
1315
1316            <div class="row g-3 g-md-4">
1317                <div class="col-md-6 col-lg-4">
1318                    <div class="mission-card h-100">
1319                        <div class="icon"><i class="bi bi-heart-pulse"></i></div>
1320                        <h5>Swastha Bharat</h5>
1321                        <p>Healthy & happy lives through disciplined yoga practice and education.</p>
1322                    </div>
1323                </div>
1324                <div class="col-md-6 col-lg-4">
1325                    <div class="mission-card h-100">
1326                        <div class="icon"><i class="bi bi-brain"></i></div>
1327                        <h5>Samridha Bharat</h5>
1328                        <p>Resilient, clear minds with character-building and mental wellbeing.</p>
1329                    </div>
1330                </div>
1331                <div class="col-md-6 col-lg-4">
1332                    <div class="mission-card h-100">
1333                        <div class="icon"><i class="bi bi-journal-bookmark"></i></div>
1334                        <h5>Vaidik Bharat</h5>
1335                        <p>Preserving timeless wisdom and reconnecting to our Dharmic purpose.</p>
1336                    </div>
1337                </div>
1338                <div class="col-md-6 col-lg-4">
1339                    <div class="mission-card h-100">
1340                        <div class="icon"><i class="bi bi-mortarboard"></i></div>
1341                        <h5>100+ Gurukuls Vision</h5>
1342                        <p>Establish a network of Gurukuls blending eternal values with modern life.</p>
1343                    </div>
1344                </div>
1345                <div class="col-md-6 col-lg-4">
1346                    <div class="mission-card h-100">
1347                        <div class="icon"><i class="bi bi-people"></i></div>
1348                        <h5>Empower Communities</h5>
1349                        <p>Jobs, financial literacy, and entrepreneurship in yoga ecosystems.</p>
1350                    </div>
1351                </div>
1352                <div class="col-md-6 col-lg-4">
1353                    <div class="mission-card h-100">
1354                        <div class="icon"><i class="bi bi-award"></i></div>
1355                        <h5>Quality & Commitment</h5>
1356                        <p>High standards and mentors who lead by example in every program.</p>
1357                    </div>
1358                </div>
1359            </div>
1360        </div>
1361    </section>
1362    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css" />
1363<style>
1364    /* =================== GLIMPSES STRIP =================== */
1365    .ykx-glimpses {
1366        background:
1367            radial-gradient(1200px 600px at -10% -10%, #f5efe5 0%, transparent 60%),
1368            radial-gradient(1200px 600px at 110% -10%, #eff6f3 0%, transparent 60%),
1369            #fff;
1370        border-radius: 22px;
1371        box-shadow: var(--ykx-shadow);
1372        overflow: hidden;
1373    }
1374
1375    .ykx-glimpses .ykx-shot {
1376        position: relative;
1377        overflow: hidden;
1378        border-radius: 16px;
1379        height: 360px;
1380        box-shadow: 0 14px 36px rgba(0, 0, 0, .08);
1381    }
1382
1383    .ykx-glimpses .ykx-shot img {
1384        width: 100%;
1385        height: 100%;
1386        object-fit: cover;
1387        transition: transform .6s ease, filter .6s ease, opacity .6s ease;
1388    }
1389
1390    .ykx-glimpses .ykx-shot.side img {
1391        filter: grayscale(1) contrast(1.05) opacity(.75);
1392    }
1393
1394    .ykx-glimpses .ykx-shot:hover img {
1395        transform: scale(1.03);
1396        filter: none;
1397        opacity: 1;
1398    }
1399
1400    @media (max-width:991.98px) {
1401        .ykx-glimpses .ykx-shot {
1402            height: 280px
1403        }
1404    }
1405
1406    @media (max-width:575.98px) {
1407        .ykx-glimpses .ykx-shot {
1408            height: 220px
1409        }
1410    }
1411
1412    /* Swiper arrows/pagination tweak for visibility */
1413    .ykx-glimpses .swiper-button-prev,
1414    .ykx-glimpses .swiper-button-next {
1415        color: #0f3b35;
1416        /* uses --ykx-teal-2 tone */
1417        width: 38px;
1418        height: 38px;
1419    }
1420
1421    .ykx-glimpses .swiper-pagination-bullet-active {
1422        background: #d8b372;
1423        /* uses --ykx-gold */
1424    }
1425</style>
1426
1427<section class="ykx-scope container  container-wide  my-5">
1428    <div class="text-center">
1429        <h2 class="fw-bold" style="letter-spacing:.2px;color:#2a211d">Glimpses of YogKulam</h2>
1430        <div class="ykx-orn"></div>
1431    </div>
1432
1433    <div class="ykx-glimpses p-3">
1434        <!-- Slider -->
1435        <div class="swiper ykxGlimpsesSwiper">
1436            <div class="swiper-wrapper">
1437
1438                <!-- Slide 1 -->
1439                <div class="swiper-slide">
1440                    <figure class="ykx-shot">
1441                        <img src="https://storage.googleapis.com/yogkulam/landing-page/img/Landing Page/ytt sales team yogkulam.jpg"
1442                            alt="Glimpse 1">
1443                    </figure>
1444                </div>
1445
1446                <!-- Duplicate or change URLs below to add more slides -->
1447                <div class="swiper-slide">
1448                    <figure class="ykx-shot">
1449                        <img src="https://storage.googleapis.com/yogkulam/landing-page/img/Landing Page/student ytt certification program yogkulam.jpg"
1450                            alt="Glimpse 2">
1451                    </figure>
1452                </div>
1453
1454                <div class="swiper-slide">
1455                    <figure class="ykx-shot">
1456                        <img src="https://storage.googleapis.com/yogkulam/landing-page/img/Landing Page/ceremony-at-yogkulam.jpg"
1457                            alt="Glimpse 3">
1458                    </figure>
1459                </div>
1460
1461                <div class="swiper-slide">
1462                    <figure class="ykx-shot">
1463                        <img src="https://storage.googleapis.com/yogkulam/landing-page/img/Landing Page/team-yogkulam-yogguru-jwalaji.jpg"
1464                            alt="Glimpse 4">
1465                    </figure>
1466                </div>
1467
1468                <div class="swiper-slide">
1469                    <figure class="ykx-shot">
1470                        <img src="https://storage.googleapis.com/yogkulam/destination/path/app/public/event_pictures/YNA10WlSDoExKkcFXNMpBY0Z3Vt6ygTVJ9qdYEPF_9%20(1).jpg"
1471                            alt="Glimpse 5">
1472                    </figure>
1473                </div>
1474
1475            </div>
1476
1477            <!-- Optional pagination + arrows -->
1478            <div class="swiper-pagination"></div>
1479            <div class="swiper-button-prev"></div>
1480            <div class="swiper-button-next"></div>
1481        </div>
1482    </div>
1483</section>
1484
1485<script src="https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.js"></script>
vendor: 2 bytes, line 1485
1485
1486<script>
1487    const glimpses = new Swiper('.ykxGlimpsesSwiper', {
1488        loop: true,
1489        centeredSlides: true,
1490        speed: 700,
1491        autoplay: {
1492            delay: 2600,
1493            disableOnInteraction: false
1494        },
1495        slidesPerView: 1.1,
1496        spaceBetween: 12,
1497        pagination: {
1498            el: '.swiper-pagination',
1499            clickable: true
1500        },
1501        navigation: {
1502            nextEl: '.swiper-button-next',
1503            prevEl: '.swiper-button-prev'
1504        },
1505        breakpoints: {
1506            576: {
1507                slidesPerView: 1.2,
1508                spaceBetween: 14
1509            },
1510            768: {
1511                slidesPerView: 2.2,
1512                spaceBetween: 16
1513            },
1514            992: {
1515                slidesPerView: 3,
1516                spaceBetween: 18
1517            }
1518        },
1519        autoHeight: true
1520    });
1521</script>
1521
1522
1523    <section class="ykx-scope container container-wide my-5">
1524        <div class="text-center">
1525            <h2 class="fw-bold" style="letter-spacing:.2px;color:#2a211d">Explore our useful links
1526            </h2>
1527            <p class="text-muted">Quick links to navigate</p>
1528            <div class="ykx-orn"></div>
1529        </div>
1530
1531        <!-- <div class="ykx-links-cloud">
1532                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/post-graduate-diploma-in-yoga-therapy"><i class="bi bi-award"></i> Post Graduate Diploma in Yoga Therapy</a>
1533                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/advance-diploma-in-yoga-teacher"><i class="bi bi-mortarboard"></i> Advance Diploma in Yoga Therapy</a>
1534                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/diploma-in-yoga-teacher-training"><i class="bi bi-journal-text"></i> Diploma in Yoga Therapy</a>
1535                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/foundation-course-in-yoga"><i class="bi bi-book"></i> Foundation Course in Yoga</a>
1536                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/diploma-in-yoga-teacher-training"><i class="bi bi-clock-history"></i> 200 hour Yoga Teacher Training</a>
1537                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/advance-diploma-in-yoga-teacher"><i class="bi bi-clock"></i> 400 Hour Yoga Teacher Training</a>
1538                                                                                                                                                                            <a class="ykx-chip" href="https://yogkulam.com/ryt-200-hour-yoga-teacher-training"><i class="bi bi-person-badge"></i> RYT-200 Teacher Training</a>
1539                                                                                                                                                                          </div> -->
1540        <div class="ykx-links-cloud">
1541            <a class="ykx-chip" href="https://www.yogkulam.com/course/pg-diploma-in-yoga-therapy/details"><i
1542                    class="bi bi-award"></i> Post Graduate Diploma in Yoga Therapy</a>
1543            <a class="ykx-chip" href="https://www.yogkulam.com/course/advance-diploma-in-yoga-teaching/details"><i
1544                    class="bi bi-mortarboard"></i> Advance Diploma in Yoga Therapy</a>
1545            <a class="ykx-chip" href="https://www.yogkulam.com/course/diploma-in-yoga-therapy/details"><i
1546                    class="bi bi-journal-text"></i> Diploma in Yoga Therapy</a>
1547            <!-- <a class="ykx-chip" href="https://yogkulam.com/foundation-course-in-yoga"><i class="bi bi-book"></i> Foundation Course in Yoga</a> -->
1548            <a class="ykx-chip" href="https://www.yogkulam.com/course/diploma-in-yoga-therapy/details"><i
1549                    class="bi bi-clock-history"></i> 200 hour Yoga Teacher Training</a>
1550            <a class="ykx-chip" href="https://www.yogkulam.com/course/advance-diploma-in-yoga-teaching/details"><i
1551                    class="bi bi-clock"></i> 400 Hour Yoga Teacher Training</a>
1552            <!-- <a class="ykx-chip" href="https://yogkulam.com/ryt-200-hour-yoga-teacher-training"><i class="bi bi-person-badge"></i> RYT-200 Teacher Training</a> -->
1553        </div>
1554
1555
1556    </section>
1557    <style>
1558    /* =================== ELEGANT FOOTER =================== */
1559
1560    /* =================== (Optional) Image after Footer =================== */
1561    .ykx-end-image {
1562        width: 100%;
1563        margin: auto;
1564        padding: 0;
1565    }
1566
1567    .ykx-end-image img {
1568        display: block;
1569        width: 100%;
1570        height: auto;
1571    }
1572
1573    /* 🔹 Make footer top image taller on mobile */
1574    @media (max-width: 768px) {
1575        .ykx-end-image img {
1576
1577            height: 60px;
1578            /* increase height visibility */
1579            display: block;
1580            object-fit: cover;
1581            overflow: hidden;
1582        }
1583    }
1584
1585    .ykx-footer {
1586        position: relative;
1587        color: #e9edf1;
1588        /*  background: linear-gradient(180deg, #0f1a1d, #142428);*/
1589        background: radial-gradient(circle, #141e34, #355666);
1590        overflow: hidden;
1591        isolation: isolate;
1592    }
1593
1594    .ykx-footer:before {
1595        content: "";
1596        position: absolute;
1597        inset: -20% -10% auto -10%;
1598        height: 320px;
1599        z-index: 0;
1600        background:
1601            radial-gradient(600px 160px at 15% 30%, rgba(216, 179, 114, .12), transparent 60%),
1602            radial-gradient(600px 160px at 85% 20%, rgba(31, 77, 70, .25), transparent 60%);
1603        filter: blur(8px);
1604        opacity: .9;
1605    }
1606
1607    .ykx-footer .ykx-wave {
1608        position: absolute;
1609        inset: auto 0 100% 0;
1610        height: 60px;
1611        z-index: 1;
1612        background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .06));
1613        -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 120" preserveAspectRatio="none"><path fill="%23000" d="M0,96L48,80C96,64,192,32,288,26.7C384,21,480,43,576,69.3C672,96,768,128,864,122.7C960,117,1056,75,1152,53.3C1248,32,1344,32,1392,32L1440,32L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z"/></svg>') center / cover repeat-x;
1614    }
1615
1616    .ykx-footer a {
1617        color: #e8ecef;
1618        text-decoration: none;
1619    }
1620
1621    .ykx-footer a:hover {
1622        color: #fff;
1623        text-decoration: underline;
1624    }
1625
1626    .ykx-footer .ykx-col-h {
1627        font-weight: 800;
1628        letter-spacing: .2px;
1629        color: #f4f6f8;
1630        margin-bottom: .75rem;
1631    }
1632
1633    .ykx-footer .ykx-list {
1634        list-style: none;
1635        padding: 0;
1636        margin: 0
1637    }
1638
1639    .ykx-footer .ykx-list li {
1640        margin: .45rem 0;
1641        color: #cdd4d9
1642    }
1643
1644    .ykx-footer .ykx-pill {
1645        display: inline-flex;
1646        align-items: center;
1647        gap: .45rem;
1648        border: 1px dashed rgba(255, 255, 255, .25);
1649        padding: .55rem .9rem;
1650        border-radius: 999px;
1651        background: rgba(255, 255, 255, .04);
1652    }
1653
1654    .ykx-footer .ykx-social a {
1655        width: 38px;
1656        height: 38px;
1657        border-radius: 50%;
1658        display: inline-grid;
1659        place-items: center;
1660        background: rgba(255, 255, 255, .08);
1661        margin-right: .4rem;
1662        transition: transform .15s ease, background .15s ease;
1663    }
1664
1665    .ykx-footer .ykx-social a:hover {
1666        transform: translateY(-2px);
1667        background: rgba(255, 255, 255, .18);
1668    }
1669
1670    .ykx-footer .ykx-mini {
1671        border-top: 1px solid rgba(255, 255, 255, .08);
1672        margin-top: 1.25rem;
1673        padding-top: .85rem;
1674        color: #a9b3ba;
1675        font-size: .92rem;
1676    }
1677
1678    .ykx-footer .ykx-brand {
1679        display: flex;
1680        align-items: center;
1681        gap: .75rem;
1682        color: #fff;
1683        font-weight: 800;
1684        letter-spacing: .3px;
1685    }
1686
1687    .ykx-footer .ykx-visit {
1688        display: inline-flex;
1689        flex-direction: column;
1690        justify-content: center;
1691        align-items: center;
1692        min-width: 180px;
1693        border: 1px dashed rgba(255, 255, 255, .28);
1694        padding: .9rem 1.2rem;
1695        border-radius: 14px;
1696        background: rgba(255, 255, 255, .03);
1697    }
1698
1699    .ykx-footer .ykx-visit .n {
1700        font-size: 1.45rem;
1701        font-weight: 800;
1702        color: #fff
1703    }
1704
1705    .ykx-footer .ykx-visit small {
1706        color: #d5dbe0
1707    }
1708
1709    @media (max-width:991.98px) {
1710        .ykx-footer .ykx-visit {
1711            margin-top: 1rem
1712        }
1713    }
1714
1715    .footer-outline-wrap,
1716    .ykx-end-image .wrap {
1717        max-width: 1200px;
1718        margin-inline: auto;
1719        /* center horizontally */
1720        padding-inline: 1.5rem;
1721        /* left/right spacing on small screens */
1722    }
1723
1724    @media (min-width: 992px) {
1725
1726        .footer-outline-wrap,
1727        .ykx-end-image .wrap {
1728            padding-inline: 0;
1729            /* remove padding on larger screens */
1730        }
1731    }
1732</style>
1733
1734<div class="ykx-end-image container container-wide">
1735    <div class="wrap">
1736        <img src="https://www.yogkulam.com/assets/slides.jpg" alt="YogKulam Slides" heigh="100px" />
1737    </div>
1738</div>
1739<div class="footer-outline-wrap">
1740    <footer class="ykx-scope container container-wide ykx-footer  mb-4 pt-5">
1741        <div class="wrap">
1742            <div class="ykx-wave"></div>
1743            <div class="container position-relative" style="z-index:2">
1744                <div class="row g-4">
1745                    <div class="col-md-5">
1746                        <div class="ykx-brand mb-2">
1747                            <img src="https://www.yogkulam.com/assets/frontend/img/icons/logo.jpg" alt=""
1748                                style="width:46px;height:46px;object-fit:contain;filter:grayscale(1) contrast(1.1) brightness(1.1);border-radius:50px;">
1749                            <span>YogKulam</span>
1750                        </div>
1751                        <p class="mb-3" style="max-width:520px">3/133, Vikas Nagar, Lucknow, Uttar Pradesh
1752                            (INDIA)-226022.<br>For Admission: 1800-891-9232 • Franchise: 1800-891-9232  
1753                           </p>
1754                        <div class="ykx-pill mb-3"><i class="bi bi-envelope"></i> [email protected]</div>
1755                        <div class="ykx-social">
1756                            <a href="https://www.facebook.com/yogkulamofficial/?_rdr" aria-label="Facebook"><i
1757                                    class="bi bi-facebook"></i></a>
1758                            <a href="https://www.youtube.com/@YogKulamOfficial/videos" aria-label="Youtube"><i
1759                                    class="bi bi-youtube"></i></a>
1760                            <a href="https://www.instagram.com/yogkulamofficial/?hl=en" aria-label="Instagram"><i
1761                                    class="bi bi-instagram"></i></a>
1762                        </div>
1763                    </div>
1764
1765                    <div class="col-6 col-md-3">
1766                        <div class="ykx-col-h">Important</div>
1767                        <ul class="ykx-list">
1768                            <li><a href="https://yogkulam.com/join-our-team">Join Our Team</a></li>
1769                            <li><a href="https://yogkulam.com/webinar">Join YTT Webinar</a></li>
1770                            
1771                            
1772                            <li><a href="https://yogkulam.com/all-event">Latest Events </a></li>
1773                            <li><a href="https://yogkulam.com/news-media">Media Coverage</a></li>
1774                            <li><a href="https://yogkulam.com/Authorised-Franchises">Authorized Study Center</a></li>
1775                        </ul>
1776                    </div>
1777
1778                    <div class="col-6 col-md-2">
1779                        <div class="ykx-col-h">Quick Links</div>
1780                        <ul class="ykx-list">
1781                            <li><a href="https://yogkulam.com/refund-policy">Refund Policy</a></li>
1782                            <li><a href="https://yogkulam.com/privacy-policy">Privacy Policy</a></li>
1783                            <li><a href="https://yogkulam.com/terms-and-conditions">Terms And Condition</a></li>
1784                             <li><a href="https://yogkulam.com/delete-account">Delete Account</a></li>
1785                            <li><a href="https://yogkulam.com/faqn">FAQ’s</a></li>
1786                            <li><a href="https://yogkulam.com/raise-ticket">Raise Ticket</a></li>
1787                            <li><a class="btn btn-sm"
1788                                    style="background:#dea86a;color:#2c230f;font-weight:700;border-radius:999px;"
1789                                    href="https://yogkulam.com/franchiseLogin">Franchise Login</a></li>
1790
1791                        </ul>
1792                    </div>
1793
1794                    <div class="col-md-2 d-flex flex-column align-items-md-end">
1795                        <div class="ykx-visit text-center mb-2">
1796                            <small>Total visitors</small>
1797                            <div class="n" id="ykxVisitor">0</div>
1798                        </div>
1799                        <a class="btn btn-sm"
1800                            style="background:#dea86a;color:#2c230f;font-weight:700;border-radius:999px;"
1801                            data-bs-toggle="modal" data-bs-target="#attendanceModal">
1802                            Mark Attendance
1803                        </a>
1804                    </div>
1805                </div>
1806
1807                <div class="ykx-mini d-flex flex-column flex-md-row justify-content-between align-items-center">
1808                    <div>© <strong>BHARATSHILA INITIATIVE PRIVATE LIMITED</strong>. All rights reserved.</div>
1809                    <div>Crafted with Care
1810                        <!-- inside your ykx-footer .ykx-mini (or anywhere you prefer) -->
1811                        <!-- <a class="ykx-cta-pay" href="https://www.yogkulam.com/ICICI_MS_LIVE/saleApi.php">
1812                            <i class="bi bi-lightning-charge-fill"></i> Pay now
1813                        </a> -->
1814                    </div>
1815                </div>
1816            </div>
1817        </div>
1818    </footer>
1819
1820    <!-- Modal Attendence-->
1821
1822<div class="modal fade" id="attendanceModal" tabindex="-1" aria-labelledby="attendanceModalLabel" aria-hidden="true">
1823
1824    <div class="modal-dialog modal-lg attendence-dialog">
1825        <div class="modal-content attendence-content">
1826            <div class="modal-header">
1827                <h1 class="modal-title fs-5" id="attendanceModalLabel">Attendance Form</h1>
1828                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
1829            </div>
1830            <div class="modal-body">
1831                <form id=attendanceForm action="https://yogkulam.com/student-Attend
1831ace" method="post">
1832                    <input type="hidden" name="_token" value="b31dhz9SaN61KZXH3nRb0THKNNWIXzFUwCffpC6e" autocomplete="off">                    <div class="form-group">
1833                        <label for="mobileNumber">Mobile Number</label>
1834                        <input type="tel" class="form-control" id="mobileNumber" placeholder="Enter Mobile Number"
1835                            name="mobileNumber">
1836                    </div>
1837                    <div class="form-group">
1838                        <span class="text-success" id="studentName">name</span>
1839                    </div>
1840                    <div class="form-group">
1841                        <label for="name">Date & Time</label>
1842                        <div class="row">
1843                            <div class="col">
1844                                <input type="text" class="form-control" id="date" placeholder="" name="date"
1845                                    value="data" readonly>
1846                            </div>
1847                            <div class="col">
1848                                <input type="text" class="form-control" id="time" placeholder="" readonly>
1849                            </div>
1850                        </div>
1851                    </div>
1852                    <div class="form-group">
1853                        <label for="teacher">Teacher</label>
1854                        <select class="form-select" id="teacher" name="teacher_id">
1855                            <option value="">Select Teacher</option>
1856                                                            <option value="2">AMRITA GUPTA</option>
1857                                                            <option value="3">MANISHA ARYA</option>
1858                                                            <option value="5">VIKAS SINGH RAJPUT</option>
1859                                                            <option value="23">SHAMLI JOSHI</option>
1860                                                            <option value="24">Sanchit Singh</option>
1861                                                            <option value="25">Shachi Khemuka</option>
1862                                                            <option value="26">Ritik Gupta</option>
1863                                                            <option value="27">Antim Kumar Jain</option>
1864                                                            <option value="28">Tajendra Jeet Pal</option>
1865                                                            <option value="30">Jhanvi Thothawala</option>
1866                                                            <option value="31">Neharika Jadeja</option>
1867                                                            <option value="33">Vipin K. Rathore</option>
1868                                                            <option value="39">Shubham Tripathi</option>
1869                                                            <option value="40">Bhagyashree Anil Joshi</option>
1870                                                    </select>
1871                    </div>
1872                    <div class="form-group">
1873                        <label for="feedback">Feedback</label>
1874                        <textarea class="form-control" id="feedback" name="feedback" rows="3" placeholder="Enter Feedback"></textarea>
1875                    </div>
1876                    <div class="form-group">
1877                        <label for="starRating">Star Rating</label>
1878                        <div class="star-rating">
1879                            <span class="fa fa-star"></span>
1880                            <span class="fa fa-star"></span>
1881                            <span class="fa fa-star"></span>
1882                            <span class="fa fa-star"></span>
1883                            <span class="fa fa-star"></span>
1884                        </div>
1885                        <input type="hidden" id="ratingValue" name="ratingValue" value="">
1886                    </div>
1887                    <div id="responseMessage"></div>
1888            </div>
1889            <div class="modal-footer">
1890                <button type="button" id="closedmodal" class="btn btn-secondary" data-dismiss="modal">Close</button>
1891                <button type="submit" id="submitBtn" class="btn btn-primary">Mark Attendance</button>
1892
1893            </div>
1894        </div>
1895        </form>
1896    </div>
1897</div>
1898<!-- Attendence Modal -->
1899
1900<script>
1901    $(document).ready(function() {
1902        $("#mobileNumber").on("keyup", function() {
1903            const mobileNumber = $(this).val();
1904            const messageElement = $("#studentName");
1905            const cleanedMobileNumber = mobileNumber.replace(/\D/g, '');
1906
1907            if (cleanedMobileNumber.length === 10) {
1908                $.ajax({
1909                    url: `/getname`,
1910                    type: "GET",
1911                    data: {
1912                        mobile_number: cleanedMobileNumber
1913                    },
1914                    dataType: "json",
1915                    success: function(data) {
1916                        if (data.student_name) {
1917                            messageElement.text(`Name: ${data.student_name}`);
1918                        } else {
1919                            messageElement.text("Name not found.");
1920                        }
1921                    },
1922                    error: function(xhr, status, error) {
1923                        console.error('Error fetching data:', error);
1924                        messageElement.text("Error fetching data.");
1925                    }
1926                });
1927            } else {
1928                messageElement.text("");
1929            }
1930        });
1931    });
1932</script>
1932
1933<!-- END OF AJAX FOR ATTANDANCE -->
1934<script>
1935    var stars = document.querySelectorAll(".star-rating .fa-star");
1936    var ratingValueInput = document.getElementById("ratingValue");
1937
1938    function handleStarClick(event) {
1939        var clickedStar = event.target;
1940        var clickedIndex = Array.from(stars).indexOf(clickedStar);
1941        var ratingValue = clickedIndex + 1;
1942
1943        for (var i = 0; i < stars.length; i++) {
1944            if (i <= clickedIndex) {
1945                stars[i].classList.add("checked");
1946            } else {
1947                stars[i].classList.remove("checked");
1948            }
1949        }
1950
1951        ratingValueInput.value = ratingValue;
1952    }
1953
1954    stars.forEach(function(star) {
1955        star.addEventListener("click", handleStarClick);
1956    });
1957    const t = new Date();
1958    const date = t.toLocaleDateString("en-US");
1959    document.getElementById("date").value = date;
1960    document.getElementById("time").value = t.toLocaleTimeString();
1961    document.getElementById("attendanceForm").addEventListener("submit", function(event) {
1962        const t = new Date();
1963        const date = t.toLocaleDateString("en-US");
1964        document.getElementById("date").value = date;
1965        document.getElementById("time").value = t.toLocaleTimeString();
1966    });
1967</script>
1967
1968    
1968<script>
1969        // Animate visitor count (non-intrusive). Replace 987678 with your live value.
1970        (function() {
1971            const el = document.getElementById('ykxVisitor');
1972            if (!el) return;
1973            const target = 987678; // <= put your live total visitors here
1974            const steps = 60,
1975                inc = Math.ceil(target / steps);
1976            let n = 0;
1977            const tick = () => {
1978                n = Math.min(target, n + inc);
1979                el.textContent = n.toLocaleString('en-IN');
1980                if (n < target) requestAnimationFrame(tick);
1981            };
1982            tick();
1983        })();
1984    </script>
1984
1985    
1985<script type="text/javascript" src=https://d2jyl60qlhb39o.cloudfront.net/integration-plugin.js id="wa-widget"
1986        widget-id="aaaid5"></script>
1986
1987    <style>
1988         .fresh-launch-btn {
1989             background: linear-gradient(135deg, #8B2025, #a93237);
1990             color: #fff;
1991             padding: 16px 24px;
1992             font-size: 18px;
1993             font-weight: 600;
1994             border-radius: 16px;
1995             border: none;
1996             animation: fresh-pulse 2.5s infinite;
1997         }
1998
1999         .fresh-launch-btn span {
2000             display: block;
2001             font-size: 12px;
2002         }
2003
2004         @keyframes fresh-pulse {
2005
2006             0%,
2007             100% {
2008                 transform: scale(1);
2009             }
2010
2011             50% {
2012                 transform: scale(1.03);
2013             }
2014         }
2015
2016         #freshWizardModal .modal-dialog {
2017             max-width: 600px;
2018         }
2019
2020         #freshWizardModal .modal-content {
2021             border-radius: 16px;
2022             background: #fffdf8;
2023         }
2024
2025         .fresh-modal-header {
2026             background: $8B2025;
2027             color: #fff;
2028             padding: 1rem 1.5rem;
2029             display: flex;
2030             align-items: center;
2031             justify-content: space-between;
2032         }
2033
2034         .fresh-modal-header img {
2035             margin-right: 1rem;
2036             width: 100%;
2037             height: auto;
2038             display: block;
2039         }
2040
2041         .fresh-modal-title {
2042             font-size: 1.25rem;
2043             font-weight: bold;
2044         }
2045
2046         .fresh-modal-body {
2047             padding: 1.5rem;
2048         }
2049
2050         .fresh-steps {
2051             display: flex;
2052             justify-content: center;
2053             gap: 8px;
2054             margin-bottom: 1rem;
2055         }
2056
2057         .fresh-dot {
2058             width: 12px;
2059             height: 12px;
2060             border-radius: 50%;
2061             background: #ddd;
2062         }
2063
2064         .fresh-dot.active {
2065             background: #f89c1c;
2066         }
2067
2068         .fresh-step {
2069             display: none;
2070         }
2071
2072         .fresh-step.active {
2073             display: block;
2074         }
2075
2076         .fresh-footer {
2077             padding: 1rem 1.5rem;
2078             display: flex;
2079             justify-content: space-between;
2080         }
2081
2082         .btn-fresh-next {
2083             background: #8B2025;
2084             color: #fff;
2085             padding: .6rem 1.5rem;
2086             border: none;
2087             border-radius: 8px;
2088         }
2089
2090         .btn-fresh-prev {
2091             background: #ccc;
2092             color: #333;
2093             padding: .6rem 1.5rem;
2094             border: none;
2095             border-radius: 8px;
2096         }
2097
2098         .fresh-input {
2099             border-radius: 8px;
2100             padding: .75rem 1rem;
2101             border: 1px solid #ccc;
2102         }
2103
2104         .budget-container {
2105             margin-top: 1rem;
2106         }
2107
2108         .pac-container {
2109             z-index: 99999 !important;
2110         }
2111
2112         @media (max-width: 768px) {
2113             #freshWizardModal .modal-dialog {
2114                 margin: 0 auto;
2115                 min-height: 70svh;
2116                 display: flex;
2117                 align-items: center;
2118                 padding: 12px;
2119             }
2120
2121             #freshWizardModal .modal-content {
2122                 max-height: 90svh;
2123                 overflow-y: auto;
2124             }
2125         }
2126     </style>
2127     <!-- Modal -->
2128     <div class="modal fade" id="freshWizardModal" tabindex="-1" aria-hidden="true">
2129         <div class="modal-dialog modal-dialog-centered">
2130             <div class="modal-content">
2131
2132                 <!-- Header -->
2133                 <div class="fresh-modal-header">
2134                     <img src="https://yogkulam.com/assets\Header.jpg" alt="YTT Banner">
2135                     <!-- <h5 class="fresh-modal-title">Enquire Now, Limited Seats Available</h5> -->
2136                     <button type="button" class="btn-close" onclick="closeFreshModal()"
2137                         style="filter: invert(0);"></button>
2138
2139                 </div>
2140
2141                 <!-- Body -->
2142                 <div class="fresh-modal-body">
2143                     <div class="fresh-steps">
2144                         <span class="fresh-dot active"></span>
2145                         <span class="fresh-dot"></span>
2146                         <span class="fresh-dot"></span>
2147                         <span class="fresh-dot"></span>
2148                         <span class="fresh-dot"></span>
2149                         <span class="fresh-dot"></span>
2150                         <span class="fresh-dot"></span>
2151                     </div>
2152
2153                     <form id="freshForm" action="https://yogkulam.com/lead-entry" method="POST">
2154                         <input type="hidden" name="_token" value="b31dhz9SaN61KZXH3nRb0THKNNWIXzFUwCffpC6e" autocomplete="off">                         <!-- Step 1 -->
2155                         <div class="fresh-step active">
2156                            <input type='hidden' id="zc_gad" name="zc_gad" value=""/>
2157                             <input type="text" id="name" name="name" class="form-control fresh-input mb-3"
2158                                 placeholder="Your Full Name" required pattern="[A-Za-z\s]{2,}">
2159                             <input type="tel" id="contact" name="contact" class="form-control fresh-input mb-3"
2160                                 placeholder="Contact Number" required pattern="\d{10}">
2161                             <input type="email" id="email" name="email" class="form-control fresh-input mb-3"
2162                                 placeholder="Email Address" required>
2163                             <input type="text" id="location" name="location" class="form-control fresh-input mb-3"
2164                                 id="location" placeholder="Your Location" required>
2165                             <input type="hidden" id="city" name="city">
2166                             <input type="hidden" id="state" name="state">
2167
2168                             <!--  -->
2169
2170                         </div>
2171
2172                         <!-- Step 2 -->
2173                         <div class="fresh-step">
2174
2175                             <p class="text-center mb-3"><strong>Thank you for your details!</strong><br>We’ll ask a few
2176                                 more things to tailor the best program for you.</p>
2177                             <input type="hidden" name="ad_button_id" id="ad_button_id">
2178                             <input type="hidden" id="type" name="type">
2179                             <input type="hidden" name="leads_page_id" id="leads_page_id">
2180                             <input type="hidden" name="category_id" id="category_id">
2181                             <input type="hidden" name="gclid" id="gclid">
2182                             <input type="hidden" name="campaignid" id="campaignid">
2183                             <input type="hidden" name="adgroupid" id="adgroupid">
2184                             <input type="hidden" name="adid" id="adid">
2185                             <input type="hidden" name="keyword" id="keyword">
2186                             <input type="hidden" name="matchtype" id="matchtype">
2187                             <input type="hidden" name="gad_source" id="gad_source">
2188                             <input type="hidden" name="gad_campaignid" id="gad_campaignid">
2189                             <input type="hidden" name="network" id="network">
2190                             <input type="hidden" name="device" id="device">
2191                         </div>
2192
2193                         <!-- Step 3 -->
2194                         <div class="fresh-step" id="step-purpose">
2195                             <label>Main Purpose for Joining:</label>
2196                             <div class="form-check"><input type="checkbox" class="form-check-input"
2197                                     name='purpose[]' value="certification"><label class="form-check-label">
2198                                     Certification</label></div>
2199                             <div class="form-check"><input type="checkbox" class="form-check-input"
2200                                     name='purpose[]' value="healing"><label class="form-check-label">
2201                                     Healing</label></div>
2202                             <div class="form-check"><input type="checkbox" class="form-check-input"
2203                                     name='purpose[]' value="spiritual"><label class="form-check-label"> Spiritual
2204                                     Growth</label></div>
2205                             <div class="form-check"><input type="checkbox" class="form-check-input"
2206                                     name='purpose[]' value="career"><label class="form-check-label"> Career
2207                                     Add-on</label></div>
2208                             <div class="form-check"><input type="checkbox" class="form-check-input"
2209                                     name='purpose[]' value="startup"><label class="form-check-label"> Yoga
2210                                     Business</label></div>
2211                         </div>
2212
2213                         <!-- Step 4 -->
2214                         <div class="fresh-step">
2215                             <label>Current Qualification:</label>
2216                             <select class="form-select fresh-input mb-3" id="currentQualification"
2217                                 name="current_qualification" required>
2218                                 <option value="">Select</option>
2219                                 <option value="12th Pass">12th Pass</option>
2220                                 <option value="Graduate">Graduate</option>
2221                                 <option value="Postgraduate">Postgraduate</option>
2222                                 <option value="Other">Other</option>
2223                             </select>
2224                         </div>
2225
2226                         <!-- Step 5 -->
2227                         <div class="fresh-step">
2228                             <label>Does budget matter?</label>
2229                             <div class="form-check"><input type="radio" name="budget_matters" value="Yes"
2230                                     class="form-check-input" onclick="toggleBudget(true)" required><label
2231                                     class="form-check-label"> Yes</label></div>
2232                             <div class="form-check"><input type="radio" name="budget_matters" value="No"
2233                                     class="form-check-input" onclick="toggleBudget(false)"><label
2234                                     class="form-check-label"> No</label></div>
2235                             <div class="budget-container" style="display:none;">
2236                                 <label>Preferred Budget:</label>
2237                                 <select class="form-select fresh-input mb-3" name="preferred_budget">
2238                                     <option value="">Choose</option>
2239                                     <option value="₹10k-20k">₹10k-20k</option>
2240                                     <option value="₹20k-35k">₹20k-35k</option>
2241                                     <option value="₹35k-50k">₹35k-50k</option>
2242                                     <option value="₹50k+">₹50k+</option>
2243                                 </select>
2244
2245                             </div>
2246                         </div>
2247
2248                         <!-- Step 6 -->
2249                         <div class="fresh-step">
2250                             <label>Previous Yoga Experience:</label>
2251                             <div class="form-check"><input type="radio" class="form-check-input"
2252                                     id="previousYogaExperience" value="Completed a course"
2253                                     name="previous_yoga_experience" required><label class="form-check-label">
2254                                     Completed a course</label></div>
2255                             <div class="form-check"><input type="radio" class="form-check-input"
2256                                     id="previousYogaExperience" value="Practice regularly"
2257                                     name="previous_yoga_experience"><label class="form-check-label"> Practice
2258                                     regularly</label></div>
2259                             <div class="form-check"><input type="radio" class="form-check-input"
2260                                     id="previousYogaExperience" value="Beginner"
2261                                     name="previous_yoga_experience"><label class="form-check-label"> Beginner</label>
2262                             </div>
2263                             <div class="form-check"><input type="radio" class="form-check-input"
2264                                     id="previousYogaExperience" value=" No experience"
2265                                     name="previous_yoga_experience"><label class="form-check-label"> No
2266                                     experience</label></div>
2267                         </div>
2268
2269                         <!-- Step 7 -->
2270                         <div class="fresh-step">
2271                             <label>
2271When do you plan to join?</label>
2272                             <div class="form-check"><input type="radio" id="when" name="when"
2273                                     value="Immediatly" class="form-check-input" required><label
2274                                     class="form-check-label"> Immediately</label></div>
2275                             <div class="form-check"><input type="radio" id="when" name="when"
2276                                     value="In 1–2 weeks" class="form-check-input"><label class="form-check-label">
2277                                     In 1–2 weeks</label></div>
2278                             <div class="form-check"><input type="radio" id="when" name="when"
2279                                     value="In 1 month" class="form-check-input"><label class="form-check-label"> In
2280                                     1 month</label></div>
2281                             <div class="form-check"><input type="radio" id="when" name="when"
2282                                     value="Not sure" class="form-check-input"><label class="form-check-label"> Not
2283                                     sure</label></div>
2284                         </div>
2285                     </form>
2286                 </div>
2287
2288                 <!-- Footer -->
2289                 <div class="fresh-footer">
2290                     <button type="button" class="btn-fresh-prev" onclick="previousStep()">Previous</button>
2291                     <button type="button" class="btn-fresh-next" onclick="nextStep()">Next</button>
2292                 </div>
2293             </div>
2294         </div>
2295     </div>
2296     <!--End Modal-->
2297     
2297<script
2298         src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD7cfhSeulJs9dB7QPMVnVC1lcmv-ew15A&libraries=places&callback=initAutocomplete"
2299         async defer></script>
2299
2300
2301     
2301<script>
2302         let buttonIds = [];
2303
2304         function openFreshModal(buttonId) {
2305             const modal = document.getElementById("freshWizardModal");
2306
2307             if (!modal) {
2308                 console.error("freshWizardModal not found in DOM.");
2309                 return;
2310             }
2311
2312             // 🔹 First fetch all buttons from API
2313             fetch('https://www.yogkulam.com/api/all-buttons')
2314                 .then(response => response.json())
2315                 .then(data => {
2316                     const button = data.addbuttons.find(btn => btn.id === buttonId);
2317
2318                     if (button) {
2319                         // ✅ Set hidden input with button.id (if you have it inside modal)
2320                         const hiddenField = document.getElementById('ad_button_id');
2321                         if (hiddenField) {
2322                             hiddenField.value = button.id;
2323                         }
2324                         // ✅ Set hidden input for page_url (type column)
2325                         const typeField = document.getElementById('type');
2326                         if (typeField) {
2327                             typeField.value = button.page_url;
2328                         }
2329
2330                         // ✅ Show modal only after button data is found
2331                         const modalInstance = new bootstrap.Modal(modal);
2332                         modalInstance.show();
2333                         console.log("Button ID:", button.id);
2334                         console.log("Page URL (type):", button.page_url);
2335                     } else {
2336                         console.warn("Button with ID", buttonId, "not found");
2337                     }
2338                 })
2339                 .catch(error => console.error("Error fetching button data:", error));
2340         }
2341
2342
2343         (function() {
2344             let stepIdx = 0;
2345             const steps = document.querySelectorAll(".fresh-step");
2346             const dots = document.querySelectorAll(".fresh-dot");
2347             const prevBtn = document.querySelector(".btn-fresh-prev");
2348             const nextBtn = document.querySelector(".btn-fresh-next");
2349             const form = document.getElementById("freshForm");
2350             const csrf = document.querySelector('meta[name="csrf-token"]')?.content;
2351
2352
2353             const leadsPageIdInput = document.getElementById('leads_page_id');
2354             const categoryIdInput = document.getElementById('category_id');
2355
2356             function showStep(i) {
2357                 steps.forEach((s, idx) => s.classList.toggle("active", idx === i));
2358                 dots.forEach((d, idx) => d.classList.toggle("active", idx === i));
2359                 prevBtn.style.display = i === 0 ? "none" : "inline-block";
2360                 nextBtn.textContent = i === steps.length - 1 ? "Submit" : "Next";
2361             }
2362
2363             function validateCurrentStep() {
2364                 const inputs = steps[stepIdx].querySelectorAll("input, select, textarea");
2365                 for (let el of inputs) {
2366                     if (!el.checkValidity()) {
2367                         el.reportValidity();
2368                         return false;
2369                     }
2370                 }
2371                 if (steps[stepIdx].id === "step-purpose") {
2372                     if (steps[stepIdx].querySelectorAll('input[name="purpose[]"]:checked').length === 0) {
2373                         alert("Please select at least one purpose.");
2374                         return false;
2375                     }
2376                 }
2377                 return true;
2378             }
2379
2380             function toggleBudget(show) {
2381                 const box = document.querySelector(".budget-container");
2382                 if (box) box.style.display = show ? "block" : "none";
2383             }
2384
2385             async function postPhase(phase, dataObj) {
2386                 const fd = new FormData();
2387                 fd.append('phase', phase);
2388
2389                 // Copy from object to FormData, support arrays as name[]
2390                 Object.entries(dataObj).forEach(([k, v]) => {
2391                     if (Array.isArray(v)) {
2392                         v.forEach(item => fd.append(k + '[]', item));
2393                     } else if (v !== undefined && v !== null) {
2394                         fd.append(k, v);
2395                     }
2396                 });
2397
2398                 nextBtn.disabled = true;
2399
2400                 const res = await fetch(form.action, {
2401                     method: 'POST',
2402                     headers: {
2403                         'Accept': 'application/json',
2404                         ...(csrf ? {
2405                             'X-CSRF-TOKEN': csrf
2406                         } : {})
2407                     },
2408                     body: fd
2409                 });
2410
2411                 nextBtn.disabled = false;
2412
2413                 const json = await res.json().catch(() => ({}));
2414                 if (!res.ok || json.error) {
2415                     throw new Error(json.error || 'Request failed');
2416                 }
2417                 return json;
2418             }
2419
2420             // STEP 1 -> LeadPage
2421             async function saveLeadPage() {
2422                 const data = {
2423                     name: form.name.value.trim(),
2424                     contact: form.contact.value.trim(),
2425                     email: form.email.value.trim(),
2426                     location: form.location.value.trim(),
2427                     city: form.city.value.trim(),
2428                     state: form.state.value.trim()
2429                 };
2430                 console.log("Step 1 Payload:", data);
2431                 const out = await postPhase('lead', data);
2432                 if (out.leads_page_id) leadsPageIdInput.value = out.leads_page_id;
2433             }
2434
2435
2436             async function saveCategory() {
2437                 const leads_page_id = leadsPageIdInput?.value;
2438                 if (!leads_page_id) {
2439                     alert('Missing leads_page_id. Complete Step 1 first.');
2440                     return;
2441                 }
2442                 const urlParams = new URLSearchParams(window.location.search);
2443
2444                 const data = {
2445                     leads_page_id,
2446                     ad_button_id: form.ad_button_id?.value || 'N/A',
2447                     type: form.type?.value || 'N/A',
2448                     gclid: urlParams.get('gclid') || 'N/A',
2449                     campaignid: urlParams.get('campaignid') || 'N/A',
2450                     adgroupid: urlParams.get('adgroupid') || 'N/A',
2451                     adid: urlParams.get('adid') || 'N/A',
2452                     keyword: urlParams.get('keyword') || 'N/A',
2453                     matchtype: urlParams.get('matchtype') || 'N/A',
2454                     gad_source: urlParams.get('gad_source') || 'N/A',
2455                     gad_campaignid: urlParams.get('gad_campaignid') || 'N/A',
2456                     network: urlParams.get('network') || 'N/A',
2457                     device: urlParams.get('device') || 'N/A',
2458                     visit_count: form.visit_count?.value || 1,
2459                     leads_status: form.leads_status?.value || 'new'
2460                 };
2461
2462                 console.log("Step 2 Payload:", data); // 👈 debug in browser
2463                 const out = await postPhase('category', data);
2464                 if (out.category_id) categoryIdInput.value = out.category_id;
2465             }
2466
2467
2468
2469             // FINAL -> LeadProfiling (uses category_id)
2470             async function saveProfiling() {
2471                 const category_id = categoryIdInput.value;
2472                 if (!category_id) throw new Error('Missing category_id. Complete Step 2 first.');
2473
2474                 const purposes = Array.from(form.querySelectorAll('input[name="purpose[]"]:checked')).map(i => i
2475                     .value);
2476
2477                 const data = {
2478                     category_id,
2479                     purpose: purposes,
2480                     current_qualification: form.current_qualification.value || '',
2481                     budget_matters: (form.querySelector('input[name="budget_matters"]:checked')?.value) || '',
2482                     previous_yoga_experience: (form.querySelector(
2483                         'input[name="previous_yoga_experience"]:checked')?.value) || '',
2484                     when: (form.querySelector('input[name="when"]:checked')?.value) || '',
2485                     // If you decide to store preferred budget later:
2486                     // preferred_budget: form.preferred_budget?.value || ''
2487                     preferred_budget: (form.querySelector('input[name="budget_matters"]:checked')?.value ===
2488                             'Yes') ?
2489                         (form.preferred_budget?.value || '') : null
2490                 };
2491                    console.log("Step 3 Payload:", data);
2492                    await postPhase('profiling', data);
2493                    console.log("🔥 Profiling saved, continuing...");
2494                    // ===============================
2495                    // 🔥 ZOHO CRM CALL START
2496                    // ===============================
2497
2498    var name       = form.name.value.trim();
2499    var contact    = form.contact.value.trim();
2500    var email      = form.email.value.trim();
2501    var city       = form.city.value.trim();
2502    var state      = form.state.value.trim();
2503    var location   = form.location.value.trim();
2504
2505    // Step 2 data
2506    var ad_button_id   = form.ad_button_id?.value || 'N/A';
2507    var type           = form.type?.value || 'N/A';
2508    var urlParams      = new URLSearchParams(window.location.search);
2509    var gclid          = urlParams.get('gclid') || 'N/A';
2510    var campaignid     = urlParams.get('campaignid') || 'N/A';
2511    var keyword = urlParams.get('keyword') || 'N/A';
2512     var adid = urlParams.get('adid') || 'N/A';
2513
2514    // Step 3 data
2515    var qualification  = form.current_qualification.value || 'N/A';
2516    var budget         = (form.querySelector('input[name="budget_matters"]:checked')?.value) || 'N/A';
2517      var preferred_budget = form.preferred_budget?.value || 'N/A';
2518    var experience     = (form.querySelector('input[name="previous_yoga_experience"]:checked')?.value) || 'N/A';
2519    var when           = (form.querySelector('input[name="when"]:checked')?.value) || 'N/A';
2520    var purposeList    = purposes.join(', ') || 'N/A';
2521
2522    console.log("Zoho Complete Data Prepared:", {
2523        name, contact, email, city, state,
2524        qualification, budget, experience, when, purposeList
2525    });
2526     try {
2527                        const response = await fetch("/zoho/create-lead", {
2528                            method: "POST",
2529                            headers: {
2530                                "Content-Type": "application/json",
2531                                "X-CSRF-TOKEN": csrf,
2532                                "Accept": "application/json"
2533                            },
2534               
2535body: JSON.stringify({
2536
2537    // ======================
2538    // STEP 1 - BASIC INFO
2539    // ======================
2540    name:        name,
2541    contact:     contact,
2542    email:       email,
2543    city:        city,
2544    state:       state,
2545    location:    location,
2546
2547    // ======================
2548    // STEP 2 - CAMPAIGN DATA
2549    // ======================
2550    ad_button_id: ad_button_id,
2551    type:         type,
2552    gclid:        gclid,
2553    campaignid:   campaignid,
2554    keyword:      keyword || null,
2555    adid:       adid || null,
2556
2557    // ======================
2558    // STEP 3 - PROFILING (MATCH SERVICE KEYS)
2559    // ======================
2560    current_qualification: qualification,   // ✅ FIXED
2561    budget_matters:        budget,          // ✅ FIXED
2562    preferred_budget:      preferred_budget || null,
2563    previous_yoga_experience: experience,   // ✅ FIXED
2564    when:                  when,
2565    purpose:               purposeList,
2566
2567    // ======================
2568    // DESCRIPTION (OPTIONAL)
2569    // ======================
2570    description: `Purpose: ${purposeList} | Qualification: ${qualification} | Budget: ${budget} | Experience: ${experience} | Join: ${when}`
2571
2572})
2573
2574                        });
2575                    
2576
2577                        console.log("🟡 Zoho API Raw Response:", response);
2578
2579                        const resp = await response.json().catch(() => ({}));
2580
2581                        console.log("🟢 Zoho API Parsed Response:", resp);
2582
2583                        if (!response.ok || !resp.success) {
2584                            console.error("❌ Zoho Failed:", resp);
2585                            throw new Error(resp.message || "Zoho lead failed");
2586                        }
2587
2588                // console.log("✅ Zoho Lead Created Successfully");
2589
2590                        // ===============================
2591                        // 🚀 WHATSAPP CALL
2592                        // ===============================
2593
2594                        console.log("🟡 Sending WhatsApp...");
2595
2596                        $.ajax({
2597                            url: "https://yogkulam.com/send-whatsapp-message",
2598                            method: "POST",
2599                            data: {
2600                                campaignName: "lead_generation",
2601                                destination: contact,
2602                                userName: "YogKulam",
2603                                templateParams: [name],
2604                                source: "new-landing-page form",
2605                                paramsFallbackValue: {
2606                                    FirstName: "Error"
2607                                },
2608                                _token: csrf
2609                            },
2610                            success: function(resp) {
2611                                console.log("✅ WhatsApp Success:", resp);
2612                                window.location.href = "/thankyou-for-interest-in-ytt-program";
2613                            },
2614                            error: function(err) {
2615                                console.error("❌ WhatsApp Error:", err);
2616                                alert("WhatsApp failed");
2617                            }
2618                        });
2619
2620                    } catch (err) {
2621                        console.error("❌ FULL ERROR:", err);
2622                        alert(err.message || "Something went wrong in Zoho integration");
2623                    }
2624                }
2625
2626                      
2627             async function nextStep() {
2628                 if (!validateCurrentStep()) return;
2629
2630                 try {
2631
2632                     if (stepIdx === 0) {
2633                         await saveLeadPage();
2634                     } else if (stepIdx === 1) {
2635                         await saveCategory();
2636                     } else if (stepIdx === steps.length - 1) {
2637                         await saveProfiling();
2638                         // alert('Thank you! Your preferences have been saved.');
2639                         closeFreshModal();
2640                         form.reset();
2641                         stepIdx = 0;
2642                         showStep(stepIdx);
2643                         return;
2644                     }
2645
2646                     if (stepIdx < steps.length - 1) {
2647                         stepIdx++;
2648                         showStep(stepIdx);
2649                     }
2650                 } catch (err) {
2651                     console.error(err);
2652                     alert(err.message || 'Something went wrong.');
2653                 }
2654             }
2655
2656             function previousStep() {
2657                 if (stepIdx > 0) {
2658                     stepIdx--;
2659                     showStep(stepIdx);
2660                 }
2661             }
2662
2663
2664             function closeFreshModal() {
2665                 const modal = document.getElementById("freshWizardModal");
2666                 modal.classList.remove("show");
2667                 modal.style.display = "none";
2668
2669                 document.body.classList.remove("modal-open");
2670                 document.body.style.overflow = "auto";
2671                 document.documentElement.style.overflow = "auto";
2672                 document.body.style.paddingRight = "0";
2673
2674                 document.querySelectorAll(".modal-backdrop").forEach(b => b.remove());
2675                 document.documentElement.classList.remove("modal-open", "overflow-hidden", "no-scroll");
2676             }
2677
2678
2679             // Expose to inline onclick attributes
2680             window.nextStep = nextStep;
2681             window.previousStep = previousStep;
2682             window.toggleBudget = toggleBudget;
2683             window.closeFreshModal = closeFreshModal;
2684
2685             document.addEventListener("DOMContentLoaded", () => {
2686                 showStep(stepIdx);
2687             });
2688         })();
2689     </script>
2689
2690     
2690<script>
2691         function initAutocomplete() {
2692             var input = document.getElementById('location');
2693             var autocomplete = new google.maps.places.Autocomplete(input);
2694
2695             autocomplete.addListener('place_changed', function() {
2696                 var place = autocomplete.getPlace();
2697                 if (!place.geometry) {
2698                     console.log("No details available for input: '" + place.name + "'");
2699                     return;
2700                 }
2701                 var city = "";
2702                 var state = "";
2703                 place.address_components.forEach(function(component) {
2704                     if (component.types.includes('locality')) {
2705                         city = component.long_name;
2706                     } else if (component.types.includes('administrative_area_level_1')) {
2707                         state = component.long_name;
2708                     }
2709                 });
2710
2711                 document.getElementById('city').value = city;
2712                 document.getElementById('state').value = state;
2713                 document.querySelector('.suggest').style.display = 'flex';
2714             });
2715         }
2716
2717         document.addEventListener('DOMContentLoaded', function() {
2718             initAutocomplete();
2719         });
2720     </script>
2720
2721
2722
2723    <!-- ===== VIDEO MODAL ===== -->
2724    <div class="modal fade" id="ykhVideoModal" tabindex="-1" aria-hidden="true">
2725        <div class="modal-dialog modal-dialog-centered modal-xl">
2726            <div class="modal-content bg-dark">
2727                <div class="modal-header border-0">
2728                    <h5 class="modal-title text-white">YogKulam • Journey</h5>
2729                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"
2730                        aria-label="Close"></button>
2731                </div>
2732                <div class="modal-body p-0">
2733                    <div class="ratio ratio-16x9">
2734                        <iframe id="ykhVideoFrame" src="" title="YogKulam Video"
2735                            allow="autoplay; encrypted-media" allowfullscreen></iframe>
2736                    </div>
2737                </div>
2738                <div class="modal-footer border-0">
2739                    <button class="btn btn-light" data-bs-dismiss="modal">Close</button>
2740                </div>
2741            </div>
2742        </div>
2743    </div>
2744
2745
2746    
2746<script>
2747        /* ===== DATA ===== */
2748        const milestones = [{
2749                year: "2012–2016",
2750                title: "Foundation Years",
2751                icon: "bi-emoji-smile",
2752                blurb: `
2753       Operated under MDVTI INDIA.<br>
2754       Offered only Vocational Courses (No Yoga yet).<br>
2755       Built initial training systems and student network.
2756    `
2757            },
2758            {
2759                year: 2017,
2760                title: "Certification & Authenticity",
2761                icon: "bi-patch-check",
2762                blurb: `
2763       Introduction of Yoga Teacher Training (YTT) Courses.<br>
2764       Received ISO, QCI & Ministry of AYUSH Certification.<br>
2765     Established strong credibility in yoga education.<br>
2766       First small group batch and offline teaching model.
2767    `
2768            },
2769            {
2770                year: 2018,
2771                title: "Rapid Expansion",
2772                icon: "bi-graph-up-arrow",
2773                blurb: `
2774       Opened 80+ Branches across Uttar Pradesh.<br>
2775       Introduced Franchise Model for scalability.<br>
2776       Strengthened management systems.
2777    `
2778            },
2779            {
2780                year: 2019,
2781                title: "Interstate Growth",
2782                icon: "bi-globe-americas",
2783                blurb: `
2784       Franchise Expansion into Bihar and other Indian states.<br>
2785       Growing recognition as a trusted yoga education brand.<br>
2786       Rapid expansion of YTT Courses all across 10+ States of India.
2787    `
2788            },
2789            {
2790                year: 2020,
2791                title: "National Accreditation",
2792                icon: "bi-award",
2793                blurb: `
2794       Received Indian Yoga Association (IYA) certification.<br>
2795       Curriculum aligned with national yoga standards.<br>
2796       Wider reach during pandemic – Through Social Media & Online Channels.
2797    `
2798            },
2799            {
2800                year: 2021,
2801                title: "Digital Transformation",
2802                icon: "bi-laptop",
2803                blurb: `
2804      Launched Online YTT Courses for the first time.<br>
2805       Complete digital setup during pandemic.<br>
2806       Beginning of new LMS-based learning system.
2807    `
2808            },
2809            {
2810                year: 2022,
2811                title: "YogKulam Studio & Lifestyle Movement",
2812                icon: "bi-house-heart",
2813                blurb: `
2814       Entered Yoga for Self-Fitness & Lifestyle Wellness.<br>
2815       Setup of YogKulam Studios.<br>
2816      Strengthened student community across India.
2817    `
2818            },
2819            {
2820                year: 2023,
2821                title: "Innovation & Community Building",
2822                icon: "bi-building-check",
2823                blurb: `
2824       Launch of Sunday Special Sessions (Free lifetime learning).<br>
2825       Introduced YOGI platform for free yoga learning.<br>
2826       Launched new YogKulam website & attendance system.<br>
2827       Started Free Yoga Camps pan-India with franchise support.<br>
2828      Focused on teaching enhancement & mentorship.
2829    `
2830            },
2831            {
2832                year: 2024,
2833                title: "Global Recognition & Excellence",
2834                icon: "bi-trophy",
2835                blurb: `
2836       Launch of RYT 200 Course (Affiliated with Yoga Alliance USA).<br>
2837       Established Dedicated Service Team & Feedback System.<br>
2838      Hosted Certificate Distribution Ceremonies.<br>
2839      Introduced major courses:<br>
2840        ○ Yogic Psychology (FCYP & ACYP)<br>
2841        ○ MA Yoga, ADYT, Volunteer Programs<br>
2842       Expansion on social media content & global reach.<br>
2843       Launch of IndiKulam & BharatShila Foundation Initiatives.<br>
2844       Awarded as Best Yoga School in India.
2845    `
2846            },
2847            {
2848                year: 2025,
2849                title: "Integration & Future Vision",
2850                icon: "bi-flag",
2851                blurb: `
2852      40,000+ yoga teachers trained worldwide.<br>
2853      Launch of New LMS & App.<br>
2854      YogSay introduced for success stories & community inspiration.<br>
2855      YACEP Affiliation achieved.<br>
2856       Launch of new courses:<br>
2857        ○ Sound Healing, Facial Yoga, DYT Recorded Course, Self
2857-Study Material, Kirtan Sessions.<br>
2858       Building India’s largest integrated ecosystem of Yoga, Education, Seva & Entrepreneurship.
2859    `
2860            }
2861        ];
2862
2863        /* ===== DOM ===== */
2864        const timelineEl = document.getElementById('timeline');
2865        const fromSel = document.getElementById('fromYear');
2866        const toSel = document.getElementById('toYear');
2867        const applyBtn = document.getElementById('applyFilter');
2868        const resetBtn = document.getElementById('resetFilter');
2869        const compactBtn = document.getElementById('toggleCompact');
2870
2871        /* ===== INIT ===== */
2872        (function init() {
2873            const years = [...new Set(milestones.map(m => m.year))].sort((a, b) => a - b);
2874            years.forEach(y => {
2875                fromSel.add(new Option(y, y));
2876                toSel.add(new Option(y, y));
2877            });
2878            fromSel.value = years[0];
2879            toSel.value = years[years.length - 1];
2880
2881            render(milestones);
2882
2883            applyBtn.addEventListener('click', () => {
2884                const a = parseInt(fromSel.value, 10),
2885                    b = parseInt(toSel.value, 10);
2886                const [minY, maxY] = a <= b ? [a, b] : [b, a];
2887                render(milestones.filter(m => m.year >= minY && m.year <= maxY));
2888            });
2889
2890            resetBtn.addEventListener('click', () => {
2891                fromSel.value = years[0];
2892                toSel.value = years[years.length - 1];
2893                render(milestones);
2894            });
2895
2896            // Compact toggle for descriptions
2897            let compact = false;
2898            const setCompactUI = () => {
2899                compactBtn.classList.toggle('yk-btn-outline', !compact);
2900                compactBtn.innerHTML = compact ?
2901                    '<i class="bi bi-arrows-expand"></i> <span>Expand</span>' :
2902                    '<i class="bi bi-arrows-collapse"></i> <span>Compact</span>';
2903                document.querySelectorAll('.mile p').forEach(p => p.style.display = compact ? 'none' : '');
2904            };
2905            setCompactUI();
2906            compactBtn.addEventListener('click', () => {
2907                compact = !compact;
2908                setCompactUI();
2909            });
2910        })();
2911
2912        /* ===== RENDER (single centered column with rail) ===== */
2913        function render(list) {
2914            const items = [...list].sort((a, b) => a.year - b.year);
2915            timelineEl.innerHTML = items.map(m => `
2916    <div class="mile">
2917      <span class="dot" aria-hidden="true"></span>
2918      <div class="mile-card">
2919        <div class="d-flex align-items-center justify-content-center gap-2 mb-1">
2920          <span class="year-badge"><i class="bi ${m.icon}"></i> ${m.year}</span>
2921          <span class="icon-pill d-none d-md-inline"><i class="bi bi-calendar-week"></i> milestone</span>
2922        </div>
2923        <h3>${m.title}</h3>
2924        <p>${m.blurb}</p>
2925      </div>
2926    </div>
2927  `).join('');
2928        }
2929
2930        /* ===== VIDEO MODAL ===== */
2931        (() => {
2932            const modal = document.getElementById('ykhVideoModal');
2933            const frame = document.getElementById('ykhVideoFrame');
2934            if (modal && frame) {
2935                const src = 'https://www.youtube.com/embed/wYHuHsVersY?rel=0&modestbranding=1&autoplay=1';
2936                modal.addEventListener('show.bs.modal', () => {
2937                    frame.src = src;
2938                });
2939                modal.addEventListener('hide.bs.modal', () => {
2940                    frame.src = '';
2941                });
2942            }
2943        })();
2944    </script>
2944
2945
2946
2947
2948    
2949
2950    
2950<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
2950
2951
2952    
2952<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
2952
2953
2954
2955
2956
2957    
2957<script src="https://yogkulam.com/assets/frontend/js/script.js?v=1791565720"></script>
2957
2958</body>
2959
2960</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.