PageSourceSearch

https://svc.ac.in/notices/tenders

html svc.ac.in collected 2026-10-02 14:54:49 UTC 276,249 bytes, 6,500 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="utf-8">
5    <title>Tender Quotations — Sri Venkateswara College</title>
6    <meta content="width=device-width, initial-scale=1.0" name="viewport">
7
8    <link rel="preconnect" href="https://fonts.googleapis.com">
9    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10    <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Poppins:wght@200;300;400;500;600&display=swap" rel="stylesheet">
11
12    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"/>
13    <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css" rel="stylesheet">
14    <link href="https://svc.ac.in/svc_home/lib/animate/animate.min.css" rel="stylesheet">
15    <link href="https://svc.ac.in/svc_home/css/bootstrap.min.css" rel="stylesheet">
16    <link href="https://svc.ac.in/svc_home/css/style.css" rel="stylesheet">
17    
17<script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script>
17
18
19    
20    <link rel="stylesheet" href="https://cdn.datatables.net/1.13.8/css/dataTables.bootstrap5.min.css">
21    <link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.5.0/css/responsive.bootstrap5.min.css">
22
23    <style>
24            :root {
25                --svc-blue: #1d4ed8;
26                --svc-ink: #1f2937;
27                --svc-surface: #ffffff;
28                --svc-surface-soft: #eff6ff;
29                --svc-line: rgba(29, 78, 216, 0.12);
30                --svc-shadow: 0 18px 45px rgba(33, 37, 41, 0.08);
31            }
32
33            /* Extended Link "Link as a Button" — colours come from an inline
34               style (per-link background/text colour, or these defaults when
35               left blank); this class only supplies the button chrome. */
36            .svc-extlink-btn {
37                display: inline-flex !important;
38                align-items: center;
39                gap: .4rem;
40                padding: .4rem 1rem !important;
41                border: 1px solid transparent;
42                border-radius: .375rem;
43                background-color: var(--svc-blue);
44                color: #ffffff !important;
45                text-decoration: none !important;
46                line-height: 1.4;
47                transition: filter .15s ease, transform .15s ease;
48            }
49            .svc-extlink-btn:hover,
50            .svc-extlink-btn:focus {
51                filter: brightness(0.92);
52                color: #ffffff !important;
53                text-decoration: none !important;
54            }
55
56            /* The actual scrolling element for the viewport is <html>, not
57               <body> (document.scrollingElement) — body's overflow-x is
58               *supposed* to propagate up to it per spec, but several mobile
59               browsers don't do that reliably, so it's set on both. Without
60               this, things like the rightmost nav dropdown (sits partly
61               off-screen at left:0 even while closed/hidden) and the Google
62               Translate widget's off-screen loading spinner (positioned at
63               left:-1000px) can inflate the page's scrollable width and let
64               a swipe reveal blank space past the real content — a phantom
65               horizontal scrollbar. Nothing on this page needs horizontal
66               scroll, so clip it defensively at both levels. */
67            html {
68                overflow-x: hidden;
69            }
70
71            body {
72                color: var(--svc-ink);
73                font-family: 'Open Sans', sans-serif;
74                background:
75                    radial-gradient(circle at top left, rgba(37, 99, 235, 0.06), transparent 26%),
76                    linear-gradient(180deg, #fffdfa 0%, #f8fafc 100%);
77                overflow-x: hidden;
78            }
79
80            h1, h2, h3, h4, h5, .navbar-light .navbar-nav .nav-link, .btn {
81                font-family: 'Poppins', sans-serif;
82            }
83
84            .container,
85            .section-shell > .container-fluid {
86                position: relative;
87                z-index: 1;
88            }
89
90            .home-brand-bar {
91                background: linear-gradient(135deg, #eef4ff 0%, #ffffff 45%, #f4f8ff 100%);
92                border-bottom: 1px solid rgba(29, 78, 216, 0.1);
93            }
94
95            .home-brand-wrap {
96                padding: 1rem 1.25rem;
97            }
98
99            .brand-cluster,
100            .brand-actions,
101            .top-links-wrap {
102                display: flex;
103                align-items: center;
104                gap: 1rem;
105                flex-wrap: wrap;
106            }
107
108            .brand-cluster,
109            .brand-actions {
110                justify-content: center;
111            }
112
113            .brand-logo-wide,
114            .brand-logo-square,
115            .brand-logo-accent {
116                display: block;
117                object-fit: contain;
118                max-width: 100%;
119            }
120
121            .brand-logo-wide {
122                width: 130px;
123                height: 80px;
124            }
125
126            .brand-logo-square {
127                width: 80px;
128                height: 80px;
129            }
130
131            .brand-logo-accent {
132                width: 130px;
133                height: 80px;
134            }
135
136            .brand-audio {
137                width: 100%;
138                max-width: 180px;
139                height: 52px;
140                opacity: 0.9;
141            }
142
143            .brand-title-block {
144                display: block;
145                text-align: center;
146                padding: 0.5rem 0;
147                text-decoration: none;
148            }
149
150            .brand-title-top,
151            .brand-title-main,
152            .brand-title-sub {
153                display: block;
154            }
155
156            .brand-title-top {
157                color: #1e40af;
158                font-size: 1rem;
159                font-size: clamp(1rem, 1.5vw, 1.25rem);
160                line-height: 1.4;
161            }
162
163            .brand-title-main {
164                color: #1d4ed8;
165                font-size: 1.9rem;
166                font-size: clamp(1.9rem, 3vw, 2.5rem);
167                font-weight: 700;
168                line-height: 1.15;
169            }
170
171            .brand-title-sub {
172                color: #3d4654;
173                font-size: 0.95rem;
174                font-size: clamp(0.95rem, 1.1vw, 1rem);
175                line-height: 1.5;
176            }
177
178            .top-links-bar {
179                background: #EFF6FF;
180                /* No left padding — the first link's colour block runs flush
181                   to the edge instead of leaving a bare white gap. */
182                padding: 0 1.25rem 0 0;
183                box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.08);
184            }
185
186            .top-links-wrap {
187                flex-wrap: nowrap;
188                justify-content: space-between;
189                min-height: 58px;
190                gap: 1rem;
191            }
192
193            .top-links-primary {
194                flex: 1 1 auto;
195                width: auto;
196                min-width: 0;
197                /* Overrides the row's align-items-center so this column (and
198                   the colour blocks inside it) stretch the full bar height. */
199                align-self: stretch;
200            }
201
202            .top-links-translate {
203                flex: 0 0 auto;
204                width: auto;
205            }
206
207            .translate-wrap {
208                display: flex;
209                align-items: center;
210                gap: 0.65rem 0.9rem;
211                flex-wrap: wrap;
212            }
213
214            .top-links-list {
215                display: flex;
216                align-items: stretch;
217                height: 100%;
218                gap: 0;
219                flex-wrap: wrap;
220                row-gap: 0.6rem;
221            }
222
223            .top-links-accessibility {
224                display: flex;
225                align-items: center;
226                justify-content: center;
227            }
228
229            /* Each link is a solid colour block spanning the bar's full
230               height, sitting flush against the next one — no gap, no
231               separate divider element. Every link after the first has its
232               top-left corner cut on a diagonal and is pulled left to
233               overlap the previous link by the same amount, so the earlier
234               link's colour shows through the cut: a seamless diagonal seam
235               with nothing else drawn on top. The first link's left edge and
236               every link's right edge stay straight. */
237            .top-links-list a {
238                display: inline-flex;
239                flex: 0 0 auto;
240                /* Every box is the same width — wide enough for the longest
241                   label ("SCREEN READER ACCESS") — so short labels like
242                   "MOU" sit centred in a box the same size as the rest. */
243                width: 225px;
244                align-items: center;
245                justify-content: center;
246                gap: 0.4rem;
247                padding: 0 1.15rem;
248                color: #ffffff;
249                text-decoration: none;
250                text-align: center;
251                white-space: nowrap;
252                overflow: hidden;
253                text-overflow: ellipsis;
254                font-weight: 700;
255                font-size: 0.86rem;
256                letter-spacing: 0.02em;
257                line-height: 1.2;
258                transition: filter 0.2s ease;
259            }
260
261            .top-links-list a:hover,
262            .top-links-list a:focus {
263                color: #ffffff;
264                filter: brightness(1.12);
265            }
266
267            .top-links-list a + a {
268                margin-left: -14px;
269                padding-left: calc(1.15rem + 14px);
270                clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%);
271            }
272
273            /* A different Bootstrap-style hue per link, cycling through 7 colours */
274            .top-links-list a:nth-of-type(7n + 1) { background: #0d6efd; }
275            .top-links-list a:nth-of-type(7n + 2) { background: #198754; }
276            .top-links-list a:nth-of-type(7n + 3) { background: #dc3545; }
277            .top-links-list a:nth-of-type(7n + 4) { background: #fd7e14; }
278            .top-links-list a:nth-of-type(7n + 5) { background: #0aa2c0; }
279            .top-links-list a:nth-of-type(7n + 6) { background: #6f42c1; }
280            .top-links-list a:nth-of-type(7n + 7) { background: #495057; }
281
282            .translate-wrap {
283                padding: 0.2rem 0.45rem;
284                border-radius: 999px;
285                background: linear-gradient(135deg, rgba(239, 246, 255, 0.96) 0%, rgba(219, 234, 254, 0.96) 100%);
286                border: 1px solid rgba(191, 219, 254, 0.9);
287                box-shadow: 0 10px 20px rgba(10, 37, 99, 0.14);
288                justify-content: center;
289            }
290
291            .translate-wrap #google_translate_element {
292                min-height: 32px;
293                display: flex;
294                align-items: center;
295                justify-content: center;
296                min-width: 220px;
297            }
298
299            #google_translate_element .goog-te-gadget {
300                display: inline-flex !important;
301                align-items: center;
302                justify-content: center;
303                min-height: 32px;
304                color: #1e3a8a !important;
305                font-family: 'Poppins', sans-serif !important;
306                font-size: 0.88rem !important;
307                line-height: 1.2 !important;
308                white-space: nowrap;
309            }
310
311            #google_translate_element .goog-te-gadget span {
312                color: #1e3a8a !important;
313            }
314
315            #google_translate_element .goog-te-gadget-simple {
316                display: inline-flex !important;
317                align-items: center;
318                min-height: 34px;
319                padding: 0.25rem 0.75rem;
320                border: 1px solid rgba(191, 219, 254, 0.9) !important;
321                border-radius: 999px !important;
322                background: #ffffff !important;
323                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
324            }
325
326            #google_translate_element .goog-te-gadget-simple .goog-te-menu-value {
327                color: #1e3a8a !important;
328                display: inline-flex !important;
329                align-items: center;
330                gap: 0.35rem;
331                margin: 0 !important;
332            }
333
334            #google_translate_element .goog-te-gadget-simple .goog-te-menu-value span {
335                border: 0 !important;
336                color: #1e3a8a !important;
337            }
338
339            #google_translate_element .goog-te-gadget-simple .goog-te-menu-value img {
340                display: none !important;
341            }
342
343            #google_translate_element .goog-te-banner-frame,
344            .skiptranslate iframe {
345                max-width: 100%;
346            }
347
348            .screen-reader-toolbar {
349                display: inline-flex;
350                align-items: center;
351                gap: 0.35rem;
352                padding: 0.2rem 0.35rem;
353                border: 1px solid rgba(191, 219, 254, 0.9);
354                border-radius: 999px;
355                background: linear-gradient(135deg, rgba(239, 246, 255, 0.98) 0%, rgba(219, 234, 254, 0.98) 100%);
356                box-shadow: 0 10px 20px rgba(10, 37, 99, 0.14);
357                flex-wrap: wrap;
358                justify-content: center;
359            }
360
361            .screen-reader-btn {
362                display: inline-flex;
363                align-items: center;
364                justify-content: center;
365                min-width: 42px;
366                min-height: 34px;
367                padding: 0.35rem 0.65rem;
368                border: 1px solid rgba(191, 219, 254, 0.9);
369                border-radius: 999px;
370                background: rgba(255, 255, 255, 0.78);
371                color: #1e3a8a;
372                font-family: 'Poppins', sans-serif;
373                font-size: 0.84rem;
374                font-weight: 700;
375                line-height: 1;
376                transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
377            }
378
379            .screen-reader-btn:hover,
380            .screen-reader-btn:focus {
381                color: #ffffff;
382                background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
383                box-shadow: 0 12px 22px rgba(10, 37, 99, 0.18);
384                transform: translateY(-1px);
385            }
386
387            .screen-reader-btn.is-active {
388                color: #ffffff;
389                background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 100%);
390                border-color: rgba(147, 197, 253, 0.95);
391            }
392
393            .header-hero {
394                background: linear-gradient(135deg, #eef4ff 0%, #ffffff 45%, #f4f8ff 100%);
395                border-bottom: 1px solid rgba(29, 78, 216, 0.1);
396            }
397
398            .header-hero-row {
399                min-height: 130px;
400            }
401
402            .header-hero-media {
403                display: flex;
404                align-items: center;
405                justify-content: center;
406                padding: 1rem 1.5rem;
407            }
408
409            .header-hero-media-link {
410                display: block;
411                width: 100%;
412                text-align: center;
413            }
414
415            .header-hero-image {
416                display: block;
417                width: auto;
418                max-width: min(100%, 900px);
419                height: auto;
420                margin: 0 auto;
421            }
422
423            .header-hero-actions {
424                display: flex;
425                align-items: center;
426                justify-content: space-between;
427                padding: 0.5rem 0;
428                background: rgba(128, 0, 0, 0.03);
429                border-left: 1px solid rgba(128, 0, 0, 0.1);
430            }
431
432            /* .container-fluid has no max-width, so the fluid col-lg-3 keeps
433               growing on wide screens well past what the Viksit Bharat image
434               (~208px at its fixed 92px max-height) plus the 175px button
435               stack actually need — leaving a large empty gap. Fix the box
436               at a width sized to fit that unchanged content snugly instead
437               of letting it keep stretching. */
438            @media (min-width: 992px) {
439                .header-hero-actions {
440                    flex: 0 0 420px;
441                    width: 420px;
442                    max-width: 420px;
443                }
444
445                .header-hero-media {
446                    flex: 1 1 auto;
447                    width: auto;
448                    max-width: calc(100% - 420px);
449                }
450            }
451
452            .header-hero-actions-row {
453                display: flex;
454                align-items: center;
455                /* flex-end (not space-between) so the image and the button
456                   stack sit together, flush against the right edge of the
457                   column, with only a slight gap between the two of them. */
458                justify-content: flex-end;
459                flex-wrap: wrap;
460                row-gap: 0.5rem;
461                gap: 0.65rem;
462                width: 100%;
463            }
464
465            .header-hero-actions-media {
466                display: flex;
467                align-items: center;
468                justify-content: flex-start;
469                flex: 0 1 auto;
470                min-width: 0;
471            }
472
473            .header-hero-actions-image {
474                display: block;
475                max-width: 100%;
476                max-height: 92px;
477                object-fit: contain;
478            }
479
480            .header-hero-actions-buttons {
481                display: flex;
482                flex-direction: column;
483                gap: 0.35rem;
484                flex: 0 0 auto;
485                width: 175px;
486            }
487
488            .header-action-block {
489                display: flex;
490                align-items: center;
491                justify-content: center;
492                gap: 0.4rem;
493                width: 100%;
494                height: 42px;
495                border-radius: 10px;
496                background: #ffffff;
497                color: #800000;
498                border: 2px solid #800000;
499                font-family: 'Poppins', sans-serif;
500                font-weight: 700;
501                font-size: 0.78rem;
502                text-decoration: none;
503                cursor: pointer;
504                overflow: visible;
505                box-shadow: 0 6px 14px rgba(128, 0, 0, 0.15);
506                transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
507            }
508
509            .header-action-block:hover,
510            .header-action-block:focus-within {
511                background: #800000;
512                color: #ffffff;
513                border-color: #ffffff;
514                box-shadow: 0 12px 22px rgba(128, 0, 0, 0.3);
515                transform: translateY(-1px);
516            }
517
518            .header-action-block > i {
519                color: inherit;
520                font-size: 0.88rem;
521            }
522
523            .header-action-erp span {
524                letter-spacing: 0.02em;
525            }
526
527            .header-action-erp {
528                background: #ffc107;
529                color: #000000;
530                border-color: #ffc107;
531            }
532
533            .header-action-erp:hover,
534            .header-action-erp:focus-within {
535                background: #ffca2c;
536                color: #000000;
537                border-color: #ffc720;
538            }
539
540            .header-action-textsize {
541                gap: 0.3rem;
542            }
543
544            .header-action-textsize .screen-reader-btn {
545                min-width: 28px;
546                min-height: 28px;
547                padding: 0.15rem 0.35rem;
548                border: 1px solid rgba(128, 0, 0, 0.45);
549                border-radius: 7px;
550                background: transparent;
551                color: #800000;
552                font-size: 0.74rem;
553                box-shadow: none;
554                transform: none;
555            }
556
557            .header-action-textsize:hover .screen-reader-btn,
558            .header-action-textsize:focus-within .screen-reader-btn {
559                color: #ffffff;
560                border-color: rgba(255, 255, 255, 0.55);
561            }
562
563            .header-action-textsize .screen-reader-btn:hover,
564            .header-action-textsize .screen-reader-btn:focus,
565            .header-action-textsize .screen-reader-btn.is-active {
566                background: rgba(128, 0, 0, 0.12);
567                box-shadow: none;
568                transform: none;
569            }
570
571            .header-action-textsize:hover .screen-reader-btn.is-active,
572            .header-action-textsize:focus-within .screen-reader-btn.is-active,
573            .header-action-textsize:hover .screen-reader-btn:hover,
574            .header-action-textsize:focus-within .screen-reader-btn:focus {
575                background: rgba(255, 255, 255, 0.25);
576            }
577
578            .header-action-language {
579                height: auto;
580                min-height: 42px;
581                padding: 0.3rem 0.45rem;
582            }
583
584            .header-action-language #google_translate_element {
585                min-height: 24px;
586                min-width: auto;
587                width: 100%;
588                display: flex;
589                flex-direction: column;
590                align-items: center;
591                justify-content: center;
592            }
593
594            .header-action-language #google_translate_element .goog-te-gadget {
595                display: flex !important;
596                flex-direction: column !important;
597                align-items: center !important;
598                white-space: normal !important;
599                gap: 2px;
600                min-height: 24px;
601                width: 100%;
602                color: #800000 !important;
603                font-family: 'Poppins', sans-serif !important;
604                font-size: 0.58rem !important;
605                line-height: 1.2 !important;
606                text-align: center;
607            }
608
609            .header-action-language #google_translate_element .goog-te-gadget-simple {
610                display: flex !important;
611                align-items: center;
612                justify-content: center;
613                width: 100%;
614                min-height: 24px;
615                padding: 0.12rem 0.35rem !important;
616                border: 1px solid rgba(128, 0, 0, 0.45) !important;
617                border-radius: 999px !important;
618                background: transparent !important;
619                box-shadow: none !important;
620            }
621
622            .header-action-language #google_translate_element .goog-te-gadget-simple .goog-te-menu-value,
623            .header-action-language #google_translate_element .goog-te-gadget-simple .goog-te-menu-value span {
624                color: #800000 !important;
625                font-size: 0.72rem !important;
626            }
627
628            .header-action-language #google_translate_element .goog-te-gadget-simple .goog-te-menu-value img {
629                display: none !important;
630            }
631
632            .header-action-language #google_translate_element select.goog-te-combo {
633                width: 100% !important;
634                max-width: 100% !important;
635                min-height: 24px !important;
636                padding: 0.12rem 0.35rem !important;
637                margin: 0 !important;
638                border: 1px solid rgba(128, 0, 0, 0.45) !important;
639                border-radius: 999px !important;
640                background: #ffffff !important;
641                color: #800000 !important;
642                font-size: 0.72rem !important;
643                font-family: 'Poppins', sans-serif !important;
644            }
645
646            .header-action-language:hover #google_translate_element select.goog-te-combo,
647            .header-action-language:focus-within #google_translate_element select.goog-te-combo {
648                background: #800000 !important;
649                color: #ffffff !important;
650                border-color: rgba(255, 255, 255, 0.55) !important;
651            }
652
653            .header-action-language #google_translate_element .goog-te-gadget a,
654            .header-action-language #google_translate_element .goog-te-gadget a:visited {
655                color: #800000 !important;
656            }
657
658            .header-action-language:hover #google_translate_element .goog-te-gadget-simple,
659            .header-action-language:focus-within #google_translate_element .goog-te-gadget-simple {
660                border-color: rgba(255, 255, 255, 0.55) !important;
661            }
662
663            .header-action-language:hover #google_translate_element .goog-te-gadget,
664            .header-action-language:focus-within #google_translate_element .goog-te-gadget,
665            .header-action-language:hover #google_translate_element .goog-te-gadget a,
666            .header-action-language:focus-within #google_translate_element .goog-te-gadget a,
667            .header-action-language:hover #google_translate_element .goog-te-gadget-simple .goog-te-menu-value,
668            .header-action-language:hover #google_translate_element .goog-te-gadget-simple .goog-te-menu-value span,
669            .header-action-language:focus-within #google_translate_element .goog-te-gadget-simple .goog-te-menu-value,
670            .header-action-language:focus-within #google_translate_element .goog-te-gadget-simple .goog-te-menu-value span {
671                color: #ffffff !important;
672            }
673
674            .top-links-search {
675                flex: 0 0 auto;
676                width: auto;
677                /* Same background as the .top-links-bar container itself. */
678                background: #EFF6FF;
679            }
680
681            @media (max-width: 991.98px) {
682                .header-hero-actions {
683                    border-left: none;
684                    border-top: 1px solid rgba(128, 0, 0, 0.1);
685                }
686            }
687
688            @media (max-width: 420px) {
689                .header-hero-actions-row {
690                    flex-wrap: wrap;
691                    justify-content: center;
692                }
693
694                .header-hero-actions-buttons {
695                    width: 100%;
696                    margin-left: 0;
697                }
698            }
699
700            .nav-bar {
701                box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
702                position: -webkit-sticky;
703                position: sticky;
704                top: 0;
705                z-index: 1025;
706                background: #ffffff;
707            }
708
709            .navbar {
710                min-height: 82px;
711                width: 100%;
712                max-width: none;
713                margin: 0;
714            }
715
716            .navbar-brand {
717                width: 0;
718                flex: 0 0 0;
719                padding: 0;
720                margin: 0;
721                overflow: hidden;
722            }
723
724            .navbar-menu-wrap {
725                flex: 1 1 auto;
726                min-width: 0;
727                width: auto;
728                justify-content: center !important;
729            }
730
731            .navbar-login-wrap {
732                flex: 0 0 auto;
733                width: auto;
734                display: flex;
735                align-items: center;
736                justify-content: flex-end;
737                gap: 0.75rem;
738                text-align: right;
739            }
740
741            .navbar-login-btn {
742                display: inline-flex;
743                align-items: center;
744                justify-content: center;
745                gap: 0.45rem;
746                min-height: 40px;
747                padding: 0.5rem 1.1rem;
748                border-radius: 999px;
749                background: #800000;
750                color: #ffffff !important;
751                font-weight: 600;
752                font-size: 0.88rem;
753                letter-spacing: 0.02em;
754                text-decoration: none;
755                white-space: nowrap;
756                border: 2px solid #800000;
757                box-shadow: 0 12px 22px rgba(128, 0, 0, 0.22);
758                transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
759            }
760
761            .navbar-login-btn:hover,
762            .navbar-login-btn:focus {
763                color: #800000 !important;
764                background: #ffffff;
765                border-color: #800000;
766                transform: translateY(-1px);
767                box-shadow: 0 20px 34px rgba(128, 0, 0, 0.18);
768            }
769
770            .navbar-login-btn i {
771                font-size: 0.95rem;
772            }
773
774            @media (min-width: 992px) {
775                #navbarCollapse {
776                    display: flex !important;
777                    align-items: center;
778                    justify-content: center;
779                    width: 100%;
780                    gap: 1rem;
781                }
782
783                .navbar-menu-wrap {
784                    display: flex;
785                    align-items: center;
786                    justify-content: center !important;
787                    flex: 1 1 auto;
788                    max-width: none;
789                }
790
791                .navbar-light .navbar-nav {
792                    display: flex;
793                    flex-direction: row;
794                    flex-wrap: nowrap;
795                    width: auto;
796                    margin-left: auto !important;
797                    margin-right: auto !important;
798                    justify-content: center;
799                    align-items: center;
800                    text-align: left;
801                    gap: 0.1rem;
802                }
803            }
804
805            @media (min-width: 992px) and (max-width: 1199.98px) {
806                #navbarCollapse {
807                    align-items: flex-start;
808                    flex-wrap: wrap;
809                    row-gap: 0.85rem;
810                }
811
812                .navbar-menu-wrap {
813                    width: 100%;
814                    flex: 1 1 100%;
815                }
816
817                .navbar-light .navbar-nav {
818                    flex-wrap: wrap;
819                    row-gap: 0.35rem;
820                }
821
822                .navbar-login-wrap {
823                    width: 100%;
824                    min-width: 0;
825                    justify-content: flex-start;
826                    margin-left: 0;
827                    text-align: left;
828                }
829            }
830
831            @media (max-width: 991.98px) {
832                .navbar-light .navbar-nav {
833                    width: 100%;
834                    row-gap: 0.25rem;
835                    justify-content: flex-start;
836                    align-items: flex-start;
837                    text-align: left;
838                }
839            }
840
841            .navbar-light .navbar-nav .nav-link {
842                letter-spacing: 0.02em;
843                display: inline-flex;
844                align-items: center;
845                gap: 0.5rem;
846            }
847
848            .navbar-light .navbar-nav .nav-link-icon {
849                font-size: 0.9em;
850                color: inherit;
851            }
852
853            /* Main links keep only their own fa icon — no extra down-caret
854               next to the label (sub-links / sub-sub-links keep theirs). */
855            .navbar-light .navbar-nav > .nav-item.dropdown > a.nav-link .dropdown-toggle::after {
856                content: none;
857            }
858
859            /* style.css draws an animated top/bottom hairline (::before/::after)
860               on nav-link hover — remove it, we don't want that effect here. */
861            .navbar-light .navbar-nav .nav-link::before,
862            .navbar-light .navbar-nav .nav-link::after {
863                content: none !important;
864            }
865
866            .navbar-light .navbar-nav .nav-link:hover,
867            .navbar-light .navbar-nav .nav-link:focus,
868            .navbar-light .navbar-nav .nav-link.active:hover {
869                color: #800000 !important;
870                font-weight: 700;
871            }
872
873            .navbar-toggler {
874                border: 1px solid rgba(29, 78, 216, 0.18);
875                border-radius: 14px;
876                padding: 0.55rem 0.8rem;
877            }
878
879            .navbar-toggler:focus {
880                box-shadow: 0 0 0 0.2rem rgba(29, 78, 216, 0.12);
881            }
882
883            .navbar-light .navbar-nav .dropdown-menu {
884                border-radius: 18px;
885                border: 1px solid rgba(29, 78, 216, 0.08);
886                box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
887                overflow: visible;
888                text-align: left;
889                width: max-content;
890                min-width: 260px;
891                max-width: calc(100vw - 20px);
892                padding: 0.35rem 0;
893                /* Slim, rounded scrollbar for whichever menus end up with
894                   overflow-y: auto, instead of the bulky default OS one. */
895                scrollbar-width: thin;
896                scrollbar-color: rgba(29, 78, 216, 0.35) transparent;
897            }
898
899            .navbar-light .navbar-nav .dropdown-menu::-webkit-scrollbar {
900                width: 6px;
901            }
902
903            .navbar-light .navbar-nav .dropdown-menu::-webkit-scrollbar-track {
904                background: transparent;
905            }
906
907            .navbar-light .navbar-nav .dropdown-menu::-webkit-scrollbar-thumb {
908                background-color: rgba(29, 78, 216, 0.35);
909                border-radius: 999px;
910            }
911
912            .navbar-light .navbar-nav .dropdown-menu::-webkit-scrollbar-thumb:hover {
913                background-color: rgba(29, 78, 216, 0.55);
914            }
915
916            .navbar-light .navbar-nav .dropdown-item {
917                display: flex;
918                align-items: center;
919                gap: 0.3rem;
920                padding: 0.4rem 1.1rem;
921                font-size: 1rem;
922                white-space: normal;
923                word-break: break-word;
924                line-height: 1.3;
925            }
926
927            .navbar-light .navbar-nav .dropdown-item-caret {
928                flex: 0 0 auto;
929                font-size: 0.78em;
930                color: #1d4ed8;
931            }
932
933            .navbar-light .navbar-nav .dropdown-item-text {
934                flex: 1 1 auto;
935                min-width: 0;
936            }
937
938            .navbar-light .navbar-nav .dropdown-menu > li:first-child > .dropdown-item {
939                border-radius: 16px 16px 0 0;
940            }
941
942            .navbar-light .navbar-nav .dropdown-menu > li:last-child > .dropdown-item {
943                border-radius: 0 0 16px 16px;
944            }
945
946            .navbar-light .navbar-nav .dropdown-item:hover,
947            .navbar-light .navbar-nav .dropdown-item:focus {
948                font-weight: 700;
949                background-color: transparent !important;
950                color: inherit !important;
951            }
952
953            /* Desktop: sub links and nested sub-sub links each display as a plain
954               vertical (single-column) list, same as before the grid experiment.
955               Visibility responds to both :hover (instant, no JS needed) and the
956               .show class (set by JS with a short close-delay — see
957               main_navigation.blade.php — so a main link's sub-menu stays open
958               while the mouse is moving toward a nested sub-sub panel). */
959            @media (min-width: 992px) {
960                .navbar-light .navbar-nav .dropdown-menu {
961                    display: block;
962                    visibility: hidden;
963                    opacity: 0;
964                    transform: rotateX(-75deg);
965                    transform-origin: 0% 0%;
966                    transition: .5s;
967                }
968
969                /* Long lists scroll internally instead of running off the
970                   bottom edge of the viewport with no way to reach them —
971                   but only on a "leaf" menu (one with no nested sub-sub
972                   menu of its own). A menu that contains a .dropdown-submenu
973                   must stay overflow:visible: per the CSS overflow spec,
974                   overflow-y: auto here would force overflow-x to auto too,
975                   clipping (and adding a scrollbar for) the nested submenu
976                   the moment it renders outside this box on any edge. */
977                .navbar-light .navbar-nav .dropdown-menu:not(:has(.dropdown-submenu)) {
978                    max-height: calc(100vh - 110px);
979                    overflow-y: auto;
980                }
981
982                .navbar-light .navbar-nav .nav-item:hover > .dropdown-menu,
983                .navbar-light .navbar-nav .nav-item.show > .dropdown-menu {
984                    visibility: visible;
985                    opacity: 1;
986                    transform: rotateX(0deg);
987                    background: var(--bs-light) !important;
988                }
989
990                /* Desktop only: keep each link name on one line so the menu
991                   sizes itself to fit the longest item (width: max-content
992                   above) instead of wrapping. Mobile keeps wrapping (base
993                   rule) since its menu is a fixed, narrow full-width column. */
994                .navbar-light .navbar-nav .dropdown-item {
995                    white-space: nowrap;
996                    word-break: normal;
997                }
998            }
999
1000            .carousel-header {
1001                background: #eef2f6;
1002                position: relative;
1003                overflow: hidden;
1004                height: auto !important;
1005                border-bottom: 1px solid rgba(29, 78, 216, 0.08);
1006                box-shadow: inset 0 -24px 30px rgba(255, 255, 255, 0.32);
1007            }
1008
1009            .carousel-header .hero-carousel {
1010                position: relative;
1011                height: auto;
1012            }
1013
1014            .carousel-header .carousel-inner {
1015                position: relative;
1016                overflow: hidden;
1017                height: clamp(260px, 55vw, 720px);
1018            }
1019
1020            .carousel-header .carousel-inner .carousel-item {
1021                position: relative;
1022                min-height: clamp(260px, 55vw, 720px);
1023                height: clamp(260px, 55vw, 720px);
1024                background: #dbeafe;
1025            }
1026
1027            .carousel-header .carousel-inner .carousel-item img {
1028                display: block;
1029                width: 100%;
1030                height: 100%;
1031                object-fit: cover;
1032                object-position: center center;
1033            }
1034
1035            .carousel-header .carousel-control-prev,
1036            .carousel-header .carousel-control-next {
1037                position: absolute;
1038                top: 50%;
1039                bottom: auto;
1040                transform: translateY(-50%);
1041                z-index: 3;
1042                width: 70px;
1043                height: 70px;
1044                opacity: 1;
1045                display: flex;
1046                align-items: center;
1047                justify-content: center;
1048            }
1049
1050            .carousel-header .carousel-control-prev {
1051                left: 1rem;
1052            }
1053
1054            .carousel-header .carousel-control-next {
1055                right: 1rem;
1056            }
1057
1058            .carousel-header .carousel-control-prev-icon,
1059            .carousel-header .carousel-control-next-icon {
1060                width: 3.2rem;
1061                height: 3.2rem;
1062                margin: 0 !important;
1063                border-radius: 50%;
1064                background-color: rgba(29, 78, 216, 0.72);
1065                background-size: 42% 42%;
1066                box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
1067            }
1068
1069            .carousel-header .carousel-indicators {
1070                margin-bottom: 1rem;
1071                z-index: 3;
1072            }
1073
1074            .carousel-header .carousel-indicators [data-bs-target] {
1075                width: 10px;
1076                height: 10px;
1077                border-radius: 999px;
1078                border: 0;
1079                background-color: rgba(255, 255, 255, 0.62);
1080                opacity: 1;
1081                margin: 0 0.3rem;
1082            }
1083
1084            .carousel-header .carousel-indicators .active {
1085                background-color: #ffffff;
1086                box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.18);
1087            }
1088
1089            .carousel-header::after {
1090                content: "";
1091                position: absolute;
1092                left: 0;
1093                right: 0;
1094                bottom: 0;
1095                height: 140px;
1096                background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(248, 250, 252, 0.95) 100%);
1097                pointer-events: none;
1098                z-index: 2;
1099            }
1100
1101            .carousel-header + .section-shell-full {
1102                position: relative;
1103                margin-top: 20px;
1104            }
1105
1106            .carousel-header + .section-shell-full::after {
1107                content: "";
1108                position: absolute;
1109                top: -20px;
1110                left: 0;
1111                right: 0;
1112                height: 20px;
1113                background: linear-gradient(180deg, rgba(29, 78, 216, 0.08) 0%, rgba(29, 78, 216, 0) 100%);
1114                pointer-events: none;
1115                z-index: 0;
1116            }
1117
1118            .important-strip + .section-shell-full {
1119                position: relative;
1120                margin-top: 0;
1121                padding-top: 1.25rem !important;
1122            }
1123
1124            .important-strip + .section-shell-full > .container-fluid.py-5 {
1125                padding-top: 1rem !important;
1126            }
1127
1128            .important-strip {
1129                width: 100%;
1130                background: linear-gradient(135deg, #800000 0%, #a3122b 55%, #800000 100%);
1131                box-shadow: 0 6px 18px rgba(128, 0, 0, 0.22);
1132                position: relative;
1133                z-index: 2;
1134            }
1135
1136            .important-strip-inner {
1137                display: flex;
1138                align-items: stretch;
1139                max-width: 100%;
1140            }
1141
1142            .important-strip-label {
1143                flex: 0 0 auto;
1144                display: inline-flex;
1145                align-items: center;
1146                gap: 0.5rem;
1147                padding: 0.65rem 1.5rem;
1148                background: #ffffff;
1149                color: #800000;
1150                font-family: 'Poppins', sans-serif;
1151                font-weight: 700;
1152                font-size: 0.95rem;
1153                letter-spacing: 0.04em;
1154                text-transform: uppercase;
1155                white-space: nowrap;
1156                clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
1157                padding-right: 2.1rem;
1158            }
1159
1160            .important-strip-scroll {
1161                flex: 1 1 auto;
1162                overflow: hidden;
1163                display: flex;
1164                align-items: center;
1165                min-width: 0;
1166            }
1167
1168            .important-strip-track {
1169                display: flex;
1170                align-items: center;
1171                gap: 3.5rem;
1172                white-space: nowrap;
1173                padding: 0.65rem 1.5rem;
1174                animation: svcMarqueeLoop 240s linear infinite;
1175                will-change: transform;
1176            }
1177
1178            .important-strip-track.is-static {
1179                animation: none;
1180            }
1181
1182            .important-strip-scroll:hover .important-strip-track {
1183                animation-play-state: paused;
1184            }
1185
1186            .important-strip-item {
1187                display: inline-flex;
1188                align-items: center;
1189                gap: 0.55rem;
1190                background: none;
1191                border: 0;
1192                margin: 0;
1193                padding: 0;
1194                color: #ffffff;
1195                font-family: inherit;
1196                font-weight: 600;
1197                font-size: 0.95rem;
1198                text-decoration: none;
1199                text-transform: uppercase;
1200                white-space: nowrap;
1201                cursor: pointer;
1202            }
1203
1204            .important-strip-item strong {
1205                font-family: 'Poppins', sans-serif;
1206                letter-spacing: 0.02em;
1207            }
1208
1209            .important-strip-item:hover,
1210            .important-strip-item:focus {
1211                color: #ffe4e4;
1212                text-decoration: underline;
1213                outline: none;
1214            }
1215
1216            .important-strip-item i {
1217                font-size: 0.4rem;
1218                color: #ffd7d7;
1219            }
1220
1221            .important-strip-empty {
1222                color: rgba(255, 255, 255, 0.85);
1223            }
1224
1225            @media (prefers-reduced-motion: reduce) {
1226                .important-strip-track {
1227                    animation: none;
1228                }
1229            }
1230
1231            @media (max-width: 767.98px) {
1232                .important-strip-inner {
1233                    flex-direction: column;
1234                }
1235
1236                .important-strip-label {
1237                    clip-path: none;
1238                    padding: 0.5rem 1rem;
1239                    justify-content: center;
1240                }
1241            }
1242
1243            @keyframes svcMarqueeLoop {
1244                0% {
1245                    transform: translateX(0);
1246                }
1247                100% {
1248                    transform: translateX(-50%);
1249                }
1250            }
1251
1252
1253            .section-title .display-5 {
1254                color: var(--svc-blue);
1255                font-size: clamp(1.85rem, 3vw, 2.7rem);
1256                font-weight: 700;
1257                letter-spacing: -0.03em;
1258                margin-bottom: 0.75rem !important;
1259            }
1260
1261            .section-title .section-copy {
1262                max-width: 720px;
1263                margin: 0 auto;
1264                color: #5b6677;
1265                font-size: 1rem;
1266                line-height: 1.75;
1267            }
1268
1269            .section-shell {
1270                position: relative;
1271            }
1272
1273            .section-shell::before {
1274                content: "";
1275                position: absolute;
1276                inset: 28px 12px;
1277                border-radius: 32px;
1278                background: rgba(255, 255, 255, 0.72);
1279                box-shadow: var(--svc-shadow);
1280                z-index: 0;
1281            }
1282
1283            .section-shell.section-shell-soft::before {
1284                background: linear-gradient(180deg, rgba(255, 248, 243, 0.96) 0%, rgba(255, 255, 255, 0.92) 100%);
1285            }
1286
1287            .section-shell-full::before {
1288                inset: 0;
1289                border-radius: 0;
1290            }
1291
1292            .principal-photo {
1293                width: 100%;
1294                min-height: 320px;
1295                max-height: 500px;
1296                object-fit: cover;
1297                margin-bottom: -7px;
1298                border-radius: 8px;
1299            }
1300
1301            .principal-photo-card {
1302                position: relative;
1303                padding: 14px;
1304                border-radius: 32px;
1305                background: linear-gradient(145deg, #ffffff 0%, #eef4ff 100%);
1306                border: 1px solid rgba(29, 78, 216, 0.12);
1307                box-shadow:
1308                    0 22px 40px rgba(15, 23, 42, 0.1),
1309                    inset 0 1px 0 rgba(255, 255, 255, 0.8);
1310                overflow: hidden;
1311            }
1312
1313            .principal-photo-card::before {
1314                content: "";
1315                position: absolute;
1316                inset: 10px;
1317                border-radius: 24px;
1318                border: 1px solid rgba(255, 255, 255, 0.7);
1319                pointer-events: none;
1320            }
1321
1322            .principal-content-panel {
1323                height: 100%;
1324                padding: 1.9rem 2rem;
1325                border-radius: 36px;
1326                background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 248, 255, 0.98) 100%);
1327                border: 1px solid rgba(29, 78, 216, 0.1);
1328                box-shadow: 0 24px 48px rgba(15, 23, 42, 0.12);
1329                position: relative;
1330                overflow: hidden;
1331            }
1332
1333            .principal-content-grid {
1334                --bs-gutter-x: 2rem;
1335                --bs-gutter-y: 1.5rem;
1336            }
1337
1338            .principal-photo-shell {
1339                padding: 0.15rem 0;
1340            }
1341
1342            .principal-content-panel::before {
1343                content: "";
1344                position: absolute;
1345                top: 0;
1346                left: 0;
1347                right: 0;
1348                height: 6px;
1349                background: linear-gradient(90deg, #1d4ed8 0%, #60a5fa 100%);
1350            }
1351
1352            .principal-panel-heading {
1353                color: var(--svc-blue);
1354                font-size: 1.2rem;
1355                font-weight: 700;
1356                margin-bottom: 1.25rem;
1357            }
1358
1359            .principal-image-wrap {
1360                position: relative;
1361            }
1362
1363            .principal-caption {
1364                position: absolute;
1365                left: 30px;
1366                right: 30px;
1367                bottom: 24px;
1368                margin: 0;
1369                padding: 0.9rem 1.15rem;
1370                border-radius: 18px;
1371                background: linear-gradient(135deg, rgba(29, 78, 216, 0.94) 0%, rgba(30, 64, 175, 0.92) 100%);
1372                color: #ffffff;
1373                font-family: 'Poppins', sans-serif;
1374                font-size: 1rem;
1375                font-weight: 600;
1376                letter-spacing: 0.01em;
1377                box-shadow: 0 18px 28px rgba(15, 23, 42, 0.18);
1378                z-index: 2;
1379            }
1380
1381            .principal-quote {
1382                color: #1f2937;
1383                text-align: justify;
1384                line-height: 1.8;
1385                font-size: 1.02rem;
1386            }
1387
1388            .principal-contact {
1389                letter-spacing: 1px;
1390            }
1391
1392            .principal-stat-card {
1393                border-radius: 24px;
1394                background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
1395                box-shadow: var(--svc-shadow);
1396                border: 1px solid var(--svc-line);
1397            }
1398
1399            .principal-points p {
1400                margin-bottom: 0.85rem !important;
1401            }
1402
1403            .home-stats-grid {
1404                row-gap: 1.25rem;
1405            }
1406
1407            .principal-side-stats {
1408                height: 100%;
1409                display: flex;
1410                align-items: center;
1411            }
1412
1413            .home-stat-card {
1414                height: 100%;
1415                text-align: center;
1416                padding: 1.5rem 1.25rem;
1417                border-radius: 24px;
1418                background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
1419                border: 1px solid rgba(29, 78, 216, 0.1);
1420                box-shadow: var(--svc-shadow);
1421            }
1422
1423            .home-stat-card a {
1424                color: inherit;
1425                text-decoration: none;
1426            }
1427
1428            .home-stat-icon {
1429                width: 88px;
1430                height: 88px;
1431                margin: 0 auto 1rem;
1432                display: flex;
1433                align-items: center;
1434                justify-content: center;
1435                border-radius: 24px;
1436                background: #ffffff;
1437                border: 1px solid rgba(15, 23, 42, 0.08);
1438                box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
1439            }
1440
1441            .home-stat-icon i {
1442                color: #111111;
1443                font-size: 2rem;
1444            }
1445
1446            .home-stat-title {
1447                margin-bottom: 0.6rem;
1448                color: var(--svc-blue);
1449                font-size: 1.05rem;
1450                font-weight: 600;
1451                letter-spacing: 0.01em;
1452            }
1453
1454            .home-stat-value {
1455                display: flex;
1456                align-items: baseline;
1457                justify-content: center;
1458                gap: 0.2rem;
1459                color: var(--svc-ink);
1460            }
1461
1462            .home-stat-value .counter-value,
1463            .home-stat-value .stat-symbol {
1464                font-family: 'Poppins', sans-serif;
1465                font-weight: 700;
1466            }
1467
1468            .home-stat-value .counter-value {
1469                font-size: 2rem;
1470                line-height: 1;
1471            }
1472
1473            .home-stat-value .stat-symbol {
1474                font-size: 1.35rem;
1475                color: var(--svc-blue);
1476            }
1477
1478            .section-separator {
1479                display: flex;
1480                align-items: center;
1481                justify-content: center;
1482                gap: 1rem;
1483                margin-top: 2.75rem;
1484                padding-top: 0.5rem;
1485            }
1486
1487            .section-separator::before,
1488            .section-separator::after {
1489                content: "";
1490                width: min(140px, 18vw);
1491                height: 1px;
1492                background: linear-gradient(90deg, rgba(29, 78, 216, 0), rgba(29, 78, 216, 0.45), rgba(29, 78, 216, 0));
1493            }
1494
1495            .section-separator-badge {
1496                width: 64px;
1497                height: 64px;
1498                display: inline-flex;
1499                align-items: center;
1500                justify-content: center;
1501                border-radius: 50%;
1502                background: linear-gradient(135deg, #ffffff 0%, #eaf2ff 100%);
1503                border: 1px solid rgba(29, 78, 216, 0.16);
1504                box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
1505                color: var(--svc-blue);
1506                font-size: 1.35rem;
1507            }
1508
1509            .section-separator-vertical {
1510                height: 100%;
1511                min-height: 100%;
1512                margin-top: 0;
1513                padding-top: 0;
1514                flex-direction: column;
1515                gap: 0.9rem;
1516            }
1517
1518            .section-separator-vertical::before,
1519            .section-separator-vertical::after {
1520                width: 1px;
1521                height: min(140px, 20vh);
1522                background: linear-gradient(180deg, rgba(29, 78, 216, 0), rgba(29, 78, 216, 0.45), rgba(29, 78, 216, 0));
1523            }
1524
1525            .notice-board {
1526                width: 100%;
1527            }
1528
1529            .notice-board > [class*="col-"] {
1530                display: flex;
1531            }
1532
1533            .notice-box {
1534                height: 100%;
1535                width: 100%;
1536                display: flex;
1537                flex-direction: column;
1538                padding: 1.35rem;
1539                border-radius: 28px;
1540                background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(239, 246, 255, 0.96) 100%);
1541                border: 1px solid rgba(29, 78, 216, 0.1);
1542                box-shadow: 0 20px 38px rgba(15, 23, 42, 0.1);
1543            }
1544
1545            .notice-box-header {
1546                display: flex;
1547                align-items: center;
1548                gap: 0.85rem;
1549                margin-bottom: 1rem;
1550            }
1551
1552            .notice-box-icon {
1553                width: 52px;
1554                height: 52px;
1555                display: inline-flex;
1556                align-items: center;
1557                justify-content: center;
1558                border-radius: 18px;
1559                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
1560                color: #ffffff;
1561                font-size: 1.1rem;
1562                box-shadow: 0 14px 24px rgba(29, 78, 216, 0.2);
1563                flex: 0 0 auto;
1564            }
1565
1566            .notice-box-title {
1567                margin: 0;
1568                color: var(--svc-blue);
1569                font-family: 'Poppins', sans-serif;
1570                font-size: 1.2rem;
1571                font-weight: 700;
1572            }
1573
1574            .notice-box-subtitle {
1575                margin: 0.2rem 0 0;
1576                color: #5b6677;
1577                font-size: 0.95rem;
1578            }
1579
1580            .notice-list {
1581                display: grid;
1582                gap: 0.9rem;
1583                flex: 1 1 auto;
1584                align-content: start;
1585            }
1586
1587            .notice-link-card {
1588                display: flex;
1589                align-items: center;
1590                justify-content: space-between;
1591                gap: 0.85rem;
1592                width: 100%;
1593                padding: 0.95rem 1rem;
1594                border-radius: 18px;
1595                background: #ffffff;
1596                border: 1px solid rgba(29, 78, 216, 0.12);
1597                color: #1e3a8a;
1598                font-weight: 600;
1599                line-height: 1.55;
1600                text-decoration: none;
1601                text-align: left;
1602                cursor: pointer;
1603                box-shadow: 0 10px 20px rgba(15, 23, 42, 0.06);
1604                transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
1605            }
1606
1607            .notice-link-card:hover,
1608            .notice-link-card:focus {
1609                transform: translateY(-2px);
1610                box-shadow: 0 14px 26px rgba(15, 23, 42, 0.1);
1611                border-color: rgba(29, 78, 216, 0.22);
1612                color: #1d4ed8;
1613            }
1614
1615            .notice-link-card strong {
1616                display: block;
1617                margin: 0;
1618                font-family: 'Poppins', sans-serif;
1619                font-size: 1rem;
1620            }
1621
1622            .notice-link-text {
1623                flex: 1 1 auto;
1624                min-width: 0;
1625                overflow-wrap: anywhere;
1626            }
1627
1628            .notice-link-meta {
1629                display: block;
1630                margin-top: 0.22rem;
1631                color: #64748b;
1632                font-size: 0.84rem;
1633                font-weight: 600;
1634                line-height: 1.4;
1635            }
1636
1637            .notice-link-attachment {
1638                width: 40px;
1639                height: 40px;
1640                display: inline-flex;
1641                align-items: center;
1642                justify-content: center;
1643                border-radius: 14px;
1644                background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
1645                color: var(--svc-blue);
1646                box-shadow: 0 10px 18px rgba(29, 78, 216, 0.12);
1647                flex: 0 0 auto;
1648                font-size: 1rem;
1649            }
1650
1651            .notice-vertical-slider {
1652                position: relative;
1653                height: 320px;
1654                flex: 1 1 auto;
1655                overflow: hidden;
1656                border-radius: 22px;
1657                background: linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(231, 240, 255, 0.78) 100%);
1658                border: 1px solid rgba(29, 78, 216, 0.1);
1659                padding: 0.75rem;
1660            }
1661
1662            .notice-vertical-track {
1663                display: flex;
1664                flex-direction: column;
1665                gap: 0.85rem;
1666                animation: svcVerticalLoop 22s linear infinite;
1667                will-change: transform;
1668            }
1669
1670            .notice-vertical-group {
1671                display: grid;
1672                gap: 0.85rem;
1673            }
1674
1675            .notice-vertical-slider.is-static .notice-vertical-track {
1676                animation: none;
1677            }
1678
1679            .notice-modal .modal-content {
1680                border: 0;
1681                border-radius: 28px;
1682                overflow: hidden;
1683                box-shadow: 0 30px 60px rgba(15, 23, 42, 0.22);
1684            }
1685
1686            .notice-modal .modal-dialog {
1687                max-width: 760px;
1688            }
1689
1690            .notice-modal .modal-header {
1691                padding: 1.2rem 1.5rem;
1692                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
1693                border-bottom: 0;
1694            }
1695
1696            .notice-modal .modal-title {
1697                color: #ffffff;
1698                font-family: 'Poppins', sans-serif;
1699                font-weight: 700;
1700            }
1701
1702            .notice-modal .btn-close {
1703                filter: brightness(0) invert(1);
1704                opacity: 0.95;
1705            }
1706
1707            .notice-modal .modal-body {
1708                padding: 1.7rem 1.55rem 1.35rem;
1709                background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
1710            }
1711
1712            .notice-modal-tag {
1713                display: inline-flex;
1714                align-items: center;
1715                gap: 0.45rem;
1716                margin-bottom: 0.9rem;
1717                padding: 0.45rem 0.75rem;
1718                border-radius: 999px;
1719                background: rgba(29, 78, 216, 0.1);
1720                color: #1d4ed8;
1721                font-size: 0.88rem;
1722                font-weight: 700;
1723                text-transform: uppercase;
1724                letter-spacing: 0.04em;
1725            }
1726
1727            .notice-modal-summary {
1728                margin: 0;
1729                color: #334155;
1730                font-size: 1rem;
1731                line-height: 1.75;
1732            }
1733
1734            .notice-modal-meta {
1735                margin-top: 1rem;
1736                color: #475569;
1737                font-size: 0.92rem;
1738            }
1739
1740            .notice-modal-attachments {
1741                margin-top: 1.3rem;
1742                display: grid;
1743                gap: 0.75rem;
1744            }
1745
1746            .notice-modal-attachment {
1747                display: flex;
1748                align-items: center;
1749                justify-content: space-between;
1750                gap: 0.8rem;
1751                padding: 0.85rem 1rem;
1752                border-radius: 16px;
1753                background: #ffffff;
1754                border: 1px solid rgba(29, 78, 216, 0.12);
1755                box-shadow: 0 10px 20px rgba(15, 23, 42, 0.05);
1756            }
1757
1758            .notice-modal-attachment-name {
1759                color: #1e3a8a;
1760                font-weight: 600;
1761                line-height: 1.45;
1762                word-break: break-word;
1763            }
1764
1765            .notice-modal-attachment-link {
1766                display: inline-flex;
1767                align-items: center;
1768                gap: 0.45rem;
1769                color: #1d4ed8;
1770                font-weight: 600;
1771                text-decoration: none;
1772                white-space: nowrap;
1773            }
1774
1775            .notice-modal .modal-footer {
1776                padding: 1rem 1.5rem 1.4rem;
1777                background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
1778                border-top: 0;
1779                gap: 0.75rem;
1780            }
1781
1782            .notice-modal-open {
1783                display: inline-flex;
1784                align-items: center;
1785                gap: 0.55rem;
1786                min-height: 46px;
1787                padding: 0.75rem 1.2rem;
1788                border-radius: 999px;
1789                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
1790                color: #ffffff !important;
1791                font-weight: 600;
1792                text-decoration: none;
1793                box-shadow: 0 14px 24px rgba(29, 78, 216, 0.18);
1794            }
1795
1796            .notice-vertical-slider:hover .notice-vertical-track {
1797                animation-play-state: paused;
1798            }
1799
1800            /* View All button inside notice boxes */
1801            .notice-view-all-wrap {
1802                padding: 0.55rem 1rem 0.4rem;
1803                text-align: right;
1804            }
1805            .notice-view-all-btn {
1806                display: inline-flex; align-items: center;
1807                font-size: 0.78rem; font-weight: 600; text-decoration: none;
1808                color: #1d4ed8; background: #ffffff;
1809                padding: 0.3rem 0.9rem; border-radius: 999px;
1810                border: 1.5px solid #1d4ed8;
1811                transition: background 0.2s, color 0.2s;
1812                white-space: nowrap;
1813            }
1814            .notice-view-all-btn:hover { background: #1d4ed8; color: #ffffff; }
1815
1816            @media (prefers-reduced-motion: reduce) {
1817                .notice-vertical-track {
1818                    animation: none;
1819                }
1820            }
1821
1822            @media (min-width: 992px) {
1823                .notice-board {
1824                    flex-wrap: nowrap;
1825                }
1826
1827                .notice-board > [class*="col-"] {
1828                    width: 33.333333%;
1829                }
1830            }
1831
1832            @keyframes svcVerticalLoop {
1833                0% {
1834                    transform: translateY(0);
1835                }
1836                100% {
1837                    transform: translateY(calc(-50% - 0.425rem));
1838                }
1839            }
1840
1841            .service,
1842            .features,
1843            .country,
1844            .training,
1845            .contact {
1846                position: relative;
1847            }
1848
1849            .service-item,
1850            .country-item,
1851            .training-item,
1852            .office-item,
1853            .counter,
1854            .footer-item {
1855                height: 100%;
1856            }
1857
1858            .service-item,
1859            .feature-item,
1860            .country-item,
1861            .training-item,
1862            .office-item {
1863                border-radius: 24px;
1864                overflow: hidden;
1865                box-shadow: var(--svc-shadow);
1866                transition: transform 0.3s ease, box-shadow 0.3s ease;
1867            }
1868
1869            .service-item:hover,
1870            .feature-item:hover,
1871            .country-item:hover,
1872            .training-item:hover,
1873            .office-item:hover {
1874                transform: translateY(-6px);
1875                box-shadow: 0 24px 48px rgba(33, 37, 41, 0.14);
1876            }
1877
1878            .service .service-item .service-inner .service-img img,
1879            .training .training-item .training-inner img,
1880            .country .country-item img,
1881            .contact .office .office-item .office-img img {
1882                aspect-ratio: 4 / 3;
1883                object-fit: cover;
1884            }
1885
1886            .service .service-item .service-inner .service-title .service-title-name .bg-primary {
1887                margin-left: 1.25rem !important;
1888                margin-right: 1.25rem !important;
1889                background: linear-gradient(135deg, var(--svc-blue) 0%, #2563eb 100%) !important;
1890                box-shadow: 0 12px 28px rgba(29, 78, 216, 0.2);
1891            }
1892
1893            .service .service-item .service-inner .service-title .service-content {
1894                background: linear-gradient(180deg, rgba(29, 78, 216, 0.96) 0%, rgba(30, 58, 138, 0.95) 100%);
1895            }
1896
1897            .service .service-item .service-inner .service-title .service-content .btn,
1898            .feature-item .btn,
1899            .training-content .btn {
1900                white-space: normal;
1901            }
1902
1903            .counter {
1904                border: 1px solid rgba(29, 78, 216, 0.08);
1905            }
1906
1907            .counter .counter-content h3 {
1908                color: var(--svc-blue);
1909                font-size: 1.15rem;
1910                font-weight: 600;
1911            }
1912
1913            .feature-item {
1914                background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
1915                border: 1px solid var(--svc-line);
1916            }
1917
1918            .feature-item .feature-icon {
1919                width: 92px;
1920                height: 92px;
1921                margin: 0 auto 1.5rem;
1922                border-radius: 50%;
1923                display: flex;
1924                align-items: center;
1925                justify-content: center;
1926                background: rgba(29, 78, 216, 0.08);
1927            }
1928
1929            .feature-item h5 {
1930                line-height: 1.5;
1931                margin-bottom: 0;
1932            }
1933
1934            .dual-link-panels {
1935                display: grid;
1936                grid-template-columns: repeat(2, minmax(0, 1fr));
1937                gap: 1.5rem;
1938                align-items: stretch;
1939            }
1940
1941            .link-panel {
1942                position: relative;
1943                height: 100%;
1944                padding: 1.5rem;
1945                border-radius: 32px;
1946                background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
1947                border: 1px solid rgba(148, 163, 184, 0.16);
1948                box-shadow: var(--svc-shadow);
1949                overflow: hidden;
1950            }
1951
1952            .link-panel-header {
1953                padding-bottom: 1rem;
1954                margin-bottom: 1.25rem;
1955                border-bottom: 1px solid rgba(148, 163, 184, 0.22);
1956            }
1957
1958            .link-panel-kicker {
1959                display: inline-flex;
1960                align-items: center;
1961                padding: 0.4rem 0.9rem;
1962                border-radius: 999px;
1963                background: var(--panel-kicker-bg, rgba(29, 78, 216, 0.1));
1964                color: var(--panel-kicker-color, #1d4ed8);
1965                font-family: 'Poppins', sans-serif;
1966                font-size: 0.78rem;
1967                font-weight: 600;
1968                letter-spacing: 0.08em;
1969                text-transform: uppercase;
1970            }
1971
1972            .link-panel-title {
1973                color: #10213d;
1974                font-size: clamp(1.45rem, 2vw, 1.85rem);
1975                font-weight: 700;
1976                margin: 0.9rem 0 0.6rem;
1977            }
1978
1979            .link-panel-copy {
1980                color: #5b6677;
1981                font-size: 0.98rem;
1982                line-height: 1.7;
1983                margin: 0;
1984            }
1985
1986            .link-panel-grid {
1987                display: grid;
1988                grid-template-columns: repeat(4, minmax(0, 1fr));
1989                gap: 1rem;
1990            }
1991
1992            .link-panel-item {
1993                display: flex;
1994                min-width: 0;
1995            }
1996
1997            .link-panel-link {
1998                width: 100%;
1999                min-height: 155px;
2000                display: flex;
2001                flex-direction: column;
2002                align-items: center;
2003                justify-content: center;
2004                gap: 0.85rem;
2005                padding: 1.2rem 0.8rem;
2006                border-radius: 24px;
2007                text-align: center;
2008                text-decoration: none;
2009                background: #ffffff;
2010                border: 1px solid rgba(148, 163, 184, 0.16);
2011                box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
2012                transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
2013                min-width: 0;
2014            }
2015
2016            .link-panel-link:hover,
2017            .link-panel-link:focus {
2018                transform: translateY(-4px);
2019                box-shadow: 0 22px 42px rgba(15, 23, 42, 0.14);
2020                border-color: rgba(100, 116, 139, 0.24);
2021            }
2022
2023            .link-panel-icon {
2024                width: 74px;
2025                height: 74px;
2026                border-radius: 22px;
2027                display: inline-flex;
2028                align-items: center;
2029                justify-content: center;
2030                background: var(--item-icon-bg, rgba(219, 234, 254, 0.6));
2031                border: 1px solid var(--item-icon-border, rgba(29, 78, 216, 0.12));
2032                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
2033            }
2034
2035            .link-panel-icon i {
2036                color: var(--item-icon-color, #1d4ed8);
2037                font-size: 1.9rem;
2038                font-weight: 700;
2039            }
2040
2041            .link-panel-label {
2042                color: var(--item-text-color, #1e3a8a);
2043                font-family: 'Poppins', sans-serif;
2044                font-size: 0.95rem;
2045                font-weight: 600;
2046                line-height: 1.35;
2047                margin: 0;
2048                max-width: 100%;
2049                overflow-wrap: anywhere;
2050                word-break: break-word;
2051                hyphens: auto;
2052            }
2053
2054            .link-panel--campus {
2055                --panel-accent: linear-gradient(180deg, #1d4ed8 0%, #0f766e 100%);
2056                --panel-kicker-bg: rgba(29, 78, 216, 0.1);
2057                --panel-kicker-color: #1d4ed8;
2058                --item-icon-bg: linear-gradient(135deg, rgba(219, 234, 254, 0.7) 0%, rgba(204, 251, 241, 0.7) 100%);
2059                --item-icon-border: rgba(29, 78, 216, 0.16);
2060                --item-icon-color: #1d4ed8;
2061                --item-text-color: #155e75;
2062            }
2063
2064            .link-panel--campus .link-panel-grid {
2065                grid-template-columns: repeat(4, minmax(0, 1fr));
2066            }
2067
2068            .link-panel--quick {
2069                --panel-accent: linear-gradient(180deg, #f97316 0%, #dc2626 100%);
2070                --panel-kicker-bg: rgba(249, 115, 22, 0.12);
2071                --panel-kicker-color: #c2410c;
2072                --item-icon-bg: linear-gradient(135deg, rgba(255, 237, 213, 0.85) 0%, rgba(254, 226, 226, 0.75) 100%);
2073                --item-icon-border: rgba(249, 115, 22, 0.16);
2074                --item-icon-color: #ea580c;
2075                --item-text-color: #9a3412;
2076            }
2077
2078            /* Researchers / Alumni panels — each gets its own distinct panel
2079               background fill (not just an icon accent), so the two boxes
2080               read as visibly different from one another. */
2081            .link-panel--research {
2082                --panel-kicker-bg: rgba(79, 70, 229, 0.12);
2083                --panel-kicker-color: #4338ca;
2084                --item-icon-bg: linear-gradient(135deg, rgba(224, 231, 255, 0.85) 0%, rgba(199, 210, 254, 0.7) 100%);
2085                --item-icon-border: rgba(79, 70, 229, 0.18);
2086                --item-icon-color: #4338ca;
2087                --item-text-color: #3730a3;
2088                background: linear-gradient(180deg, rgba(238, 242, 255, 0.95) 0%, rgba(255, 255, 255, 0.94) 100%);
2089            }
2090
2091            .link-panel--alumni {
2092                --panel-kicker-bg: rgba(217, 119, 6, 0.12);
2093                --panel-kicker-color: #b45309;
2094                --item-icon-bg: linear-gradient(135deg, rgba(254, 243, 199, 0.9) 0%, rgba(253, 230, 138, 0.7) 100%);
2095                --item-icon-border: rgba(217, 119, 6, 0.18);
2096                --item-icon-color: #b45309;
2097                --item-text-color: #92400e;
2098                background: linear-gradient(180deg, rgba(255, 251, 235, 0.95) 0%, rgba(255, 255, 255, 0.94) 100%);
2099            }
2100
2101            /* Single-destination feature body (icon + one CTA button) used by
2102               panels that link to just one page, instead of the multi-tile
2103               .link-panel-grid used by Campus Life / Quick Access. */
2104            .link-panel-feature {
2105                display: flex;
2106                flex-direction: column;
2107                align-items: center;
2108                text-align: center;
2109                gap: 1.15rem;
2110                padding: 1rem 0.5rem 0.5rem;
2111            }
2112
2113            .link-panel-feature-icon {
2114                width: 96px;
2115                height: 96px;
2116                border-radius: 28px;
2117                display: inline-flex;
2118                align-items: center;
2119                justify-content: center;
2120                background: var(--item-icon-bg, rgba(219, 234, 254, 0.6));
2121                border: 1px solid var(--item-icon-border, rgba(29, 78, 216, 0.12));
2122                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
2123            }
2124
2125            .link-panel-feature-icon i {
2126                color: var(--item-icon-color, #1d4ed8);
2127                font-size: 2.3rem;
2128            }
2129
2130            .link-panel-feature-btn {
2131                display: inline-flex;
2132                align-items: center;
2133                gap: 0.5rem;
2134                padding: 0.7rem 1.6rem;
2135                border-radius: 999px;
2136                background: var(--item-icon-color, #1d4ed8);
2137                color: #ffffff;
2138                font-family: 'Poppins', sans-serif;
2139                font-weight: 600;
2140                font-size: 0.92rem;
2141                text-decoration: none;
2142                box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
2143                transition: transform 0.25s ease, box-shadow 0.25s ease;
2144            }
2145
2146            .link-panel-feature-btn:hover,
2147            .link-panel-feature-btn:focus {
2148                color: #ffffff;
2149                transform: translateY(-3px);
2150                box-shadow: 0 20px 36px rgba(15, 23, 42, 0.2);
2151            }
2152
2153            .link-panel-feature--compact {
2154                padding-top: 0.25rem;
2155            }
2156
2157            /* SVC Researchers spotlight — one large photo + caption at a time. */
2158            .researcher-spotlight {
2159                margin-bottom: 0.5rem;
2160            }
2161
2162            .researcher-spotlight-carousel {
2163                border-radius: 26px;
2164                overflow: hidden;
2165                box-shadow: 0 18px 40px rgba(67, 56, 202, 0.18);
2166            }
2167
2168            .researcher-spotlight-card {
2169                position: relative;
2170                width: 100%;
2171                aspect-ratio: 3 / 4;
2172                max-height: 460px;
2173                background: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
2174            }
2175
2176            .researcher-spotlight-photo {
2177                width: 100%;
2178                height: 100%;
2179            }
2180
2181            .researcher-spotlight-photo img {
2182                width: 100%;
2183                height: 100%;
2184                object-fit: cover;
2185                object-position: center top;
2186                display: block;
2187            }
2188
2189            .researcher-spotlight-caption {
2190                position: absolute;
2191                left: 0;
2192                right: 0;
2193                bottom: 0;
2194                padding: 2.1rem 1.5rem 1.6rem;
2195                background: linear-gradient(180deg, rgba(16, 21, 61, 0) 0%, rgba(16, 21, 61, 0.55) 42%, rgba(16, 21, 61, 0.94) 100%);
2196                color: #ffffff;
2197                text-align: center;
2198            }
2199
2200            .researcher-spotlight-pub {
2201                display: inline-block;
2202                max-width: 100%;
2203                margin-bottom: 0.65rem;
2204                padding: 0.32rem 0.9rem;
2205                border-radius: 999px;
2206                background: rgba(255, 255, 255, 0.16);
2207                border: 1px solid rgba(255, 255, 255, 0.28);
2208                font-family: 'Poppins', sans-serif;
2209                font-size: 0.66rem;
2210                font-weight: 600;
2211                letter-spacing: 0.05em;
2212                overflow: hidden;
2213                text-overflow: ellipsis;
2214                white-space: nowrap;
2215            }
2216
2217            .researcher-spotlight-name {
2218                font-family: 'Poppins', sans-serif;
2219                font-size: clamp(1.02rem, 1.6vw, 1.3rem);
2220                font-weight: 700;
2221                letter-spacing: 0.02em;
2222                margin-bottom: 0.3rem;
2223            }
2224
2225            .researcher-spotlight-desig {
2226                font-size: 0.82rem;
2227                font-weight: 600;
2228                letter-spacing: 0.04em;
2229                color: #c7d2fe;
2230                margin-bottom: 0.2rem;
2231            }
2232
2233            .researcher-spotlight-dept {
2234                font-size: 0.76rem;
2235                letter-spacing: 0.03em;
2236                color: rgba(255, 255, 255, 0.78);
2237            }
2238
2239            .researcher-spotlight-carousel .carousel-control-prev,
2240            .researcher-spotlight-carousel .carousel-control-next {
2241                width: 44px;
2242                height: 44px;
2243                top: calc(50% - 22px);
2244                margin: 0 0.85rem;
2245                border-radius: 50%;
2246                background: rgba(67, 56, 202, 0.55);
2247                opacity: 1;
2248                transition: background 0.25s ease, transform 0.25s ease;
2249            }
2250
2251            .researcher-spotlight-carousel .carousel-control-prev:hover,
2252            .researcher-spotlight-carousel .carousel-control-next:hover {
2253                background: rgba(67, 56, 202, 0.88);
2254                transform: translateY(-50%) scale(1.06);
2255            }
2256
2257            .researcher-spotlight-carousel .carousel-control-prev-icon,
2258            .researcher-spotlight-carousel .carousel-control-next-icon {
2259                width: 1.1rem;
2260                height: 1.1rem;
2261            }
2262
2263            .researcher-spotlight-indicators {
2264                position: absolute;
2265                bottom: 0.6rem;
2266                margin: 0;
2267                padding: 0;
2268            }
2269
2270            .researcher-spotlight-indicators [data-bs-target] {
2271                width: 7px;
2272                height: 7px;
2273                border-radius: 50%;
2274                background-color: rgba(255, 255, 255, 0.5);
2275                border: 0;
2276                opacity: 1;
2277                transition: width 0.25s ease, background-color 0.25s ease;
2278            }
2279
2280            .researcher-spotlight-indicators .active {
2281                background-color: #ffffff;
2282                width: 20px;
2283                border-radius: 999px;
2284            }
2285
2286            .showcase-split {
2287                display: grid;
2288                grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.88fr);
2289                gap: 1.25rem;
2290                align-items: stretch;
2291            }
2292
2293            .showcase-panel {
2294                height: 100%;
2295                padding: 1.35rem;
2296                border-radius: 32px;
2297                background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%);
2298                border: 1px solid rgba(148, 163, 184, 0.16);
2299                box-shadow: var(--svc-shadow);
2300                display: flex;
2301                flex-direction: column;
2302            }
2303
2304            .showcase-panel--initiatives {
2305                background:
2306                    radial-gradient(circle at top right, rgba(37, 99, 235, 0.08), transparent 30%),
2307                    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 245, 249, 0.96) 100%);
2308            }
2309
2310            .showcase-panel--resources {
2311                background:
2312                    radial-gradient(circle at top left, rgba(14, 165, 233, 0.08), transparent 32%),
2313                    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
2314            }
2315
2316            .showcase-header {
2317                padding-bottom: 0.85rem;
2318                margin-bottom: 1rem;
2319                border-bottom: 1px solid rgba(148, 163, 184, 0.2);
2320            }
2321
2322            .showcase-kicker {
2323                display: inline-flex;
2324                align-items: center;
2325                padding: 0.38rem 0.85rem;
2326                border-radius: 999px;
2327                font-family: 'Poppins', sans-serif;
2328                font-size: 0.78rem;
2329                font-weight: 600;
2330                letter-spacing: 0.08em;
2331                text-transform: uppercase;
2332            }
2333
2334            .showcase-panel--initiatives .showcase-kicker {
2335                background: rgba(29, 78, 216, 0.1);
2336                color: #1d4ed8;
2337            }
2338
2339            .showcase-panel--resources .showcase-kicker {
2340                background: rgba(8, 145, 178, 0.12);
2341                color: #0f766e;
2342            }
2343
2344            .media-highlight-grid {
2345                display: grid;
2346                grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
2347                gap: 1.5rem;
2348                align-items: stretch;
2349            }
2350
2351            .media-highlight-card {
2352                height: 100%;
2353                padding: 1.4rem;
2354                border-radius: 30px;
2355                background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 247, 251, 0.96) 100%);
2356                border: 1px solid rgba(148, 163, 184, 0.16);
2357                box-shadow: var(--svc-shadow);
2358                display: flex;
2359                flex-direction: column;
2360                min-width: 0;
2361            }
2362
2363            .media-highlight-card--tour {
2364                background:
2365                    radial-gradient(circle at top right, rgba(59, 130, 246, 0.08), transparent 30%),
2366                    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 245, 249, 0.96) 100%);
2367            }
2368
2369            .media-highlight-card--achiever {
2370                background:
2371                    radial-gradient(circle at top left, rgba(245, 158, 11, 0.09), transparent 32%),
2372                    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 251, 235, 0.94) 100%);
2373            }
2374
2375            .media-highlight-header {
2376                display: flex;
2377                align-items: flex-start;
2378                justify-content: space-between;
2379                gap: 1rem;
2380                padding-bottom: 1rem;
2381                margin-bottom: 1rem;
2382                border-bottom: 1px solid rgba(148, 163, 184, 0.2);
2383            }
2384
2385            .media-highlight-header h2 {
2386                color: #10213d;
2387                font-size: clamp(1.35rem, 2vw, 1.8rem);
2388                font-weight: 700;
2389                margin: 0.25rem 0 0;
2390            }
2391
2392            .media-highlight-kicker {
2393                display: inline-flex;
2394                align-items: center;
2395                padding: 0.38rem 0.82rem;
2396                border-radius: 999px;
2397                font-family: 'Poppins', sans-serif;
2398                font-size: 0.76rem;
2399                font-weight: 600;
2400                letter-spacing: 0.08em;
2401                text-transform: uppercase;
2402            }
2403
2404            .media-highlight-card--tour .media-highlight-kicker {
2405                background: rgba(37, 99, 235, 0.1);
2406                color: #1d4ed8;
2407            }
2408
2409            .media-highlight-card--achiever .media-highlight-kicker {
2410                background: rgba(245, 158, 11, 0.12);
2411                color: #b45309;
2412            }
2413
2414            .media-highlight-icon {
2415                width: 56px;
2416                height: 56px;
2417                border-radius: 18px;
2418                display: inline-flex;
2419                align-items: center;
2420                justify-content: center;
2421                flex: 0 0 auto;
2422            }
2423
2424            .media-highlight-card--tour .media-highlight-icon {
2425                background: linear-gradient(135deg, rgba(219, 234, 254, 0.95) 0%, rgba(224, 242, 254, 0.92) 100%);
2426                color: #1d4ed8;
2427            }
2428
2429            .media-highlight-card--achiever .media-highlight-icon {
2430                background: linear-gradient(135deg, rgba(254, 243, 199, 0.95) 0%, rgba(255, 237, 213, 0.92) 100%);
2431                color: #c2410c;
2432            }
2433
2434            .media-highlight-icon i {
2435                font-size: 1.45rem;
2436            }
2437
2438            .media-highlight-body {
2439                flex: 1 1 auto;
2440                display: flex;
2441                min-width: 0;
2442            }
2443
2444            .media-highlight-empty,
2445            .media-highlight-content {
2446                width: 100%;
2447                min-height: 280px;
2448                border-radius: 24px;
2449                border: 1px dashed rgba(148, 163, 184, 0.28);
2450                background: rgba(255, 255, 255, 0.72);
2451                display: flex;
2452                align-items: center;
2453                justify-content: center;
2454                text-align: center;
2455                padding: 1.25rem;
2456            }
2457
2458            .media-highlight-empty-inner {
2459                max-width: 320px;
2460            }
2461
2462            .media-highlight-empty i {
2463                font-size: 2.5rem;
2464                margin-bottom: 0.85rem;
2465            }
2466
2467            .media-highlight-card--tour .media-highlight-empty i {
2468                color: #2563eb;
2469            }
2470
2471            .media-highlight-card--achiever .media-highlight-empty i {
2472                color: #d97706;
2473            }
2474
2475            .media-highlight-empty h3,
2476            .media-highlight-achiever-name {
2477                color: #10213d;
2478                font-size: 1.15rem;
2479                font-weight: 700;
2480                margin-bottom: 0.45rem;
2481            }
2482
2483            .media-highlight-empty p,
2484            .media-highlight-copy,
2485            .media-highlight-achiever-copy {
2486                color: #64748b;
2487                font-size: 0.95rem;
2488                line-height: 1.65;
2489                margin: 0;
2490            }
2491
2492            .media-highlight-content {
2493                padding: 0;
2494                border-style: solid;
2495                overflow: hidden;
2496                align-items: stretch;
2497            }
2498
2499            .media-highlight-tour {
2500                display: grid;
2501                grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
2502                width: 100%;
2503                min-width: 0;
2504                align-items: stretch;
2505            }
2506
2507            .media-highlight-tour-video {
2508                position: relative;
2509                min-height: 320px;
2510                background: #0f172a;
2511                height: 100%;
2512                overflow: hidden;
2513            }
2514
2515            .media-highlight-tour-video iframe {
2516                width: 100%;
2517                height: 100%;
2518                border: 0;
2519                display: block;
2520            }
2521
2522            .media-highlight-tour-image img {
2523                width: 100%;
2524                height: 100%;
2525                object-fit: cover;
2526                display: block;
2527            }
2528
2529            .media-highlight-tour-copy {
2530                padding: 1.25rem;
2531                display: flex;
2532                flex-direction: column;
2533                justify-content: center;
2534                gap: 0.8rem;
2535                min-width: 0;
2536            }
2537
2538            .media-highlight-title {
2539                color: #10213d;
2540                font-size: 1.2rem;
2541                font-weight: 700;
2542                margin: 0;
2543            }
2544
2545            .media-highlight-link {
2546                display: inline-flex;
2547                align-items: center;
2548                gap: 0.45rem;
2549                color: #1d4ed8;
2550                font-weight: 600;
2551                text-decoration: none;
2552            }
2553
2554            .media-highlight-achiever {
2555                display: flex;
2556                flex-direction: column;
2557                width: 100%;
2558                min-width: 0;
2559            }
2560
2561            .media-highlight-achiever-carousel {
2562                width: 100%;
2563            }
2564
2565            .media-highlight-achiever-image {
2566                aspect-ratio: 4 / 3;
2567                min-height: 320px;
2568                display: flex;
2569                align-items: center;
2570                justify-content: center;
2571                overflow: hidden;
2572                background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
2573                padding: 0.2rem;
2574            }
2575
2576            .media-highlight-achiever-image img {
2577                width: 100%;
2578                height: 100%;
2579                object-fit: contain;
2580                object-position: center top;
2581                display: block;
2582            }
2583
2584            .media-highlight-achiever-copy-wrap {
2585                padding: 1rem 1rem 1.15rem;
2586            }
2587
2588            .media-highlight-achiever-carousel .carousel-control-prev,
2589            .media-highlight-achiever-carousel .carousel-control-next {
2590                width: 44px;
2591                height: 44px;
2592                top: calc(50% - 22px);
2593                margin: 0 0.75rem;
2594                border-radius: 50%;
2595                background: rgba(15, 23, 42, 0.6);
2596            }
2597
2598            .media-highlight-achiever-carousel .carousel-control-prev-icon,
2599            .media-highlight-achiever-carousel .carousel-control-next-icon {
2600                width: 1.2rem;
2601                height: 1.2rem;
2602            }
2603
2604            .media-highlight-achiever-carousel .carousel-indicators {
2605                position: static;
2606                margin: 0;
2607                padding: 0 0 0.85rem;
2608            }
2609
2610            .media-highlight-achiever-carousel .carousel-indicators [data-bs-target] {
2611                background-color: #1d4ed8;
2612            }
2613
2614            .media-highlight-achiever-caption {
2615                padding: 0.8rem 1rem 0.55rem;
2616                text-align: center;
2617            }
2618
2619            .showcase-title {
2620                color: #10213d;
2621                font-size: clamp(1.3rem, 1.8vw, 1.7rem);
2622                font-weight: 700;
2623                margin: 0.75rem 0 0.45rem;
2624            }
2625
2626            .showcase-copy {
2627                color: #5b6677;
2628                font-size: 0.93rem;
2629                line-height: 1.6;
2630                margin: 0;
2631            }
2632
2633            .initiative-grid {
2634                display: grid;
2635                grid-template-columns: repeat(2, minmax(0, 1fr));
2636                gap: 0.85rem;
2637                flex: 1 1 auto;
2638            }
2639
2640            .initiative-card,
2641            .resource-card {
2642                display: block;
2643                height: 100%;
2644                text-decoration: none;
2645            }
2646
2647            .initiative-card {
2648                position: relative;
2649                min-height: 172px;
2650                border-radius: 26px;
2651                overflow: hidden;
2652                box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
2653            }
2654
2655            .initiative-card img {
2656                width: 100%;
2657                height: 100%;
2658                object-fit: cover;
2659                transition: transform 0.35s ease;
2660            }
2661
2662            .initiative-card:hover img,
2663            .initiative-card:focus img {
2664                transform: scale(1.04);
2665            }
2666
2667            .initiative-card::after {
2668                content: "";
2669                position: absolute;
2670                inset: 0;
2671                background: linear-gradient(180deg, rgba(15, 23, 42, 0.02) 18%, rgba(15, 23, 42, 0.82) 100%);
2672            }
2673
2674            .initiative-card-body {
2675                position: absolute;
2676                left: 0;
2677                right: 0;
2678                bottom: 0;
2679                z-index: 1;
2680                padding: 0.9rem 1rem 1rem;
2681                color: #ffffff;
2682            }
2683
2684            .initiative-card-badge {
2685                display: inline-flex;
2686                align-items: center;
2687                padding: 0.28rem 0.65rem;
2688                border-radius: 999px;
2689                background: rgba(255, 255, 255, 0.16);
2690                -webkit-backdrop-filter: blur(8px);
2691                backdrop-filter: blur(8px);
2692                font-size: 0.7rem;
2693                font-weight: 600;
2694                letter-spacing: 0.05em;
2695                text-transform: uppercase;
2696            }
2697
2698            .initiative-card-title {
2699                color: #ffffff;
2700                font-size: 1.08rem;
2701                font-weight: 700;
2702                margin: 0.65rem 0 0;
2703            }
2704
2705            .resource-stack {
2706                display: grid;
2707                gap: 0.85rem;
2708                grid-auto-rows: 1fr;
2709                flex: 1 1 auto;
2710            }
2711
2712            .resource-card {
2713                padding: 0.85rem;
2714                border-radius: 26px;
2715                background: #ffffff;
2716                border: 1px solid rgba(148, 163, 184, 0.16);
2717                box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
2718                transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
2719                display: flex;
2720                flex-direction: column;
2721            }
2722
2723            .resource-card:hover,
2724            .resource-card:focus {
2725                transform: translateY(-4px);
2726                box-shadow: 0 22px 42px rgba(15, 23, 42, 0.14);
2727                border-color: rgba(14, 165, 233, 0.24);
2728            }
2729
2730            .resource-image {
2731                border-radius: 20px;
2732                overflow: hidden;
2733                margin-bottom: 0.8rem;
2734            }
2735
2736            .resource-image img {
2737                width: 100%;
2738                aspect-ratio: 2.9 / 1;
2739                object-fit: cover;
2740            }
2741
2742            .resource-title {
2743                color: #10213d;
2744                font-size: 1.02rem;
2745                font-weight: 700;
2746                margin-bottom: 0.3rem;
2747            }
2748
2749            .resource-meta {
2750                color: #0f766e;
2751                font-size: 0.88rem;
2752                font-weight: 600;
2753                margin-bottom: 0.2rem;
2754            }
2755
2756            .resource-subtext {
2757                color: #64748b;
2758                font-size: 0.88rem;
2759                margin: 0;
2760            }
2761
2762            .country .country-item .country-name {
2763                background: linear-gradient(135deg, rgba(29, 78, 216, 0.94) 0%, rgba(30, 58, 138, 0.88) 100%);
2764            }
2765
2766            .training {
2767                background:
2768                    linear-gradient(180deg, rgba(255, 252, 248, 0.9) 0%, rgba(243, 247, 251, 0.92) 100%);
2769            }
2770
2771            .training .training-item .training-content {
2772                background: linear-gradient(180deg, rgba(29, 78, 216, 0.94) 0%, rgba(30, 58, 138, 0.96) 100%) !important;
2773            }
2774
2775            .contact .office .office-item {
2776                background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
2777                border: 1px solid var(--svc-line);
2778            }
2779
2780            .footer {
2781                background:
2782                    linear-gradient(135deg, rgba(43, 16, 16, 0.95) 0%, rgba(0, 58, 102, 0.95) 100%);
2783            }
2784
2785            .footer-counter {
2786                max-width: 100%;
2787                height: auto;
2788            }
2789
2790            @media (hover: none), (max-width: 991.98px) {
2791                .service .service-item .service-inner .service-title .service-content,
2792                .training .training-item .training-content {
2793                    position: static;
2794                    opacity: 1;
2795                    bottom: auto;
2796                    margin: 1rem 0 0;
2797                }
2798
2799                .service .service-item .service-inner .service-title .service-title-name,
2800                .training .training-item .training-inner .training-title-name {
2801                    position: static;
2802                    height: auto;
2803                    background: var(--bs-primary);
2804                    margin-top: 1rem;
2805                }
2806
2807                .service .service-item:hover .service-inner .service-title .service-title-name,
2808                .training .training-item:hover .training-inner .training-title-name a {
2809                    opacity: 1;
2810                }
2811            }
2812
2813            @media (max-width: 991.98px) {
2814                .carousel-header,
2815                .carousel-header .hero-carousel,
2816                .carousel-header .carousel-inner,
2817                .carousel-header .carousel-inner .carousel-item {
2818                    height: 320px !important;
2819                    min-height: 320px !important;
2820                }
2821
2822                .top-links-wrap,
2823                .brand-cluster,
2824                .brand-actions {
2825                    justify-content: center;
2826                }
2827
2828                .top-links-wrap {
2829                    flex-wrap: wrap;
2830                }
2831
2832                .top-links-primary,
2833                .top-links-translate {
2834                    width: 100%;
2835                    flex: 1 1 100%;
2836                }
2837
2838                .dual-link-panels {
2839                    grid-template-columns: 1fr;
2840                }
2841
2842                .link-panel-grid {
2843                    grid-template-columns: repeat(3, minmax(0, 1fr));
2844                }
2845
2846                .link-panel--campus .link-panel-grid,
2847                .link-panel--quick .link-panel-grid {
2848                    grid-template-columns: repeat(3, minmax(0, 1fr));
2849                }
2850
2851                .showcase-split {
2852                    grid-template-columns: 1fr;
2853                }
2854
2855                .media-highlight-grid {
2856                    grid-template-columns: 1fr;
2857                }
2858
2859                .media-highlight-tour {
2860                    grid-template-columns: 1fr;
2861                }
2862
2863                .media-highlight-tour-video iframe {
2864                    min-height: 220px;
2865                }
2866
2867                .top-links-list,
2868                .translate-wrap {
2869                    justify-content: center;
2870                }
2871
2872                .translate-wrap #google_translate_element {
2873                    min-width: 180px;
2874                }
2875
2876                #google_translate_element .goog-te-gadget {
2877                    display: flex !important;
2878                    flex-direction: column;
2879                    align-items: center;
2880                    justify-content: center;
2881                    gap: 0.2rem;
2882                    white-space: normal;
2883                    text-align: center;
2884                }
2885
2886                #google_translate_element .goog-te-gadget > span {
2887                    display: block;
2888                    width: 100%;
2889                    line-height: 1.3 !important;
2890                }
2891
2892                .section-shell::before {
2893                    inset: 18px 0;
2894                    border-radius: 24px;
2895                }
2896
2897                .navbar-light .navbar-nav .nav-link {
2898                    margin-right: 0;
2899                    padding: 0.75rem 0;
2900                }
2901
2902                .navbar {
2903                    min-height: auto;
2904                }
2905
2906                #navbarCollapse {
2907                    margin-top: 1rem;
2908                    padding: 1rem;
2909                    border-radius: 22px;
2910                    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 244, 239, 0.98) 100%);
2911                    border: 1px solid rgba(29, 78, 216, 0.09);
2912                    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
2913                }
2914
2915                .navbar-brand {
2916                    width: auto;
2917                    flex: 0 0 auto;
2918                    overflow: visible;
2919                }
2920
2921                .navbar-menu-wrap,
2922                .navbar-login-wrap {
2923                    width: 100%;
2924                }
2925
2926                .navbar-login-wrap {
2927                    flex: 0 0 auto;
2928                    flex-direction: column;
2929                    align-items: center;
2930                    gap: 0.65rem;
2931                    margin-top: 0.75rem;
2932                    text-align: center;
2933                }
2934
2935                .navbar-login-btn {
2936                    width: 100%;
2937                    max-width: 280px;
2938                    white-space: nowrap;
2939                }
2940
2941                .navbar-light .navbar-nav .nav-link,
2942                .navbar-light .navbar-nav .dropdown-item {
2943                    font-size: 0.98rem;
2944                }
2945
2946                .navbar-light .navbar-nav .nav-link {
2947                    min-height: 48px;
2948                    display: flex;
2949                    align-items: center;
2950                    justify-content: flex-start;
2951                    gap: 0.6rem;
2952                    padding: 0.9rem 0.25rem;
2953                    border-bottom: 1px solid rgba(29, 78, 216, 0.08);
2954                }
2955
2956                .navbar-light .navbar-nav .nav-item:last-child > .nav-link,
2957                .navbar-light .navbar-nav > .nav-link:last-child {
2958                    border-bottom: 0;
2959                }
2960
2961                .navbar-light .navbar-nav .dropdown-menu {
2962                    position: static !important;
2963                    inset: auto !important;
2964                    transform: none !important;
2965                    display: none;
2966                    margin: 0.35rem 0 0.85rem;
2967                    padding: 0.35rem;
2968                    background: rgba(29, 78, 216, 0.03);
2969                    box-shadow: none;
2970                    width: 100%;
2971                    min-width: 100%;
2972                    max-width: 100%;
2973                }
2974
2975                .navbar-light .navbar-nav .dropdown-menu.show {
2976                    display: block !important;
2977                }
2978
2979                .navbar .dropdown-menu {
2980                    border: 0;
2981                    box-shadow: none;
2982                    padding-top: 0;
2983                }
2984
2985                .carousel-header .carousel-control-prev,
2986                .carousel-header .carousel-control-next {
2987                    width: 56px;
2988                    height: 56px;
2989                }
2990
2991                .notice-vertical-slider {
2992                    height: 280px;
2993                }
2994            }
2995
2996            @media (max-width: 767.98px) {
2997                .home-brand-wrap {
2998                    padding-left: 0.85rem;
2999                    padding-right: 0.85rem;
3000                }
3001
3002                .top-links-bar {
3003                    padding-right: 0.85rem;
3004                }
3005
3006                .top-links-wrap {
3007                    gap: 0.75rem;
3008                }
3009
3010                .top-links-list {
3011                    justify-content: center;
3012                }
3013
3014                .top-links-list a {
3015                    width: 165px;
3016                    padding: 0 0.8rem;
3017                    font-size: 0.8rem;
3018                }
3019
3020                .top-links-list a + a {
3021                    padding-left: calc(0.8rem + 14px);
3022                }
3023
3024                .container.py-5,
3025                .container-fluid.py-5,
3026                .container.pt-5,
3027                .container-fluid.pt-5,
3028                .container.pb-5,
3029                .container-fluid.pb-5 {
3030                    padding-top: 2.5rem !important;
3031                    padding-bottom: 2.5rem !important;
3032                }
3033
3034                .row.g-5 {
3035                    --bs-gutter-y: 1.75rem;
3036                }
3037
3038                .row.g-4 {
3039                    --bs-gutter-y: 1.25rem;
3040                }
3041
3042                .brand-logo-wide,
3043                .brand-logo-accent {
3044                    width: 108px;
3045                    height: 66px;
3046                }
3047
3048                .brand-logo-square {
3049                    width: 66px;
3050                    height: 66px;
3051                }
3052
3053                .brand-audio {
3054                    width: 100%;
3055                }
3056
3057                .principal-contact {
3058                    letter-spacing: 0.4px;
3059                    font-size: 1rem;
3060                }
3061
3062                .section-title {
3063                    margin-bottom: 2rem !important;
3064                }
3065
3066                .section-title .display-5 {
3067                    font-size: 1.7rem;
3068                }
3069
3070                .section-title .section-copy {
3071                    font-size: 0.95rem;
3072                    line-height: 1.65;
3073                }
3074
3075                .service .service-item .service-inner .service-title .service-title-name .bg-primary {
3076                    margin-left: 0.75rem !important;
3077                    margin-right: 0.75rem !important;
3078                    padding: 0.85rem !important;
3079                }
3080
3081                .service .service-item .service-inner .service-title .service-content {
3082                    margin-top: 0.75rem;
3083                    padding-bottom: 1.25rem !important;
3084                }
3085
3086                .feature-item,
3087                .office-item {
3088                    padding: 1.25rem !important;
3089                }
3090
3091                .link-panel {
3092                    padding: 1.2rem;
3093                    border-radius: 26px;
3094                }
3095
3096                .link-panel-grid {
3097                    grid-template-columns: repeat(2, minmax(0, 1fr));
3098                    gap: 0.85rem;
3099                }
3100
3101                .link-panel--campus .link-panel-grid,
3102                .link-panel--quick .link-panel-grid {
3103                    grid-template-columns: repeat(2, minmax(0, 1fr));
3104                }
3105
3106                .link-panel-link {
3107                    min-height: 138px;
3108                    padding: 1rem 0.7rem;
3109                }
3110
3111                .link-panel-icon {
3112                    width: 66px;
3113                    height: 66px;
3114                }
3115
3116                .link-panel-label {
3117                    font-size: 0.9rem;
3118                }
3119
3120                .showcase-panel {
3121                    padding: 1.2rem;
3122                    border-radius: 26px;
3123                }
3124
3125                .translate-wrap {
3126                    width: 100%;
3127                }
3128
3129                .translate-wrap #google_translate_element {
3130                    width: 100%;
3131                    min-width: 0;
3132                }
3133
3134                .media-highlight-card {
3135                    padding: 1.2rem;
3136                    border-radius: 26px;
3137                }
3138
3139                .media-highlight-empty,
3140                .media-highlight-content {
3141                    min-height: 220px;
3142                }
3143
3144                .initiative-grid {
3145                    grid-template-columns: 1fr;
3146                }
3147
3148                .initiative-card {
3149                    min-height: 168px;
3150                }
3151
3152                .media-highlight-header {
3153                    gap: 0.75rem;
3154                }
3155
3156                .media-highlight-header h2 {
3157                    font-size: 1.35rem;
3158                }
3159
3160                .country .country-item .country-name a.fs-4,
3161                .training .training-item .training-inner .training-title-name a {
3162                    font-size: 1.15rem !important;
3163                }
3164
3165                .principal-photo {
3166                    min-height: 260px;
3167                }
3168
3169                .principal-photo-card {
3170                    padding: 10px;
3171                    border-radius: 24px;
3172                }
3173
3174                .principal-content-panel {
3175                    padding: 1.35rem 1.15rem;
3176                    border-radius: 26px;
3177                }
3178
3179                .principal-content-grid {
3180                    --bs-gutter-x: 1.25rem;
3181                    --bs-gutter-y: 1.25rem;
3182                }
3183
3184                .principal-caption {
3185                    left: 18px;
3186                    right: 18px;
3187                    bottom: 16px;
3188                    padding: 0.75rem 0.95rem;
3189                    border-radius: 14px;
3190                    font-size: 0.92rem;
3191                }
3192
3193                .home-stat-card {
3194                    padding: 1.25rem 1rem;
3195                    border-radius: 20px;
3196                }
3197
3198                .home-stat-icon {
3199                    width: 72px;
3200                    height: 72px;
3201                    border-radius: 20px;
3202                }
3203
3204                .home-stat-icon i {
3205                    font-size: 1.65rem;
3206                }
3207
3208                .section-separator-vertical {
3209                    display: none;
3210                }
3211
3212                .principal-side-stats {
3213                    margin-top: 0.5rem;
3214                }
3215
3216                .notice-box {
3217                    padding: 1.1rem;
3218                    border-radius: 22px;
3219                }
3220
3221                .notice-box-header {
3222                    align-items: flex-start;
3223                }
3224
3225                .section-separator {
3226                    margin-top: 2rem;
3227                    gap: 0.75rem;
3228                }
3229
3230                .section-separator-badge {
3231                    width: 54px;
3232                    height: 54px;
3233                    font-size: 1.15rem;
3234                }
3235
3236                .footer .footer-item a:hover {
3237                    letter-spacing: 0;
3238                }
3239
3240                .back-to-top {
3241                    right: 15px;
3242                    bottom: 15px;
3243                }
3244            }
3245
3246            @media (max-width: 479.98px) {
3247                .media-highlight-card {
3248                    padding: 1rem;
3249                }
3250
3251                .media-highlight-empty,
3252           
3252     .media-highlight-content {
3253                    min-height: 190px;
3254                    border-radius: 20px;
3255                }
3256
3257                .media-highlight-icon {
3258                    width: 48px;
3259                    height: 48px;
3260                    border-radius: 15px;
3261                }
3262
3263                .media-highlight-icon i {
3264                    font-size: 1.2rem;
3265                }
3266
3267                .media-highlight-header h2 {
3268                    font-size: 1.2rem;
3269                }
3270
3271                .media-highlight-tour-video iframe {
3272                    min-height: 190px;
3273                }
3274
3275                .link-panel-grid,
3276                .link-panel--campus .link-panel-grid,
3277                .link-panel--quick .link-panel-grid {
3278                    grid-template-columns: repeat(2, minmax(0, 1fr));
3279                    gap: 0.75rem;
3280                }
3281
3282                .link-panel-link {
3283                    min-height: 128px;
3284                    padding: 0.9rem 0.6rem;
3285                }
3286
3287                .link-panel-icon {
3288                    width: 58px;
3289                    height: 58px;
3290                }
3291
3292                .link-panel-icon i {
3293                    font-size: 1.55rem;
3294                }
3295
3296                .link-panel-label {
3297                    font-size: 0.82rem;
3298                    line-height: 1.25;
3299                }
3300            }
3301
3302            @media (max-width: 575.98px) {
3303                .carousel-header,
3304                .carousel-header .hero-carousel,
3305                .carousel-header .carousel-inner,
3306                .carousel-header .carousel-inner .carousel-item {
3307                    height: 220px !important;
3308                    min-height: 220px !important;
3309                }
3310
3311                .navbar.navbar-light {
3312                    padding-left: 1rem !important;
3313                    padding-right: 1rem !important;
3314                }
3315
3316                .navbar-toggler {
3317                    padding: 0.48rem 0.72rem;
3318                }
3319
3320                #navbarCollapse {
3321                    padding: 0.85rem 0.9rem;
3322                    border-radius: 18px;
3323                }
3324
3325                .navbar-login-btn {
3326                    min-height: 40px;
3327                    padding: 0.5rem 1.1rem;
3328                    white-space: nowrap;
3329                }
3330
3331                .translate-wrap {
3332                    width: 100%;
3333                    border-radius: 22px;
3334                    padding: 0.45rem 0.6rem;
3335                }
3336
3337                .translate-wrap #google_translate_element {
3338                    min-width: 0;
3339                    width: 100%;
3340                }
3341
3342                #google_translate_element .goog-te-gadget-simple {
3343                    width: 100%;
3344                    justify-content: center;
3345                }
3346
3347                .navbar-light .navbar-nav .nav-link {
3348                    padding: 0.82rem 0.15rem;
3349                    font-size: 0.95rem;
3350                }
3351
3352                .carousel-header .carousel-inner .carousel-item {
3353                    min-height: 220px;
3354                    height: 220px;
3355                }
3356
3357                .notice-vertical-slider {
3358                    height: 250px;
3359                }
3360
3361                .carousel-header + .section-shell-full {
3362                    margin-top: 14px;
3363                }
3364
3365                .carousel-header + .section-shell-full::after {
3366                    top: -14px;
3367                    height: 14px;
3368                }
3369
3370                .carousel-header::after {
3371                    height: 72px;
3372                }
3373
3374                .carousel-header .carousel-control-prev,
3375                .carousel-header .carousel-control-next {
3376                    width: 48px;
3377                    height: 48px;
3378                    top: 50%;
3379                    bottom: auto;
3380                    transform: translateY(-50%);
3381                }
3382
3383                .carousel-header .carousel-control-prev-icon,
3384                .carousel-header .carousel-control-next-icon {
3385                    width: 2.4rem;
3386                    height: 2.4rem;
3387                    margin: 0 !important;
3388                }
3389
3390                .carousel-header .carousel-control-prev {
3391                    left: 0.75rem;
3392                }
3393
3394                .carousel-header .carousel-control-next {
3395                    right: 0.75rem;
3396                }
3397
3398                .carousel-header .carousel-indicators {
3399                    justify-content: center;
3400                    margin-bottom: 0.55rem;
3401                    padding: 0 3.5rem;
3402                }
3403            }
3404
3405            /* Extended navigation: nested dropdown submenus (Link Master driven).
3406               The sub-sub-links container opens beside (adjacent to, to the
3407               right of) its parent sub-link, not below it. This used to get
3408               clipped — the sub-links container it's anchored inside had
3409               overflow-y: auto for long lists, and per the CSS overflow spec
3410               that forces overflow-x to auto as well, clipping (and adding a
3411               scrollbar for) anything positioned outside its right edge. Fixed
3412               above: a .dropdown-menu that itself contains a .dropdown-submenu
3413               now stays overflow: visible, so the flyout can render outside
3414               it without being clipped or triggering a horizontal scrollbar.
3415               JS in main_navigation.blade.php still nudges/caps it if it
3416               would overflow the viewport edges. */
3417            .navbar-light .navbar-nav .dropdown-submenu {
3418                position: relative;
3419            }
3420
3421            .navbar-light .navbar-nav .dropdown-submenu > .dropdown-item.dropdown-toggle::after {
3422                margin-left: auto;
3423                transform: rotate(-90deg);
3424            }
3425
3426            .navbar-light .navbar-nav .dropdown-submenu > .dropdown-menu {
3427                position: absolute;
3428                top: 0;
3429                left: 100%;
3430                margin-top: 0;
3431                z-index: 1050;
3432                display: none;
3433                max-height: calc(100vh - 110px);
3434                overflow-y: auto;
3435            }
3436
3437            @media (min-width: 992px) {
3438                /* :hover keeps the instant/direct case working with no JS
3439                   dependency; .show is toggled by JS with a short close-delay
3440                   (see main_navigation.blade.php) so moving the mouse from a
3441                   sub-link down into its sub-sub panel doesn't prematurely
3442                   close things over a tiny gap or path wobble. */
3443                .navbar-light .navbar-nav .dropdown-submenu:hover > .dropdown-menu,
3444                .navbar-light .navbar-nav .dropdown-submenu.show > .dropdown-menu {
3445                    display: block !important;
3446                }
3447            }
3448
3449            .homepage-nav-search {
3450                position: relative;
3451                width: min(100%, 22rem);
3452            }
3453
3454            .homepage-search-shell {
3455                display: flex;
3456                align-items: center;
3457                gap: 0.6rem;
3458                min-height: 44px;
3459                padding: 0.3rem 0.4rem 0.3rem 0.9rem;
3460                border-radius: 999px;
3461                background: var(--svc-surface-soft);
3462                border: 1px solid var(--svc-line);
3463            }
3464
3465            .homepage-search-input {
3466                flex: 1 1 auto;
3467                min-width: 0;
3468                border: 0;
3469                background: transparent;
3470                color: var(--svc-ink);
3471                font-size: 0.92rem;
3472                outline: none;
3473            }
3474
3475            .homepage-search-icon {
3476                color: var(--svc-blue);
3477            }
3478
3479            .homepage-search-button {
3480                border: 0;
3481                border-radius: 999px;
3482                padding: 0.55rem 1rem;
3483                background: var(--svc-blue);
3484                color: #ffffff;
3485                font-size: 0.8rem;
3486                font-weight: 700;
3487            }
3488
3489            .homepage-voice-btn {
3490                position: relative;
3491                border: 0;
3492                border-radius: 50%;
3493                width: 34px;
3494                height: 34px;
3495                background: transparent;
3496                color: var(--svc-blue);
3497                font-size: 0.95rem;
3498                cursor: pointer;
3499                display: flex;
3500                align-items: center;
3501                justify-content: center;
3502                flex-shrink: 0;
3503                padding: 0;
3504                transition: background 0.15s, color 0.15s;
3505            }
3506
3507            .homepage-voice-btn:hover {
3508                background: rgba(29, 78, 216, 0.12);
3509            }
3510
3511            .homepage-voice-btn.is-listening {
3512                color: #dc2626;
3513                background: rgba(220, 38, 38, 0.1);
3514                animation: svc-mic-pulse 1.4s ease-out infinite;
3515            }
3516
3517            /* Swap the static mic glyph for an animated "I'm listening" equalizer
3518               while active, so the button visibly reacts instead of just pulsing. */
3519            .homepage-voice-btn.is-listening .fa-microphone {
3520                display: none;
3521            }
3522
3523            .homepage-voice-btn .voice-listening-bars {
3524                display: none;
3525                align-items: flex-end;
3526                justify-content: center;
3527                gap: 2.5px;
3528                height: 16px;
3529            }
3530
3531            .homepage-voice-btn.is-listening .voice-listening-bars {
3532                display: flex;
3533            }
3534
3535            .homepage-voice-btn .voice-listening-bars span {
3536                display: block;
3537                width: 3px;
3538                height: 4px;
3539                border-radius: 2px;
3540                background: #dc2626;
3541                animation: svc-voice-bar 0.9s ease-in-out infinite;
3542            }
3543
3544            .homepage-voice-btn .voice-listening-bars span:nth-child(1) { animation-delay: 0s; }
3545            .homepage-voice-btn .voice-listening-bars span:nth-child(2) { animation-delay: 0.15s; }
3546            .homepage-voice-btn .voice-listening-bars span:nth-child(3) { animation-delay: 0.3s; }
3547            .homepage-voice-btn .voice-listening-bars span:nth-child(4) { animation-delay: 0.45s; }
3548
3549            @keyframes svc-voice-bar {
3550                0%, 100% { height: 4px; }
3551                50%      { height: 16px; }
3552            }
3553
3554            @keyframes svc-mic-pulse {
3555                0% {
3556                    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.45);
3557                }
3558                70% {
3559                    box-shadow: 0 0 0 10px rgba(220, 38, 38, 0);
3560                }
3561                100% {
3562                    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
3563                }
3564            }
3565
3566            .homepage-search-dropdown {
3567                position: absolute;
3568                top: calc(100% + 0.5rem);
3569                /* Anchored to the right edge (not the left) of the search box,
3570                   so it expands back into the page instead of off the right
3571                   edge of the viewport — the search box itself sits near the
3572                   right side of the header. */
3573                right: 0;
3574                width: min(26rem, 92vw);
3575                max-height: min(60vh, 28rem);
3576                overflow-y: auto;
3577                overflow-x: hidden;
3578                padding: 0.6rem;
3579                border-radius: 1.1rem;
3580                background: #ffffff;
3581                border: 1px solid var(--svc-line);
3582                box-shadow: var(--svc-shadow);
3583                z-index: 1080;
3584            }
3585
3586            .homepage-search-results-list {
3587                display: grid;
3588                gap: 0.5rem;
3589            }
3590
3591            .homepage-search-result {
3592                display: block;
3593                padding: 0.75rem 0.85rem;
3594                border-radius: 0.85rem;
3595                text-decoration: none;
3596                background: var(--svc-surface-soft);
3597                border: 1px solid var(--svc-line);
3598            }
3599
3600            .homepage-search-result:hover,
3601            .homepage-search-result.is-active {
3602                background: #ffffff;
3603                border-color: rgba(29, 78, 216, 0.3);
3604            }
3605
3606            .homepage-search-result-path {
3607                display: block;
3608                color: #1e3a8a;
3609                font-size: 0.82rem;
3610                font-weight: 700;
3611                overflow-wrap: anywhere;
3612            }
3613
3614            .homepage-search-result-preview {
3615                display: block;
3616                margin-top: 0.25rem;
3617                color: #334155;
3618                font-size: 0.86rem;
3619                overflow-wrap: anywhere;
3620            }
3621
3622            .homepage-search-status {
3623                padding: 0.9rem;
3624                border-radius: 0.85rem;
3625                color: #334155;
3626                font-size: 0.88rem;
3627                font-weight: 600;
3628                background: var(--svc-surface-soft);
3629            }
3630
3631            @media (max-width: 991.98px) {
3632                /* Mobile: sub links and sub-sub links stay a single vertical
3633                   column that fills the collapsed nav width. Display itself is
3634                   left alone here so Bootstrap's .show toggle (open/closed)
3635                   still controls visibility — only the box's own sizing changes. */
3636                .navbar-light .navbar-nav .dropdown-menu {
3637                    width: 100%;
3638                    min-width: 0;
3639                    max-width: 100%;
3640                }
3641
3642                .navbar-light .navbar-nav .dropdown-submenu > .dropdown-menu {
3643                    position: static;
3644                    left: auto;
3645                    z-index: auto;
3646                }
3647
3648                .homepage-nav-search {
3649                    width: 100%;
3650                    margin: 0;
3651                }
3652
3653                .homepage-search-dropdown {
3654                    position: static;
3655                    width: 100%;
3656                    margin-top: 0.5rem;
3657                }
3658            }
3659
3660            /* Fixed social share bar — pinned in a horizontal row along the
3661               top of the viewport and stays put while the page content
3662               scrolls underneath it. Each tab drops down on load
3663               (staggered) and unfurls a label on hover. */
3664            .social-fixed-rail {
3665                position: fixed;
3666                top: 0;
3667                left: 18px;
3668                z-index: 1030;
3669                display: flex;
3670                flex-direction: row;
3671                gap: 6px;
3672            }
3673
3674            .social-fixed-rail a {
3675                position: relative;
3676                display: flex;
3677                align-items: center;
3678                justify-content: flex-start;
3679                width: 46px;
3680                height: 46px;
3681                padding-left: 13px;
3682                border-radius: 0 0 12px 12px;
3683                color: #ffffff !important;
3684                font-size: 1.1rem;
3685                text-decoration: none;
3686                overflow: hidden;
3687                box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
3688                opacity: 0;
3689                transform: translateY(-60px);
3690                transform-origin: top center;
3691                animation: svcSocialDropIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
3692                animation-delay: calc(var(--i, 0) * 0.1s + 0.45s);
3693                transition: width 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, filter 0.3s ease;
3694            }
3695
3696            .social-fixed-rail a i {
3697                position: relative;
3698                z-index: 1;
3699                flex: 0 0 20px;
3700                text-align: center;
3701                transition: transform 0.35s ease;
3702            }
3703
3704            .social-fixed-rail a .social-fixed-label {
3705                position: relative;
3706                z-index: 1;
3707                max-width: 0;
3708                overflow: hidden;
3709                white-space: nowrap;
3710                font-family: 'Poppins', sans-serif;
3711                font-size: 0.82rem;
3712                font-weight: 600;
3713                letter-spacing: 0.02em;
3714                transition: max-width 0.35s ease, margin 0.35s ease;
3715            }
3716
3717            .social-fixed-rail a:hover,
3718            .social-fixed-rail a:focus {
3719                width: 168px;
3720                box-shadow: 0 10px 18px rgba(15, 23, 42, 0.3);
3721                filter: brightness(1.08);
3722                color: #ffffff !important;
3723            }
3724
3725            .social-fixed-rail a:hover .social-fixed-label,
3726            .social-fixed-rail a:focus .social-fixed-label {
3727                max-width: 120px;
3728                margin-left: 0.7rem;
3729            }
3730
3731            .social-fixed-rail a:hover i,
3732            .social-fixed-rail a:focus i {
3733                transform: scale(1.15) rotate(6deg);
3734            }
3735
3736            .social-fixed-rail a::after {
3737                content: "";
3738                position: absolute;
3739                inset: 0;
3740                background: rgba(255, 255, 255, 0.22);
3741                transform: translateX(-100%);
3742                transition: transform 0.45s ease;
3743            }
3744
3745            .social-fixed-rail a:hover::after,
3746            .social-fixed-rail a:focus::after {
3747                transform: translateX(0);
3748            }
3749
3750            .social-fixed-rail a.social-fixed-facebook { background: linear-gradient(135deg, #4267B2 0%, #3b5998 100%); }
3751            .social-fixed-rail a.social-fixed-twitter { background: linear-gradient(135deg, #6cc6f2 0%, #1da1f2 100%); }
3752            .social-fixed-rail a.social-fixed-instagram { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
3753            .social-fixed-rail a.social-fixed-linkedin { background: linear-gradient(135deg, #0e9fe0 0%, #0077b5 100%); }
3754
3755            /* Static "share" marker at the front of the bar — same tab
3756               shape and entrance animation as the links beside it, but not
3757               clickable and doesn't expand on hover. */
3758            .social-fixed-rail .social-fixed-share {
3759                display: flex;
3760                align-items: center;
3761                justify-content: center;
3762                width: 46px;
3763                height: 46px;
3764                border-radius: 0 0 12px 12px;
3765                background: linear-gradient(135deg, #64748b 0%, #475569 100%);
3766                color: #ffffff;
3767                font-size: 1.05rem;
3768                box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2);
3769                opacity: 0;
3770                transform: translateY(-60px);
3771                transform-origin: top center;
3772                animation: svcSocialDropIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
3773                animation-delay: calc(var(--i, 0) * 0.1s + 0.45s);
3774            }
3775
3776            @keyframes svcSocialDropIn {
3777                0% {
3778                    opacity: 0;
3779                    transform: translateY(-60px);
3780                }
3781                60% {
3782                    transform: translateY(6px);
3783                }
3784                100% {
3785                    opacity: 1;
3786                    transform: translateY(0);
3787                }
3788            }
3789
3790            @media (prefers-reduced-motion: reduce) {
3791                .social-fixed-rail a {
3792                    opacity: 1;
3793                    transform: none;
3794                    animation: none;
3795                }
3796            }
3797
3798            @media (max-width: 575.98px) {
3799                .social-fixed-rail {
3800                    left: 10px;
3801                    gap: 4px;
3802                }
3803
3804                .social-fixed-rail a {
3805                    width: 38px;
3806                    height: 38px;
3807                    padding-left: 10px;
3808                    font-size: 0.92rem;
3809                }
3810
3811                .social-fixed-rail .social-fixed-share {
3812                    width: 38px;
3813                    height: 38px;
3814                    font-size: 0.92rem;
3815                }
3816
3817                .social-fixed-rail a:hover,
3818                .social-fixed-rail a:focus {
3819                    width: 38px;
3820                }
3821
3822                .social-fixed-rail a:hover .social-fixed-label,
3823                .social-fixed-rail a:focus .social-fixed-label {
3824                    max-width: 0;
3825                    margin-left: 0;
3826                }
3827            }
3828
3829            /* ── Voice Search modal ── */
3830            .voice-search-modal .modal-content {
3831                border: 0;
3832                border-radius: 28px;
3833                overflow: hidden;
3834                box-shadow: 0 30px 70px rgba(15, 23, 42, 0.28);
3835            }
3836
3837            .voice-search-modal-header {
3838                padding: 1.25rem 1.6rem;
3839                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #1e40af 100%);
3840                border-bottom: 0;
3841            }
3842
3843            .voice-search-modal-header .modal-title {
3844                display: flex;
3845                align-items: center;
3846                gap: 0.6rem;
3847                color: #ffffff;
3848                font-family: 'Poppins', sans-serif;
3849                font-weight: 700;
3850            }
3851
3852            .voice-search-modal-header .btn-close {
3853                filter: brightness(0) invert(1);
3854                opacity: 0.95;
3855            }
3856
3857            .voice-search-modal-body {
3858                padding: 2rem 1.75rem 1.75rem;
3859                background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
3860            }
3861
3862            .voice-modal-mic-stage {
3863                display: flex;
3864                flex-direction: column;
3865                align-items: center;
3866                text-align: center;
3867                padding-bottom: 1.5rem;
3868                margin-bottom: 1.5rem;
3869                border-bottom: 1px dashed rgba(29, 78, 216, 0.18);
3870            }
3871
3872            .voice-modal-mic-wrap {
3873                position: relative;
3874                display: flex;
3875                align-items: center;
3876                justify-content: center;
3877                width: 128px;
3878                height: 128px;
3879                margin-bottom: 1.1rem;
3880                border: 0;
3881                background: none;
3882                padding: 0;
3883                cursor: pointer;
3884            }
3885
3886            .voice-modal-mic-circle {
3887                position: relative;
3888                z-index: 2;
3889                display: flex;
3890                align-items: center;
3891                justify-content: center;
3892                width: 96px;
3893                height: 96px;
3894                border-radius: 50%;
3895                background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
3896                color: #ffffff;
3897                font-size: 2.75rem;
3898                box-shadow: 0 18px 34px rgba(29, 78, 216, 0.35);
3899                transition: background 0.35s ease, box-shadow 0.35s ease, transform 0.25s ease;
3900            }
3901
3902            .voice-modal-mic-wrap:hover .voice-modal-mic-circle {
3903                transform: scale(1.05);
3904            }
3905
3906            .voice-modal-mic-ring {
3907                position: absolute;
3908                inset: 0;
3909                border-radius: 50%;
3910                border: 2px solid rgba(29, 78, 216, 0.35);
3911                opacity: 0;
3912            }
3913
3914            /* Listening state: mic turns "recording red" and the rings pulse
3915               outward continuously so the big icon reads as dynamically alive,
3916               not a static graphic. */
3917            .voice-modal-mic-stage.is-listening .voice-modal-mic-circle {
3918                background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
3919                box-shadow: 0 18px 34px rgba(220, 38, 38, 0.4);
3920                animation: svcVoiceModalPulse 1.6s ease-in-out infinite;
3921            }
3922
3923            .voice-modal-mic-stage.is-listening .voice-modal-mic-ring {
3924                border-color: rgba(220, 38, 38, 0.45);
3925                animation: svcVoiceModalRing 1.8s ease-out infinite;
3926            }
3927
3928            .voice-modal-mic-stage.is-listening .voice-modal-mic-ring-2 {
3929                animation-delay: 0.6s;
3930            }
3931
3932            @keyframes svcVoiceModalPulse {
3933                0%, 100% { transform: scale(1); }
3934                50%      { transform: scale(1.045); }
3935            }
3936
3937            @keyframes svcVoiceModalRing {
3938                0%   { transform: scale(0.85); opacity: 0.65; }
3939                100% { transform: scale(1.55); opacity: 0; }
3940            }
3941
3942            .voice-modal-status {
3943                margin: 0;
3944                color: #1e293b;
3945                font-family: 'Poppins', sans-serif;
3946                font-weight: 700;
3947                font-size: 1.02rem;
3948            }
3949
3950            .voice-modal-transcript {
3951                margin: 0.4rem 0 0;
3952                color: #1d4ed8;
3953                font-style: italic;
3954                font-size: 0.95rem;
3955            }
3956
3957            .voice-modal-steps {
3958                display: grid;
3959                gap: 1rem;
3960            }
3961
3962            .voice-modal-step {
3963                display: flex;
3964                align-items: flex-start;
3965                gap: 0.9rem;
3966                padding: 0.9rem 1rem;
3967                border-radius: 18px;
3968                background: #ffffff;
3969                border: 1px solid rgba(29, 78, 216, 0.1);
3970                box-shadow: 0 10px 20px rgba(15, 23, 42, 0.05);
3971            }
3972
3973            .voice-modal-step-num {
3974                flex: 0 0 auto;
3975                display: inline-flex;
3976                align-items: center;
3977                justify-content: center;
3978                width: 32px;
3979                height: 32px;
3980                border-radius: 50%;
3981                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
3982                color: #ffffff;
3983                font-family: 'Poppins', sans-serif;
3984                font-weight: 700;
3985                font-size: 0.92rem;
3986            }
3987
3988            .voice-modal-step-text strong {
3989                display: block;
3990                color: #10213d;
3991                font-family: 'Poppins', sans-serif;
3992                font-size: 0.96rem;
3993                margin-bottom: 0.15rem;
3994            }
3995
3996            .voice-modal-step-text p {
3997                margin: 0;
3998                color: #5b6677;
3999                font-size: 0.88rem;
4000                line-height: 1.55;
4001            }
4002
4003            /* ── Results: best-match card, suggestion accordion, empty state ── */
4004            .voice-modal-match-card {
4005                display: flex;
4006                align-items: center;
4007                gap: 1rem;
4008                padding: 1.15rem 1.3rem;
4009                border-radius: 22px;
4010                background: linear-gradient(135deg, rgba(29, 78, 216, 0.08) 0%, rgba(37, 99, 235, 0.04) 100%);
4011                border: 1px solid rgba(29, 78, 216, 0.18);
4012            }
4013
4014            .voice-modal-match-icon {
4015                flex: 0 0 auto;
4016                color: #16a34a;
4017                font-size: 2rem;
4018            }
4019
4020            .voice-modal-match-body {
4021                flex: 1 1 auto;
4022                min-width: 0;
4023            }
4024
4025            .voice-modal-match-label {
4026                display: block;
4027                color: #64748b;
4028                font-size: 0.78rem;
4029                font-weight: 700;
4030                text-transform: uppercase;
4031                letter-spacing: 0.06em;
4032            }
4033
4034            .voice-modal-match-title {
4035                margin: 0.15rem 0 0;
4036                color: #10213d;
4037                font-family: 'Poppins', sans-serif;
4038                font-weight: 700;
4039                overflow-wrap: anywhere;
4040            }
4041
4042            .voice-modal-match-countdown {
4043                margin: 0.5rem 0 0;
4044                color: #1d4ed8;
4045                font-size: 0.86rem;
4046                font-weight: 600;
4047            }
4048
4049            .voice-modal-match-countdown strong {
4050                display: inline-block;
4051                min-width: 1.1em;
4052                font-size: 1rem;
4053            }
4054
4055            .voice-modal-match-btn {
4056                flex: 0 0 auto;
4057                display: inline-flex;
4058                align-items: center;
4059                gap: 0.5rem;
4060                padding: 0.65rem 1.15rem;
4061                border-radius: 999px;
4062                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
4063                color: #ffffff !important;
4064                font-weight: 700;
4065                text-decoration: none;
4066                white-space: nowrap;
4067                box-shadow: 0 14px 24px rgba(29, 78, 216, 0.22);
4068                transition: transform 0.2s ease, box-shadow 0.2s ease;
4069            }
4070
4071            .voice-modal-match-btn:hover {
4072                transform: translateY(-1px);
4073                box-shadow: 0 18px 30px rgba(29, 78, 216, 0.3);
4074            }
4075
4076            .voice-modal-suggestions-title {
4077                display: flex;
4078                align-items: center;
4079                gap: 0.5rem;
4080                margin: 0 0 0.85rem;
4081                color: #10213d;
4082                font-family: 'Poppins', sans-serif;
4083                font-weight: 700;
4084                font-size: 0.98rem;
4085            }
4086
4087            .voice-modal-accordion .accordion-item.voice-modal-accordion-item {
4088                border: 1px solid rgba(29, 78, 216, 0.12);
4089                border-radius: 16px !important;
4090                overflow: hidden;
4091                margin-bottom: 0.7rem;
4092                box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
4093            }
4094
4095            .voice-modal-accordion .accordion-item:last-child {
4096                margin-bottom: 0;
4097            }
4098
4099            .voice-modal-accordion .accordion-button {
4100                padding: 0.85rem 1.1rem;
4101                background: #ffffff;
4102                color: #1e3a8a;
4103                font-weight: 600;
4104                font-size: 0.94rem;
4105                box-shadow: none;
4106            }
4107
4108            .voice-modal-accordion .accordion-button:not(.collapsed) {
4109                background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
4110                color: #1d4ed8;
4111                box-shadow: inset 0 -1px 0 rgba(29, 78, 216, 0.12);
4112            }
4113
4114            .voice-modal-accordion .accordion-button:focus {
4115                box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.18);
4116            }
4117
4118            .voice-modal-accordion .accordion-button::after {
4119                flex-shrink: 0;
4120            }
4121
4122            .voice-modal-crumb {
4123                overflow-wrap: anywhere;
4124            }
4125
4126            .voice-modal-crumb-sep {
4127                margin: 0 0.25rem;
4128                color: #93a5c9;
4129                font-weight: 400;
4130            }
4131
4132            .voice-modal-accordion .accordion-body {
4133                padding: 1rem 1.1rem 1.15rem;
4134                background: #fbfdff;
4135            }
4136
4137            .voice-modal-result-preview {
4138                margin: 0 0 0.8rem;
4139                color: #475569;
4140                font-size: 0.9rem;
4141                line-height: 1.6;
4142            }
4143
4144            .voice-modal-result-link {
4145                display: inline-flex;
4146                align-items: center;
4147                gap: 0.45rem;
4148                padding: 0.5rem 1rem;
4149                border-radius: 999px;
4150                background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
4151                color: #ffffff !important;
4152                font-weight: 600;
4153                font-size: 0.86rem;
4154                text-decoration: none;
4155                box-shadow: 0 10px 18px rgba(29, 78, 216, 0.2);
4156                transition: transform 0.2s ease, box-shadow 0.2s ease;
4157            }
4158
4159            .voice-modal-result-link:hover {
4160                transform: translateY(-1px);
4161                box-shadow: 0 14px 22px rgba(29, 78, 216, 0.26);
4162            }
4163
4164            .voice-modal-empty {
4165                display: flex;
4166                flex-direction: column;
4167                align-items: center;
4168                gap: 0.6rem;
4169                padding: 2rem 1rem;
4170                text-align: center;
4171                color: #64748b;
4172            }
4173
4174            .voice-modal-empty i {
4175                font-size: 2.4rem;
4176                color: #93a5c9;
4177            }
4178
4179            .voice-modal-empty p {
4180                margin: 0;
4181                font-size: 0.94rem;
4182            }
4183
4184            .voice-modal-retry-btn {
4185                display: flex;
4186                align-items: center;
4187                justify-content: center;
4188                gap: 0.55rem;
4189                width: 100%;
4190                margin-top: 1.4rem;
4191                padding: 0.75rem 1.2rem;
4192                border: 2px solid #1d4ed8;
4193                border-radius: 999px;
4194                background: #ffffff;
4195                color: #1d4ed8;
4196                font-family: 'Poppins', sans-serif;
4197                font-weight: 700;
4198                transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
4199            }
4200
4201            .voice-modal-retry-btn:hover {
4202                background: #1d4ed8;
4203                color: #ffffff;
4204                transform: translateY(-1px);
4205            }
4206
4207            @media (prefers-reduced-motion: reduce) {
4208                .voice-modal-mic-stage.is-listening .voice-modal-mic-circle,
4209                .voice-modal-mic-stage.is-listening .voice-modal-mic-ring {
4210                    animation: none;
4211                }
4212            }
4213
4214            @media (max-width: 575.98px) {
4215                .voice-modal-mic-wrap {
4216                    width: 104px;
4217                    height: 104px;
4218                }
4219
4220                .voice-modal-mic-circle {
4221                    width: 78px;
4222                    height: 78px;
4223                    font-size: 2.2rem;
4224                }
4225
4226                .voice-modal-match-card {
4227                    flex-wrap: wrap;
4228                }
4229
4230                .voice-modal-match-btn {
4231                    width: 100%;
4232                    justify-content: center;
4233                }
4234            }
4235        </style>
4236
4237    <style>
4238        .listing-page-hero {
4239            background: #ffffff;
4240            border-bottom: 2px solid #e5e7eb;
4241            padding: 2.5rem 0 2rem;
4242            color: #1e3a8a;
4243        }
4244        .listing-page-hero h1 { font-size: 1.75rem; font-weight: 700; margin: 0; color: #1e3a8a; }
4245        .listing-page-hero .breadcrumb-item, .listing-page-hero .breadcrumb-item a { color: #3b5bdb; font-size: 0.875rem; }
4246        .listing-page-hero .breadcrumb-item.active { color: #1e3a8a; }
4247        .listing-page-hero .breadcrumb-divider { color: #93c5fd; }
4248
4249        .listing-wrap { padding: 2.5rem 0 3.5rem; background: #f8f9fb; min-height: 60vh; }
4250        .listing-card {
4251            background: #fff;
4252            border-radius: 16px;
4253            box-shadow: 0 4px 24px rgba(15,23,42,0.08);
4254            padding: 1.75rem 1.5rem;
4255        }
4256
4257        /* Search bar above table */
4258        .listing-search-row { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
4259        .listing-search-wrap { position: relative; flex: 1 1 280px; max-width: 440px; }
4260        .listing-search-wrap input {
4261            width: 100%; padding: 0.55rem 0.9rem 0.55rem 2.4rem;
4262            border-radius: 999px; border: 1.5px solid #d1d5db;
4263            font-size: 0.9rem; background: #f8f9fb; outline: none;
4264            transition: border-color 0.2s;
4265        }
4266        .listing-search-wrap input:focus { border-color: #800000; background: #fff; }
4267        .listing-search-wrap .search-icon { position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%); color: #800000; font-size: 0.85rem; }
4268        .listing-search-clear { position: absolute; right: 0.85rem; top: 50%; transform: translateY(-50%); cursor: pointer; color: #9ca3af; font-size: 0.85rem; display: none; }
4269        .listing-search-wrap input:not(:placeholder-shown) ~ .listing-search-clear { display: block; }
4270
4271        /* DataTable overrides */
4272        table.dataTable { border-collapse: collapse !important; }
4273        table.dataTable thead th {
4274            background: #e5e7eb; color: #000000 !important; font-weight: 700;
4275            font-size: 0.84rem; border: none !important; white-space: nowrap;
4276            padding: 0.75rem 1rem;
4277        }
4278        table.dataTable thead th.sorting::after,
4279        table.dataTable thead th.sorting_asc::after,
4280        table.dataTable thead th.sorting_desc::after { color: rgba(0,0,0,0.5) !important; }
4281        table.dataTable tbody tr:hover { background: #fff8f8 !important; }
4282        table.dataTable tbody td { font-size: 0.875rem; vertical-align: middle; padding: 0.65rem 1rem;
4282 border-bottom: 1px solid #f0f0f0; }
4283        .dataTables_wrapper .dataTables_paginate .paginate_button.current,
4284        .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background: #800000 !important; border-color: #800000 !important; color: #fff !important; border-radius: 6px; }
4285        .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background: #fde8e8 !important; color: #800000 !important; border-color: #fde8e8 !important; border-radius: 6px; }
4286        .dataTables_wrapper .dataTables_info { font-size: 0.82rem; color: #6b7280; }
4287        .dataTables_wrapper .dataTables_length select { border-radius: 6px; border: 1px solid #d1d5db; padding: 0.2rem 0.4rem; }
4288        /* Hide default DataTables search (we use our own) */
4289        .dataTables_wrapper .dataTables_filter { display: none !important; }
4290
4291        .listing-title { font-weight: 600; color: #1e293b; }
4292        .listing-dl-icon {
4293            display: inline-flex; align-items: center; justify-content: center;
4294            width: 36px; height: 36px; margin: 0 4px 4px 0; border-radius: 50%;
4295            background: linear-gradient(135deg, #800000 0%, #a3122b 100%);
4296            color: #ffffff; font-size: 0.95rem;
4297            box-shadow: 0 4px 10px rgba(128, 0, 0, 0.25);
4298            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
4299        }
4300        .listing-dl-icon:hover, .listing-dl-icon:focus {
4301            color: #ffffff; transform: translateY(-2px);
4302            box-shadow: 0 8px 18px rgba(128, 0, 0, 0.32);
4303            background: linear-gradient(135deg, #a3122b 0%, #800000 100%);
4304        }
4305
4306        .listing-back-btn { color: #800000; font-weight: 600; text-decoration: none; font-size: 0.9rem; }
4307        .listing-back-btn:hover { color: #5a0000; text-decoration: underline; }
4308
4309        @media (max-width: 576px) {
4310            .listing-card { padding: 1rem 0.75rem; }
4311            table.dataTable thead th, table.dataTable tbody td { font-size: 0.78rem; padding: 0.5rem 0.5rem; }
4312        }
4313    </style>
4314</head>
4315<body>
4316
4317<div id="spinner" class="show bg-white position-fixed translate-middle w-100 vh-100 top-50 start-50 d-flex align-items-center justify-content-center">
4318    <div class="spinner-border text-secondary" style="width:3rem;height:3rem;" role="status"><span class="sr-only">Loading...</span></div>
4319</div>
4320
4321<!-- Fixed Social Share Rail Start -->
4322        <div class="social-fixed-rail" aria-label="Follow us on social media">
4323            <span class="social-fixed-share" style="--i:0" aria-hidden="true">
4324                <i class="fas fa-share"></i>
4325            </span>
4326            <a class="social-fixed-facebook" style="--i:1" href="" target="_blank" rel="noopener" aria-label="Facebook">
4327                <i class="fab fa-facebook-f"></i><span class="social-fixed-label">Facebook</span>
4328            </a>
4329            <a class="social-fixed-twitter" style="--i:2" href="" target="_blank" rel="noopener" aria-label="Twitter">
4330                <i class="fab fa-twitter"></i><span class="social-fixed-label">Twitter</span>
4331            </a>
4332            <a class="social-fixed-instagram" style="--i:3" href="" target="_blank" rel="noopener" aria-label="Instagram">
4333                <i class="fab fa-instagram"></i><span class="social-fixed-label">Instagram</span>
4334            </a>
4335            <a class="social-fixed-linkedin" style="--i:4" href="" target="_blank" rel="noopener" aria-label="LinkedIn">
4336                <i class="fab fa-linkedin-in"></i><span class="social-fixed-label">LinkedIn</span>
4337            </a>
4338        </div>
4339        <!-- Fixed Social Share Rail End -->
4340
4341		<!-- Header Hero Start -->
4342		<div class="container-fluid header-hero">
4343			<div class="row gx-0 align-items-stretch header-hero-row">
4344				<div class="col-12 col-lg-9 header-hero-media">
4345					<a href="https://svc.ac.in" class="header-hero-media-link">
4346						<img src="https://svc.ac.in/svc_home/img/main_top.fw.png" class="img-fluid header-hero-image" alt="Sri Venkateswara College, University of Delhi">
4347					</a>
4348				</div>
4349				<div class="col-12 col-lg-3 header-hero-actions">
4350					<div class="header-hero-actions-row">
4351						<div class="header-hero-actions-media">
4352							<a href="https://svc.ac.in/linkedpage/1/40/0/All/All">
4353								<img src="https://svc.ac.in/svc_home/mainpage/Viksit.jpg" class="img-fluid img-thumbnail header-hero-actions-image" alt="Viksit Bharat">
4354							</a>
4355						</div>
4356						<div class="header-hero-actions-buttons">
4357							<div class="header-action-block header-action-textsize" role="group" aria-label="Accessibility text size controls">
4358								<button type="button" class="screen-reader-btn" data-font-scale="1.1" aria-label="Increase text size">A+</button>
4359								<button type="button" class="screen-reader-btn is-active" data-font-scale="1" aria-label="Reset text size">A</button>
4360								<button type="button" class="screen-reader-btn" data-font-scale="0.95" aria-label="Decrease text size">A-</button>
4361							</div>
4362							<div class="header-action-block header-action-language">
4363								<i class="fas fa-language"></i>
4364								<div id="google_translate_element"></div>
4365								
4365<script type="text/javascript">
4366									function googleTranslateElementInit() {
4367										new google.translate.TranslateElement(
4368											{pageLanguage: 'en'},
4369											'google_translate_element'
4370										);
4371									}
4372								</script>
4372
4373								
4373<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
4373
4374							</div>
4375							<a href="https://sas.svc.ac.in/login" class="header-action-block header-action-erp" target="_blank" rel="noopener">
4376								<i class="fas fa-sign-in-alt"></i>
4377								<span>ERP Login</span>
4378							</a>
4379						</div>
4380					</div>
4381				</div>
4382			</div>
4383		</div>
4384		<!-- Header Hero End -->
4385
4386        <!-- Topbar Start -->
4387        <div class="container-fluid top-links-bar">
4388            <div class="row gx-0 align-items-center top-links-wrap justify-content-between">
4389                <div class="col top-links-primary text-center text-lg-start mb-0">
4390                    <div class="top-links-list justify-content-center justify-content-lg-start">
4391                                                                                                                                                                                                                                                
4392                                <a href="https://svc.ac.in/extended/4"   ><i class="fa fa-caret-right" aria-hidden="true"></i> MOU</a>
4393                                                                                                                
4394                                <a href="https://svc.ac.in/extended/142"   ><i class="fa fa-caret-right" aria-hidden="true"></i> NIRF</a>
4395                                                                                                                                                                                                                                                                            
4396                                <a href="https://svc.ac.in/extended/8"   ><i class="fa fa-caret-right" aria-hidden="true"></i> VIRTUAL TOUR</a>
4397                                                                                                                                                                                                                                                                            
4398                                <a href="https://svc.ac.in/extended/12"   ><i class="fa fa-caret-right" aria-hidden="true"></i> HELPDESK</a>
4399                                                                                                                                                                                                                                                                            
4400                                <a href="https://svc.ac.in/extended/16"   ><i class="fa fa-caret-right" aria-hidden="true"></i> SCREEN READER ACCESS</a>
4401                                                                                                                                                                    
4402                                <a href="https://svc.ac.in/extended/18"   ><i class="fa fa-caret-right" aria-hidden="true"></i> FLC/PGDBT</a>
4403                                                                                                                                                                                                                                                                                                                                                                                                </div>
4404                </div>
4405                                    <div class="col-auto top-links-search text-center text-lg-end mb-0">
4406                        <div class="homepage-nav-search" data-home-search data-search-url="https://svc.ac.in/extended/search">
4407                            <form class="homepage-search-shell" role="search" autocomplete="off" onsubmit="return false;">
4408                                <label class="visually-hidden" for="homepageNavSearch">Search website contents</label>
4409                                <i class="fa fa-search homepage-search-icon" aria-hidden="true"></i>
4410                                <input
4411                                    id="homepageNavSearch"
4412                                    class="homepage-search-input"
4413                                    type="search"
4414                                    name="q"
4415                                    placeholder="Search SVC website"
4416                                    aria-label="Search SVC website"
4417                                    aria-autocomplete="list"
4418                                    aria-expanded="false"
4419                                    aria-controls="homepageSearchResults"
4420                                    spellcheck="false"
4421                                >
4422                                <button class="homepage-search-button" type="submit">Search</button>
4423                                <button class="homepage-voice-btn" type="button" data-bs-toggle="modal" data-bs-target="#voiceSearchModal" title="Search by voice" aria-label="Search by voice" style="display:none;">
4424                                    <i class="fa fa-microphone" aria-hidden="true"></i>
4425                                    <span class="voice-listening-bars" aria-hidden="true">
4426                                        <span></span><span></span><span></span><span></span>
4427                                    </span>
4428                                </button>
4429                            </form>
4430                            <div class="homepage-search-dropdown" id="homepageSearchResults" data-home-search-results hidden></div>
4431                        </div>
4432                    </div>
4433                            </div>
4434        </div>
4435        <!-- Topbar End -->
4436
4437                    <!-- Voice Search Modal Start -->
4438            <div class="modal fade voice-search-modal" id="voiceSearchModal" tabindex="-1" aria-labelledby="voiceSearchModalLabel" aria-hidden="true">
4439                <div class="modal-dialog modal-dialog-centered modal-lg">
4440                    <div class="modal-content voice-search-modal-content">
4441                        <div class="modal-header voice-search-modal-header">
4442                            <h5 class="modal-title" id="voiceSearchModalLabel">
4443                                <i class="fas fa-microphone-alt" aria-hidden="true"></i> Voice Search
4444                            </h5>
4445                            <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
4446                        </div>
4447                        <div class="modal-body voice-search-modal-body">
4448                            <div class="voice-modal-mic-stage" data-voice-modal-mic-stage>
4449                                <button type="button" class="voice-modal-mic-wrap" data-voice-modal-mic-btn aria-label="Start listening">
4450                                    <span class="voice-modal-mic-ring voice-modal-mic-ring-1" aria-hidden="true"></span>
4451                                    <span class="voice-modal-mic-ring voice-modal-mic-ring-2" aria-hidden="true"></span>
4452                                    <span class="voice-modal-mic-circle">
4453                                        <i class="fas fa-microphone-alt" data-voice-modal-mic-icon aria-hidden="true"></i>
4454                                    </span>
4455                                </button>
4456                                <p class="voice-modal-status" data-voice-modal-status aria-live="polite">Tap the microphone to start speaking</p>
4457                                <p class="voice-modal-transcript" data-voice-modal-transcript aria-live="polite" hidden></p>
4458                            </div>
4459
4460                            <div class="voice-modal-steps" data-voice-modal-steps>
4461                                <div class="voice-modal-step">
4462                                    <span class="voice-modal-step-num">1</span>
4463                                    <div class="voice-modal-step-text">
4464                                        <strong>Say something</strong>
4465                                        <p>Like <em>&quot;About Us&quot;</em>, <em>&quot;Fee Structure&quot;</em>, <em>&quot;Admission&quot;</em> or <em>&quot;Seating Plan&quot;</em>, etc.</p>
4466                                    </div>
4467                                </div>
4468                                <div class="voice-modal-step">
4469                                    <span class="voice-modal-step-num">2</span>
4470                                    <div class="voice-modal-step-text">
4471                                        <strong>System will search</strong>
4472                                        <p>We look through the website for the relevant content(s).</p>
4473                                    </div>
4474                                </div>
4475                                <div class="voice-modal-step">
4476                                    <span class="voice-modal-step-num">3</span>
4477                                    <div class="voice-modal-step-text">
4478                                        <strong>Get your result</strong>
4479                                        <p>A direct match opens right away — otherwise you'll get suggested links to choose from.</p>
4480                                    </div>
4481                                </div>
4482                            </div>
4483
4484                            <div class="voice-modal-results" data-voice-modal-results aria-live="polite" hidden>
4485                                <div class="voice-modal-best-match" data-voice-modal-best-match hidden></div>
4486
4487                                <div class="voice-modal-suggestions" data-voice-modal-suggestions hidden>
4488                                    <p class="voice-modal-suggestions-title"><i class="fas fa-list-ul" aria-hidden="true"></i> Suggested pages</p>
4489                                    <div class="accordion voice-modal-accordion" id="voiceModalAccordion" data-voice-modal-accordion></div>
4490                                </div>
4491
4492                                <div class="voice-modal-empty" data-voice-modal-empty hidden>
4493                                    <i class="fas fa-satellite-dish" aria-hidden="true"></i>
4494                                    <p>We couldn't find anything for that. Try saying it a different way.</p>
4495                                </div>
4496                            </div>
4497
4498                            <button type="button" class="voice-modal-retry-btn" data-voice-modal-retry hidden>
4499                                <i class="fas fa-rotate-left" aria-hidden="true"></i> Search Again
4500                            </button>
4501                        </div>
4502                    </div>
4503                </div>
4504            </div>
4505            <!-- Voice Search Modal End -->
4506
4507                            
4507<script>
4508                    document.addEventListener('DOMContentLoaded', function () {
4509                        var modalEl = document.getElementById('voiceSearchModal');
4510                        var searchRoot = document.querySelector('[data-home-search]');
4511                        if (!modalEl || !searchRoot || typeof bootstrap === 'undefined') { return; }
4512
4513                        var voiceBtn = searchRoot.querySelector('.homepage-voice-btn');
4514                        var searchUrl = searchRoot.getAttribute('data-search-url');
4515                        var SpeechRecognitionCtor = window.SpeechRecognition || window.webkitSpeechRecognition;
4516
4517                        // Browser doesn't support the Web Speech API — leave the mic
4518                        // button hidden (it defaults to display:none) rather than
4519                        // showing a control that can never work.
4520                        if (!voiceBtn || !searchUrl || !SpeechRecognitionCtor) { return; }
4521
4522                        voiceBtn.style.display = '';
4523
4524                        var micStage      = modalEl.querySelector('[data-voice-modal-mic-stage]');
4525                        var micBtn        = modalEl.querySelector('[data-voice-modal-mic-btn]');
4526                        var statusText    = modalEl.querySelector('[data-voice-modal-status]');
4527                        var transcriptEl  = modalEl.querySelector('[data-voice-modal-transcript]');
4528                        var stepsEl       = modalEl.querySelector('[data-voice-modal-steps]');
4529                        var resultsEl     = modalEl.querySelector('[data-voice-modal-results]');
4530                        var bestMatchEl   = modalEl.querySelector('[data-voice-modal-best-match]');
4531                        var suggestionsEl = modalEl.querySelector('[data-voice-modal-suggestions]');
4532                        var accordionEl   = modalEl.querySelector('[data-voice-modal-accordion]');
4533                        var emptyEl       = modalEl.querySelector('[data-voice-modal-empty]');
4534                        var retryBtn      = modalEl.querySelector('[data-voice-modal-retry]');
4535
4536                        var DEFAULT_STATUS = 'Tap the microphone and say something';
4537                        var FILLER_RE = /^(please\s+|can you\s+|could you\s+)?(navigate to|take me to|go to|show me|open|goto)\s+/;
4538
4539                        // Only links with their own contents (hasContents) become spoken
4540                        // targets — a pure grouping node like "About" never matches on
4541                        // its own, only concrete pages like "About Us" do.
4542                        var voiceNavTargets = [{ title: 'Home', url: 'https://svc.ac.in' }]
4543                            .concat([{"title":"ABOUT US","url":"https:\/\/svc.ac.in\/extended\/23"},{"title":"GOVERNING BODY","url":"https:\/\/svc.ac.in\/extended\/38"},{"title":"ADMINISTRATION","url":"https:\/\/svc.ac.in\/extended\/44"},{"title":"ORGANOGRAM","url":"https:\/\/svc.ac.in\/extended\/51"},{"title":"ANNUAL REPORTS","url":"https:\/\/svc.ac.in\/extended\/57"},{"title":"VISION \u0026 MISSION","url":"https:\/\/svc.ac.in\/extended\/62"},{"title":"TENDER QUOTATIONS","url":"https:\/\/svc.ac.in\/notices\/tenders"},{"title":"VIKSIT BHARAT","url":"https:\/\/svc.ac.in\/extended\/70"},{"title":"RAJBHASHA","url":"https:\/\/svc.ac.in\/extended\/76"},{"title":"DOWNLOAD CENTER","url":"https:\/\/svc.ac.in\/extended\/79"},{"title":"JOB","url":"https:\/\/svc.ac.in\/notices\/jobs"},{"title":"PRINCIPAL\u0027S DESK","url":"https:\/\/svc.ac.in\/extended\/83"},{"title":"STAFF ELECTION","url":"https:\/\/svc.ac.in\/extended\/84"},{"title":"MOU","url":"https:\/\/svc.ac.in\/extended\/4"},{"title":"BIOCHEMISTRY","url":"https:\/\/svc.ac.in\/extended\/85"},{"title":"BOTANY","url":"https:\/\/svc.ac.in\/extended\/87"},{"title":"CHEMISTRY","url":"https:\/\/svc.ac.in\/extended\/89"},{"title":"COMMERCE","url":"https:\/\/svc.ac.in\/extended\/91"},{"title":"ECONOMICS","url":"https:\/\/svc.ac.in\/extended\/93"},{"title":"ELECTRONICS","url":"https:\/\/svc.ac.in\/extended\/95"},{"title":"ENGLISH","url":"https:\/\/svc.ac.in\/extended\/97"},{"title":"ENVIRONMENTAL SCIENCE","url":"https:\/\/svc.ac.in\/extended\/99"},{"title":"HINDI","url":"https:\/\/svc.ac.in\/extended\/101"},{"title":"HISTORY","url":"https:\/\/svc.ac.in\/extended\/103"},{"title":"MATHEMATICS","url":"https:\/\/svc.ac.in\/extended\/105"},{"title":"PHYSICAL EDUCATION","url":"https:\/\/svc.ac.in\/extended\/107"},{"title":"PHYSICS","url":"https:\/\/svc.ac.in\/extended\/109"},{"title":"POLITICAL SCIENCE","url":"https:\/\/svc.ac.in\/extended\/111"},{"title":"SANSKRIT","url":"https:\/\/svc.ac.in\/extended\/113"},{"title":"SOCIOLOGY","url":"https:\/\/svc.ac.in\/extended\/115"},{"title":"STATISTICS","url":"https:\/\/svc.ac.in\/extended\/117"},{"title":"TAMIL","url":"https:\/\/svc.ac.in\/extended\/119"},{"title":"TELUGU","url":"https:\/\/svc.ac.in\/extended\/121"},{"title":"ZOOLOGY","url":"https:\/\/svc.ac.in\/extended\/123"},{"title":"B. A. PROGRAMME","url":"https:\/\/svc.ac.in\/extended\/125"},{"title":"LIFE SCIENCE","url":"https:\/\/svc.ac.in\/extended\/127"},{"title":"BIOLOGICAL SCIENCE","url":"https:\/\/svc.ac.in\/extended\/129"},{"title":"COURSES OFFERED","url":"https:\/\/svc.ac.in\/extended\/31"},{"title":"SYLLABUS","url":"https:\/\/svc.ac.in\/extended\/45"},{"title":"TIME TABLE","url":"https:\/\/svc.ac.in\/extended\/52"},{"title":"ACADEMIC CALENDAR","url":"https:\/\/svc.ac.in\/extended\/58"},{"title":"TRAINING \u0026 INTERNSHIP","url":"https:\/\/svc.ac.in\/extended\/63"},{"title":"ADDITIONAL COURSES\/ FOREIGN LANGUAGE","url":"https:\/\/svc.ac.in\/extended\/68"},{"title":"COLLEGE NOTICES \u0026 CIRCULARS","url":"https:\/\/svc.ac.in\/notices\/college"},{"title":"STUDENT NOTICES \u0026 CIRCULARS","url":"https:\/\/svc.ac.in\/notices\/students"},{"title":"RTI","url":"https:\/\/svc.ac.in\/extended\/6"},{"title":"TEACHING ROSTER","url":"https:\/\/svc.ac.in\/extended\/7"},{"title":"VIRTUAL TOUR","url":"https:\/\/svc.ac.in\/extended\/8"},{"title":"PG Courses","url":"https:\/\/svc.ac.in\/extended\/147"},{"title":"2026-2027","url":"https:\/\/svc.ac.in\/extended\/146"},{"title":"2025-2026","url":"https:\/\/svc.ac.in\/extended\/145"},{"title":"COLLEGE PROSPECTUS","url":"https:\/\/svc.ac.in\/extended\/39"},{"title":"HELPDESK","url":"https:\/\/svc.ac.in\/extended\/12"},{"title":"SCREEN READER ACCESS","url":"https:\/\/svc.ac.in\/extended\/16"},{"title":"ACHIEVEMENTS","url":"https:\/\/svc.ac.in\/extended\/33"},{"title":"FOREIGN STUDENTS","url":"https:\/\/svc.ac.in\/extended\/157"},{"title":"180DC SVC","url":"https:\/\/svc.ac.in\/extended\/86"},{"title":"CONNECTING DREAMS FOUNDATION","url":"https:\/\/svc.ac.in\/extended\/90"},{"title":"ECO CLUB","url":"https:\/\/svc.ac.in\/extended\/92"},{"title":"EMPATHISE","url":"https:\/\/svc.ac.in\/extended\/96"},{"title":"ENACTUS","url":"https:\/\/svc.ac.in\/extended\/98"},{"title":"NCC","url":"https:\/\/svc.ac.in\/extended\/112"},{"title":"NSS","url":"https:\/\/svc.ac.in\/extended\/118"},{"title":"YOUTH INDIA FOUNDATION","url":"https:\/\/svc.ac.in\/extended\/122"},{"title":"CONSTELLATION HR CELL","url":"https:\/\/svc.ac.in\/extended\/124"},{"title":"BRAINIACS","url":"https:\/\/svc.ac.in\/extended\/126"},{"title":"Fine Arts Association","url":"https:\/\/svc.ac.in\/extended\/104"},{"title":"FINE ARTS-ALAAP","url":"https:\/\/svc.ac.in\/extended\/128"},{"title":"FINE ARTS-ANUBHUTI","url":"https:\/\/svc.ac.in\/extended\/130"},{"title":"FINE ARTS-PETRICHOR","url":"https:\/\/svc.ac.in\/extended\/138"},{"title":"FINE ARTS-VIMARSH","url":"https:\/\/svc.ac.in\/extended\/141"},{"title":"PLACEMENTS","url":"https:\/\/svc.ac.in\/placements"},{"title":"FREESHIP","url":"https:\/\/svc.ac.in\/extended\/46"},{"title":"STUDENTS\u0027 ELECTION","url":"https:\/\/svc.ac.in\/extended\/53"},{"title":"2025-26","url":"https:\/\/svc.ac.in\/extended\/160"},{"title":"2026-27","url":"https:\/\/svc.ac.in\/extended\/161"},{"title":"SCHOLARSHIP","url":"https:\/\/svc.ac.in\/extended\/80"},{"title":"COUNSELLOR","url":"https:\/\/svc.ac.in\/extended\/82"},{"title":"FLC\/PGDBT","url":"https:\/\/svc.ac.in\/extended\/18"},{"title":"IQAC","url":"https:\/\/svc.ac.in\/extended\/17"},{"title":"IQAC COMPOSITION","url":"https:\/\/svc.ac.in\/extended\/29"},{"title":"IQAC ACTIVITIES","url":"https:\/\/svc.ac.in\/extended\/37"},{"title":"IQAC MINUTES","url":"https:\/\/svc.ac.in\/extended\/43"},{"title":"NIRF","url":"https:\/\/svc.ac.in\/extended\/34"},{"title":"LIBRARY","url":"https:\/\/svc.ac.in\/extended\/27"},{"title":"ICT","url":"https:\/\/svc.ac.in\/extended\/35"},{"title":"HOSTEL","url":"https:\/\/svc.ac.in\/extended\/41"},{"title":"SPORTS","url":"https:\/\/svc.ac.in\/extended\/47"},{"title":"SEMINAR HALL","url":"https:\/\/svc.ac.in\/extended\/54"},{"title":"CANTEEN","url":"https:\/\/svc.ac.in\/extended\/60"},{"title":"MEDICAL ROOM","url":"https:\/\/svc.ac.in\/extended\/64"},{"title":"LABORATORIES","url":"https:\/\/svc.ac.in\/extended\/67"},{"title":"BOTANICAL GARDEN","url":"https:\/\/svc.ac.in\/extended\/69"},{"title":"STAFF COUNCIL","url":"https:\/\/svc.ac.in\/extended\/28"},{"title":"SC\/ST\/OBC COMMITTEE","url":"https:\/\/svc.ac.in\/extended\/42"},{"title":"ICC","url":"https:\/\/svc.ac.in\/extended\/49"},{"title":"SITE MAP","url":"https:\/\/svc.ac.in\/sitemap"},{"title":"OLD WEBSITE","url":"https:\/\/svc.ac.in\/public\/oldsvcweb.php"}]);
4544                        (function dedupeByUrl() {
4545                            var seen = {};
4546                            voiceNavTargets = voiceNavTargets.filter(function (t) {
4547                                if (seen[t.url]) { return false; }
4548                                seen[t.url] = true;
4549                                return true;
4550                            });
4551                        })();
4552
4553                        function escapeHtml(value) {
4554                            return String(value || '')
4555                                .replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
4556                                .replace(/"/g, '&quot;').replace(/'/g, '&#39;');
4557                        }
4558
4559                        function normalizeStr(s) {
4560                            return (s || '').toLowerCase().replace(/[^a-z0-9\s]/g, ' ').replace(/\s+/g, ' ').trim();
4561                        }
4562
4563                        function stripFillers(command) {
4564                            var stripped = command.replace(FILLER_RE, '').trim();
4565                            return stripped || command;
4566                        }
4567
4568                        // Strips conversational filler words from ANY position in the
4569                        // phrase (not just a fixed lead-in pattern), so "I want to know
4570                        // about fee structure" reduces to "fee structure" the same way
4571                        // "open fee structure" does — important for blind users, who are
4572                        // speaking whole sentences rather than typing short keywords.
4573                        var STOPWORDS = {};
4574                        [
4575                            'a', 'an', 'the', 'is', 'are', 'was', 'were', 'am', 'be', 'been',
4576                            'to', 'of', 'for', 'on', 'in', 'at', 'by', 'and', 'or', 'it',
4577                            'this', 'that', 'these', 'those', 'about', 'regarding', 'related',
4578                            'know', 'want', 'wanna', 'wants', 'wanted', 'tell', 'give', 'me',
4579                            'my', 'mine', 'we', 'our', 'us', 'you', 'your', 'i', 'id',
4580                            'please', 'can', 'could', 'would', 'should', 'will', 'shall',
4581                            'do', 'does', 'did', 'how', 'what', 'where', 'when', 'which',
4582                            'who', 'whom', 'get', 'find', 'show', 'see', 'look', 'looking',
4583                            'need', 'needed', 'like', 'page', 'section', 'details', 'detail',
4584                            'info', 'information', 'here', 'there', 'search', 'searching',
4585                            'lookup'
4586                        ].forEach(function (w) { STOPWORDS[w] = true; });
4587
4588                        function extractKeywords(text) {
4589                            var normalized = normalizeStr(text);
4590                            var tokens = normalized.split(' ').filter(
4590Boolean);
4591                            var kept = tokens.filter(function (t) { return !STOPWORDS[t]; });
4592                            return kept.length ? kept.join(' ') : normalized;
4593                        }
4594
4595                        // Spoken feedback — the modal's visible text/countdown/accordion
4596                        // mean nothing to a blind user unless something actually speaks
4597                        // it. Mirrors the speak() helper already used by the "Venki"
4598                        // wake-word navigator elsewhere on this site.
4599                        function speak(text, onDone) {
4600                            if (!window.speechSynthesis) {
4601                                if (onDone) { onDone(); }
4602                                return;
4603                            }
4604                            window.speechSynthesis.cancel();
4605                            var utt = new SpeechSynthesisUtterance(text);
4606                            utt.lang = 'en-US';
4607                            utt.rate = 1.02;
4608                            if (onDone) {
4609                                utt.addEventListener('end', onDone);
4610                                utt.addEventListener('error', onDone);
4611                            }
4612                            window.speechSynthesis.speak(utt);
4613                        }
4614
4615                        function levenshtein(a, b) {
4616                            var m = a.length, n = b.length;
4617                            if (m === 0) { return n; }
4618                            if (n === 0) { return m; }
4619                            var row = [];
4620                            for (var j = 0; j <= n; j++) { row[j] = j; }
4621                            for (var i = 1; i <= m; i++) {
4622                                var prev = row[0];
4623                                row[0] = i;
4624                                for (var k = 1; k <= n; k++) {
4625                                    var tmp = row[k];
4626                                    row[k] = a[i - 1] === b[k - 1]
4627                                        ? prev
4628                                        : Math.min(prev + 1, row[k] + 1, row[k - 1] + 1);
4629                                    prev = tmp;
4630                                }
4631                            }
4632                            return row[n];
4633                        }
4634
4635                        function levSimilarity(a, b) {
4636                            var maxLen = Math.max(a.length, b.length) || 1;
4637                            return 1 - (levenshtein(a, b) / maxLen);
4638                        }
4639
4640                        function scoreMatch(command, title) {
4641                            var c = normalizeStr(command);
4642                            var t = normalizeStr(title);
4643                            if (!c || !t) { return 0; }
4644                            if (c === t) { return 1; }
4645                            if (t.indexOf(c) !== -1 || c.indexOf(t) !== -1) { return 0.9; }
4646
4647                            var cTokens = c.split(' ').filter(Boolean);
4648                            var tTokens = t.split(' ').filter(Boolean);
4649                            var tSet = {};
4650                            tTokens.forEach(function (w) { tSet[w] = true; });
4651                            var unionSet = {};
4652                            cTokens.concat(tTokens).forEach(function (w) { unionSet[w] = true; });
4653                            var intersectionCount = 0;
4654                            cTokens.forEach(function (w) { if (tSet[w]) { intersectionCount++; } });
4655                            var unionCount = Object.keys(unionSet).length || 1;
4656
4657                            return (intersectionCount / unionCount) * 0.8;
4658                        }
4659
4660                        function findNavMatches(command) {
4661                            return voiceNavTargets
4662                                .map(function (target) {
4663                                    return { title: target.title, url: target.url, score: scoreMatch(command, target.title) };
4664                                })
4665                                .sort(function (a, b) {
4666                                    if (Math.abs(a.score - b.score) > 0.0001) { return b.score - a.score; }
4667                                    return levSimilarity(normalizeStr(command), normalizeStr(b.title)) - levSimilarity(normalizeStr(command), normalizeStr(a.title));
4668                                });
4669                        }
4670
4671                        var recognition = null;
4672                        var isListening = false;
4673                        var finalFired = false;
4674                        var safetyTimer = null;
4675                        var searchRequestCounter = 0;
4676                        var redirectCountdownTimer = null;
4677                        var redirectTimer = null;
4678
4679                        function clearRedirectTimers() {
4680                            window.clearInterval(redirectCountdownTimer);
4681                            window.clearTimeout(redirectTimer);
4682                            redirectCountdownTimer = null;
4683                            redirectTimer = null;
4684                        }
4685
4686                        /* ── Stage control: idle → listening → searching → results ── */
4687                        function setStage(stage) {
4688                            micStage.classList.toggle('is-listening', stage === 'listening');
4689                            stepsEl.hidden = (stage === 'results');
4690                            resultsEl.hidden = (stage !== 'results');
4691                            retryBtn.hidden = (stage !== 'results');
4692
4693                            if (stage === 'idle') {
4694                                statusText.textContent = DEFAULT_STATUS;
4695                                transcriptEl.hidden = true;
4696                                transcriptEl.textContent = '';
4697                            } else if (stage === 'listening') {
4698                                statusText.textContent = 'Listening… speak now';
4699                            } else if (stage === 'searching') {
4700                                statusText.textContent = 'Searching…';
4701                            }
4702                        }
4703
4704                        function resetResults() {
4705                            clearRedirectTimers();
4706                            stopPickListening();
4707                            bestMatchEl.hidden = true; bestMatchEl.innerHTML = '';
4708                            suggestionsEl.hidden = true; accordionEl.innerHTML = '';
4709                            emptyEl.hidden = true;
4710                        }
4711
4712                        // The single voice-driven "we found it" moment — used for a
4713                        // confident nav-menu match, a single content-search hit, AND a
4714                        // spoken pick off a suggestion list. No click required: it's
4715                        // announced out loud, shown with a countdown, then the modal
4716                        // closes itself and the page navigates there automatically.
4717                        function confirmAndOpen(target) {
4718                            stopPickListening();
4719                            resetResults();
4720                            bestMatchEl.hidden = false;
4721                            bestMatchEl.innerHTML =
4722                                '<div class="voice-modal-match-card">' +
4723                                    '<span class="voice-modal-match-icon"><i class="fas fa-circle-check" aria-hidden="true"></i></span>' +
4724                                    '<div class="voice-modal-match-body">' +
4725                                        '<span class="voice-modal-match-label">We found this for you</span>' +
4726                                        '<h6 class="voice-modal-match-title">' + escapeHtml(target.title) + '</h6>' +
4727                                        '<p class="voice-modal-match-countdown" data-voice-modal-countdown></p>' +
4728                                    '</div>' +
4729                                '</div>';
4730                            statusText.textContent = 'Direct match found';
4731                            setStage('results');
4732                            micStage.classList.remove('is-listening');
4733
4734                            userStopped = true;
4735                            if (recognition) { try { recognition.abort(); } catch (e) {} }
4736
4737                            speak('Found it. ' + target.title + '. Opening it now.');
4738
4739                            var countdownEl = bestMatchEl.querySelector('[data-voice-modal-countdown]');
4740                            var secondsLeft = 3;
4741
4742                            function renderCountdown() {
4743                                if (!countdownEl) { return; }
4744                                countdownEl.innerHTML = 'Redirecting to your search page in <strong>' + secondsLeft + '</strong> second' + (secondsLeft === 1 ? '' : 's') + '&hellip;';
4745                            }
4746
4747                            renderCountdown();
4748
4749                            redirectCountdownTimer = window.setInterval(function () {
4750                                secondsLeft -= 1;
4751                                if (secondsLeft > 0) { renderCountdown(); }
4752                            }, 1000);
4753
4754                            redirectTimer = window.setTimeout(function () {
4755                                clearRedirectTimers();
4756                                var closeBtn = modalEl.querySelector('[data-bs-dismiss="modal"]');
4757                                if (closeBtn) { closeBtn.click(); }
4758                                window.location.href = target.url;
4759                            }, 3000);
4760                        }
4761
4762                        function formatBreadcrumb(path) {
4763                            return escapeHtml(String(path || '')).split(' &gt; ').join(' <span class="voice-modal-crumb-sep">&raquo;</span> ');
4764                        }
4765
4766                        /* ── Ordinal words ("first", "second", …) let a blind user pick
4767                           by position instead of having to repeat a whole title. ── */
4768                        var ORDINAL_WORDS = {
4769                            first: 0, one: 0, '1': 0, top: 0,
4770                            second: 1, two: 1, '2': 1,
4771                            third: 2, three: 2, '3': 2,
4772                            fourth: 3, four: 3, '4': 3,
4773                            fifth: 4, five: 4, '5': 4
4774                        };
4775
4776                        function pickByOrdinal(text, count) {
4777                            var tokens = normalizeStr(text).split(' ');
4778                            for (var i = 0; i < tokens.length; i++) {
4779                                if (Object.prototype.hasOwnProperty.call(ORDINAL_WORDS, tokens[i])) {
4780                                    var idx = ORDINAL_WORDS[tokens[i]];
4781                                    if (idx < count) { return idx; }
4782                                }
4783                            }
4784                            return -1;
4785                        }
4786
4787                        var pickRecognition = null;
4788                        var pickRetries = 0;
4789
4790                        function stopPickListening() {
4791                            if (pickRecognition) { try { pickRecognition.abort(); } catch (e) {} pickRecognition = null; }
4792                        }
4793
4794                        /* ── The suggestions accordion stays for anyone browsing by
4795                           sight or by screen reader, but for a blind user speaking is
4796                           the primary path: we read the options out loud and listen
4797                           for their answer — by title or by position ("second") —
4798                           and open it the same way a direct match would. ── */
4799                        function startPickListening(results) {
4800                            if (!modalEl.classList.contains('show')) { return; }
4801                            stopPickListening();
4802                            micStage.classList.add('is-listening');
4803                            statusText.textContent = 'Listening for your choice…';
4804
4805                            var r = new SpeechRecognitionCtor();
4806                            r.lang = 'en-US';
4807                            r.continuous = false;
4808                            r.interimResults = false;
4809                            r.maxAlternatives = 3;
4810                            pickRecognition = r;
4811
4812                            r.addEventListener('result', function (e) {
4813                                var alternatives = e.results[0];
4814                                var ordinalIdx = -1;
4815                                var best = null;
4816
4817                                for (var i = 0; i < alternatives.length; i++) {
4818                                    var said = alternatives[i].transcript.trim();
4819                                    var idx = pickByOrdinal(said, results.length);
4820                                    if (idx !== -1) { ordinalIdx = idx; break; }
4821
4822                                    var scored = results
4823                                        .map(function (item, itemIdx) { return { idx: itemIdx, score: scoreMatch(extractKeywords(said), item.path) }; })
4824                                        .sort(function (a, b) { return b.score - a.score; });
4825
4826                                    if (scored[0] && (!best || scored[0].score > best.score)) { best = scored[0]; }
4827                                }
4828
4829                                var chosenIdx = ordinalIdx !== -1 ? ordinalIdx : ((best && best.score >= 0.45) ? best.idx : -1);
4830
4831                                if (chosenIdx !== -1) {
4832                                    var chosen = results[chosenIdx];
4833                                    confirmAndOpen({ title: chosen.path, url: chosen.url });
4834                                    return;
4835                                }
4836
4837                                pickRetries++;
4838                                if (pickRetries < 3 && modalEl.classList.contains('show')) {
4839                                    speak("Sorry, I didn't catch that. Please say the page name again, or say first, second, or third.", function () {
4840                                        startPickListening(results);
4841                                    });
4842                                } else {
4843                                    micStage.classList.remove('is-listening');
4844                                    statusText.textContent = 'Say a page name, or browse the list below';
4845                                    speak('You can browse the list below, or tap the microphone to search again.');
4846                                }
4847                            });
4848
4849                            r.addEventListener('error', function (e) {
4850                                if (pickRecognition === r) { pickRecognition = null; }
4851                                micStage.classList.remove('is-listening');
4852                                if (e.error === 'aborted' || !modalEl.classList.contains('show')) { return; }
4853
4854                                pickRetries++;
4855                                if (pickRetries < 3) {
4856                                    window.setTimeout(function () { startPickListening(results); }, 500);
4857                                } else {
4858                                    statusText.textContent = 'Say a page name, or browse the list below';
4859                                }
4860                            });
4861
4862                            r.addEventListener('end', function () {
4863                                if (pickRecognition === r) { pickRecognition = null; }
4864                            });
4865
4866                            try { r.start(); } catch (e) {}
4867                        }
4868
4869                        function listenForPick(results) {
4870                            pickRetries = 0;
4871                            var names = results.slice(0, 4).map(function (item) { return item.path; }).join('. ');
4872                            var extra = results.length > 4 ? ', and more' : '';
4873                            var announcement = 'I found ' + results.length + (results.length === 1 ? ' result' : ' results') + '. ' + names + extra + '. Say the page name you want, or say first, second, or third.';
4874                            speak(announcement, function () { startPickListening(results); });
4875                        }
4876
4877                        function showSuggestions(results) {
4878                            resetResults();
4879                            suggestionsEl.hidden = false;
4880                            accordionEl.innerHTML = results.map(function (item, idx) {
4881                                var collapseId = 'voiceModalResult' + idx;
4882                                return (
4883                                    '<div class="accordion-item voice-modal-accordion-item">' +
4884                                        '<h2 class="accordion-header">' +
4885                                            '<button class="accordion-button' + (idx === 0 ? '' : ' collapsed') + '" type="button" data-bs-toggle="collapse" data-bs-target="#' + collapseId + '">' +
4886                                                '<span class="voice-modal-crumb">' + formatBreadcrumb(item.path) + '</span>' +
4887                                            '</button>' +
4888                                        '</h2>' +
4889                                        '<div id="' + collapseId + '" class="accordion-collapse collapse' + (idx === 0 ? ' show' : '') + '" data-bs-parent="#voiceModalAccordion">' +
4890                                            '<div class="accordion-body">' +
4891                                                '<p class="voice-modal-result-preview">' + escapeHtml(item.preview || '') + '</p>' +
4892                                                '<a href="' + escapeHtml(item.url) + '" class="voice-modal-result-link">Visit Page <i class="fas fa-arrow-right" aria-hidden="true"></i></a>' +
4893                                            '</div>' +
4894                                        '</div>' +
4895                                    '</div>'
4896                                );
4897                            }).join('');
4898                            statusText.textContent = 'Suggested pages for you';
4899                            setStage('results');
4900
4901                            userStopped = true;
4902                            if (recognition) { try { recognition.abort(); } catch (e) {} }
4903
4904                            listenForPick(results);
4905                        }
4906
4907                        function showEmpty() {
4908                            resetResults();
4909                            emptyEl.hidden = false;
4910                            statusText.textContent = 'No matches found';
4911                            setStage('results');
4912                            speak("I couldn't find anything for that. Tap the microphone and try again.");
4913                        }
4914
4915                        // Accepts either one query string or a list of candidate queries
4916                        // (speech-to-text's n-best guesses, in confidence order). Tries
4917                        // each in turn and stops at the first one that finds anything —
4918                        // a misheard top guess ("Rajiv Goyal") no longer means "no
4919                        // results" if guess #2 or #3 ("Rajiv Goel") actually matches.
4920                        function runContentSearch(queries) {
4921                            var queryList = (Array.isArray(queries) ? queries : [queries])
4922                                .filter(Boolean)
4923                                .slice(0, 3);
4924
4925                            if (!queryList.length) { showEmpty(); return; }
4926
4927                            setStage('searching');
4928                            searchRequestCounter += 1;
4929                            var currentRequest = searchRequestCounter;
4930
4931                            function tryQuery(idx) {
4932                                if (idx >= queryList.length) {
4933                                    if (currentRequest === searchRequestCounter) { showEmpty(); }
4934                                    return;
4935                                }
4936
4937                                window.fetch(searchUrl + '?q=' + encodeURIComponent(queryList[idx]), {
4938                                    headers: { 'X-Requested-With': 'XMLHttpRequest', 'Accept': 'application/json' },
4939                                })
4940                                    .then(function (response) {
4941                                        if (!response.ok) { throw new Error('unavailable'); }
4942                                        return response.json();
4943                                    })
4944                                    .then(function (payload) {
4945                                        if (currentRequest !== searchRequestCounter) { return; }
4946                                        var results = Array.isArray(payload.results) ? payload.results : [];
4947                                        if (results.length === 1) {
4948                                            // Unambiguous — just open it, same as a direct nav match.
4949                                            confirmAndOpen({ title: results[0].path, url: results[0].url });
4950                                        } else if (results.length > 1) {
4951                                            showSuggestions(results);
4952                                        } else {
4953                                            tryQuery(idx + 1);
4954                                        }
4955                                    })
4956                                    .catch(function () {
4957                                        if (currentRequest !== searchRequestCounter) { return; }
4958                                        tryQuery(idx + 1);
4959                                    });
4960                            }
4961
4962                            tryQuery(0);
4963                        }
4964
4965                        /* ── Decide what a spoken phrase means. Accepts one transcript or
4966                           a list of n-best alternatives (in confidence order): a
4967                           confident nav-menu match on any of them opens immediately;
4968                           otherwise all of them are tried, in order, against full-text
4969                           content search until one finds something. ── */
4970                        function handleTranscript(transcripts) {
4971                            var candidates = (Array.isArray(transcripts) ? transcripts : [transcripts])
4972                                .map(function (t) { return extractKeywords(stripFillers(normalizeStr(t))); })
4973                                .filter(Boolean);
4974
4975                            var seen = {};
4976                            candidates = candidates.filter(function (c) {
4977                                if (seen[c]) { return false; }
4978                                seen[c] = true;
4979                                return true;
4980                            });
4981
4982                            if (!candidates.length) { showEmpty(); return; }
4983
4984                            for (var i = 0; i < candidates.length; i++) {
4985                                var matches = findNavMatches(candidates[i]);
4986                                var top = matches[0];
4987                                var second = matches[1];
4988
4989                                if (top && top.score >= 0.72 && (!second || (top.score - second.score) >= 0.15)) {
4990                                    confirmAndOpen(top);
4991                                    return;
4992                                }
4993                            }
4994
4995                            runContentSearch(candidates);
4996                        }
4997
4998                        var userStopped = false;
4999
5000                        /* ── Build a brand-new recognition instance for every listen
5001                           attempt instead of restarting one shared object — reusing a
5002                           single instance across start/abort/end cycles is what made
5003                           the mic button appear to "stop working": browsers can throw
5004                           on .start() if called before the previous session has fully
5005                           torn down. `continuous: true` also keeps the mic actively
5006                           listening instead of the engine auto-closing the session
5007                           after a couple of quiet seconds. ── */
5008                        function createRecognition() {
5009                            var r = new SpeechRecognitionCtor();
5010                            r.lang            = 'en-US';
5011                            r.continuous      = true;
5012                            r.interimResults  = true;
5013                            r.maxAlternatives = 5;
5014
5015                            r.addEventListener('start', function () {
5016                                isListening = true;
5017                                finalFired = false;
5018                                setStage('listening');
5019                                safetyTimer = window.setTimeout(function () {
5020                                    try { r.abort(); } catch (e) {}
5021                                }, 20000);
5022                            });
5023
5024                            r.addEventListener('result', function (e) {
5025                                var interimText = '';
5026                                var finalAlternatives = [];
5027
5028                                // Collect every alternative the engine offered, in its own
5029                                // confidence order — scoring them against the nav menu here
5030                                // is meaningless for a query like a person's name (nothing to
5031                                // score against), so the ranking-among-alternatives now
5032                                // happens downstream in handleTranscript/runContentSearch,
5033                                // which can actually try each one against real search results.
5034                                for (var i = e.resultIndex; i < e.results.length; i++) {
5035                                    if (e.results[i].isFinal) {
5036                                        for (var j = 0; j < e.results[i].length; j++) {
5037                                            var candidateText = e.results[i][j].transcript.trim();
5038                                            if (candidateText) { finalAlternatives.push(candidateText); }
5039                                        }
5040                                    } else {
5041                                        interimText = e.results[i][0].transcript.trim();
5042                                    }
5043                                }
5044
5045                                if (finalAlternatives.length) {
5046                                    finalFired = true;
5047                                    transcriptEl.hidden = false;
5048                                    transcriptEl.textContent = '“' + finalAlternatives[0] + '”';
5049                                    // We only want the first phrase — stop the (continuous)
5050                                    // session now that we have it instead of continuing to listen.
5051                                    try { r.stop(); } catch (e) {}
5052                                    handleTranscript(finalAlternatives);
5053                                } else if (interimText) {
5054                                    transcriptEl.hidden = false;
5055                                    transcriptEl.textContent = '“' + interimText + '”';
5056                                }
5057                            });
5058
5059                            r.addEventListener('end', function () {
5060                                window.clearTimeout(safetyTimer);
5061                                isListening = false;
5062                                if (recognition === r) { recognition = null; }
5063
5064                                if (finalFired || !modalEl.classList.contains('show')) { return; }
5065
5066                                if (userStopped) {
5067                                    micStage.classList.remove('is-listening');
5068                                    setStage('idle');
5069                                    return;
5070                                }
5071
5072                                var pending = transcriptEl.textContent.replace(/[“”]/g, '').trim();
5073                                if (pending.length >= 2) {
5074                                    handleTranscript(pending);
5075                                } else {
5076                                    // Session closed itself out (engine-side quiet timeout)
5077                                    // without us hearing anything — keep the mic effectively
5078                                    // "active" by transparently starting a new session rather
5079                                    // than dumping the user back to a dead idle screen.
5080                                    startRecognition();
5081                                }
5082                            });
5083
5084                            r.addEventListener('error', function (e) {
5085                                window.clearTimeout(safetyTimer);
5086                                isListening = false;
5087                                if (recognition === r) { recognition = null; }
5088                                micStage.classList.remove('is-listening');
5089
5090                                if (e.error === 'aborted') { return; }
5091
5092                                if (e.error === 'no-speech') {
5093                                    if (!userStopped && modalEl.classList.contains('show')) { startRecognition(); }
5094                                    return;
5095                                }
5096
5097                                var msg = 'Voice search failed. Please try again.';
5098                                if (e.error === 'not-allowed' || e.error === 'service-not-allowed') { msg = 'Microphone is blocked for this site. Allow it in your browser settings and reload the page.'; }
5099                                else if (e.error === 'network') { msg = 'Network error during voice recognition.'; }
5100                                else if (e.error === 'audio-capture') { msg = 'No microphone found. Please connect a microphone.'; }
5101                                statusText.textContent = msg;
5102                                speak(msg);
5103                            });
5104
5105                            return r;
5106                        }
5107
5108                        function startRecognition() {
5109                            userStopped = false;
5110                            finalFired = false;
5111                            if (recognition) { try { recognition.abort(); } catch (e) {} }
5112                            recognition = createRecognition();
5113                            try { recognition.start(); } catch (e) {}
5114                        }
5115
5116                        function requestListen() {
5117                            if (navigator.permissions && navigator.permissions.query) {
5118                                navigator.permissions.query({ name: 'microphone' }).then(function (status) {
5119                                    if (status.state === 'denied') {
5120                                        var msg = 'Microphone is blocked for this site. Allow it in your browser settings and reload the page.';
5121                                        statusText.textContent = msg;
5122                                        speak(msg);
5123                                        return;
5124                                    }
5125                                    startRecognition();
5126                                }).catch(startRecognition);
5127                            } else {
5128                                startRecognition();
5129                            }
5130                        }
5131
5132                        function isAnyListening() {
5133                            return isListening || !!pickRecognition;
5134                        }
5135
5136                        // The mic button opens the modal via its own
5137                        // data-bs-toggle="modal" attribute — Bootstrap handles
5138                        // show/hide natively, so we only hook its lifecycle
5139                        // events rather than instantiating bootstrap.Modal
5140                        // ourselves (avoids relying on Modal.getOrCreateInstance,
5141                        // which doesn't exist in the Bootstrap 5.0 build this
5142                        // site loads).
5143                        modalEl.addEventListener('show.bs.modal', function () {
5144                            resetResults();
5145                            setStage('idle');
5146                        });
5147
5148                        modalEl.addEventListener('shown.bs.modal', function () {
5149                            // Spoken for blind users before the mic opens, so they know
5150                            // what to say instead of talking over dead air.
5151                            speak('Voice search. Say something like About Us, Fee Structure, Admission or NAAC etc.', function () {
5152                                requestListen();
5153                            });
5154                        });
5155
5156                        micBtn.addEventListener('click', function () {
5157                            if (isAnyListening()) {
5158                                userStopped = true;
5159                                if (recognition) { try { recognition.abort(); } catch (e) {} }
5160                                stopPickListening();
5161                                setStage('idle');
5162                                return;
5163                            }
5164                            setStage('idle');
5165                            startRecognition();
5166                        });
5167
5168                        retryBtn.addEventListener('click', function () {
5169                            resetResults();
5170                            setStage('idle');
5171                            startRecognition();
5172                        });
5173
5174                        modalEl.addEventListener('hidden.bs.modal', function () {
5175                            userStopped = true;
5176                            if (recognition) { try { recognition.abort(); } catch (e) {} }
5177                            window.clearTimeout(safetyTimer);
5178                            if (window.speechSynthesis) { window.speechSynthesis.cancel(); }
5179                            resetResults();
5180                            setStage('idle');
5181                        });
5182                    });
5183                </script>
5183
5184                    <div class="container-fluid nav-bar p-0">
5185    <nav class="navbar navbar-expand-lg navbar-light bg-white px-4 px-lg-5 py-3 py-lg-0">
5186        <a href="https://svc.ac.in" class="navbar-brand p-0">
5187            &nbsp;
5188        </a>
5189        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
5190            <span class="fa fa-bars"></span>
5191        </button>
5192        <div class="collapse navbar-collapse" id="navbarCollapse">
5193            <div class="navbar-menu-wrap d-flex justify-content-center">
5194                <div class="navbar-nav py-0">
5195                    <a href="https://svc.ac.in" class="nav-item nav-link active"><i class="fa fa-home nav-link-icon" aria-hidden="true"></i><span>Home</span></a>
5196                                                                                                <div class="nav-item dropdown">
5197                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-info-circle nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">ABOUT</span></a>
5198                                <ul class="dropdown-menu list-unstyled m-0">
5199                                    <li>
5200            <a class="dropdown-item" href="https://svc.ac.in/extended/23"  >
5201                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5202                <span class="dropdown-item-text">ABOUT US</span>
5203            </a>
5204        </li>
5205                    <li>
5206            <a class="dropdown-item" href="https://svc.ac.in/extended/30"  >
5207                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5208                <span class="dropdown-item-text">TTD</span>
5209            </a>
5210        </li>
5211                    <li>
5212            <a class="dropdown-item" href="https://svc.ac.in/extended/38"  >
5213                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5214                <span class="dropdown-item-text">GOVERNING BODY</span>
5215            </a>
5216        </li>
5217                    <li>
5218            <a class="dropdown-item" href="https://svc.ac.in/extended/44"  >
5219                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5220                <span class="dropdown-item-text">ADMINISTRATION</span>
5221            </a>
5222        </li>
5223                    <li>
5224            <a class="dropdown-item" href="https://svc.ac.in/extended/51"  >
5225                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5226                <span class="dropdown-item-text">ORGANOGRAM</span>
5227            </a>
5228        </li>
5229                    <li>
5230            <a class="dropdown-item" href="https://svc.ac.in/extended/57"  >
5231                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5232                <span class="dropdown-item-text">ANNUAL REPORTS</span>
5233            </a>
5234        </li>
5235                    <li>
5236            <a class="dropdown-item" href="https://svc.ac.in/extended/62"  >
5237                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5238                <span class="dropdown-item-text">VISION &amp; MISSION</span>
5239            </a>
5240        </li>
5241                    <li>
5242            <a class="dropdown-item" href="https://svc.ac.in/notices/tenders"  >
5243                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5244                <span class="dropdown-item-text">TENDER QUOTATIONS</span>
5245            </a>
5246        </li>
5247                    <li>
5248            <a class="dropdown-item" href="https://svc.ac.in/extended/70"  >
5249                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5250                <span class="dropdown-item-text">VIKSIT BHARAT</span>
5251            </a>
5252        </li>
5253                    <li>
5254            <a class="dropdown-item" href="https://svc.ac.in/extended/74"  >
5255                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5256                <span class="dropdown-item-text">PHOTO GALLERY</span>
5257            </a>
5258        </li>
5259                    <li>
5260            <a class="dropdown-item" href="https://svc.ac.in/extended/76"  >
5261                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5262                <span class="dropdown-item-text">RAJBHASHA</span>
5263            </a>
5264        </li>
5265                    <li>
5266            <a class="dropdown-item" href="https://svc.ac.in/extended/79"  >
5267                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5268                <span class="dropdown-item-text">DOWNLOAD CENTER</span>
5269            </a>
5270        </li>
5271                    <li>
5272            <a class="dropdown-item" href="https://svc.ac.in/notices/jobs"  >
5273                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5274                <span class="dropdown-item-text">JOB</span>
5275            </a>
5276        </li>
5277                    <li>
5278            <a class="dropdown-item" href="https://svc.ac.in/extended/83"  >
5279                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5280                <span class="dropdown-item-text">PRINCIPAL&#039;S DESK</span>
5281            </a>
5282        </li>
5283                    <li>
5284            <a class="dropdown-item" href="https://svc.ac.in/extended/84"  >
5285                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5286                <span class="dropdown-item-text">STAFF ELECTION</span>
5287            </a>
5288        </li>
5289                                    </ul>
5290                            </div>
5291                                                                                                                        <div class="nav-item dropdown">
5292                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-graduation-cap nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">ACADEMICS</span></a>
5293                                <ul class="dropdown-menu list-unstyled m-0">
5294                                    <li class="dropdown-submenu">
5295            <a class="dropdown-item dropdown-toggle submenu-toggle" href="#" role="button" aria-expanded="false">
5296                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5297                <span class="dropdown-item-text">DEPARTMENTS</span>
5298            </a>
5299            <ul class="dropdown-menu list-unstyled m-0">
5300                <li>
5301            <a class="dropdown-item" href="https://svc.ac.in/extended/85"  >
5302                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5303                <span class="dropdown-item-text">BIOCHEMISTRY</span>
5304            </a>
5305        </li>
5306                    <li>
5307            <a class="dropdown-item" href="https://svc.ac.in/extended/87"  >
5308                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5309                <span class="dropdown-item-text">BOTANY</span>
5310            </a>
5311        </li>
5312                    <li>
5313            <a class="dropdown-item" href="https://svc.ac.in/extended/89"  >
5314                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5315                <span class="dropdown-item-text">CHEMISTRY</span>
5316            </a>
5317        </li>
5318                    <li>
5319            <a class="dropdown-item" href="https://svc.ac.in/extended/91"  >
5320                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5321                <span class="dropdown-item-text">COMMERCE</span>
5322            </a>
5323        </li>
5324                    <li>
5325            <a class="dropdown-item" href="https://svc.ac.in/extended/93"  >
5326                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5327                <span class="dropdown-item-text">ECONOMICS</span>
5328            </a>
5329        </li>
5330                    <li>
5331            <a class="dropdown-item" href="https://svc.ac.in/extended/95"  >
5332                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5333                <span class="dropdown-item-text">ELECTRONICS</span>
5334            </a>
5335        </li>
5336                    <li>
5337            <a class="dropdown-item" href="https://svc.ac.in/extended/97"  >
5338                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5339                <span class="dropdown-item-text">ENGLISH</span>
5340            </a>
5341        </li>
5342                    <li>
5343            <a class="dropdown-item" href="https://svc.ac.in/extended/99"  >
5344                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5345                <span class="dropdown-item-text">ENVIRONMENTAL SCIENCE</span>
5346            </a>
5347        </li>
5348                    <li>
5349            <a class="dropdown-item" href="https://svc.ac.in/extended/101"  >
5350                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5351                <span class="dropdown-item-text">HINDI</span>
5352            </a>
5353        </li>
5354                    <li>
5355            <a class="dropdown-item" href="https://svc.ac.in/extended/103"  >
5356                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5357                <span class="dropdown-item-text">HISTORY</span>
5358            </a>
5359        </li>
5360                    <li>
5361            <a class="dropdown-item" href="https://svc.ac.in/extended/105"  >
5362                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5363                <span class="dropdown-item-text">MATHEMATICS</span>
5364            </a>
5365        </li>
5366                    <li>
5367            <a class="dropdown-item" href="https://svc.ac.in/extended/107"  >
5368                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5369                <span class="dropdown-item-text">PHYSICAL EDUCATION</span>
5370            </a>
5371        </li>
5372                    <li>
5373            <a class="dropdown-item" href="https://svc.ac.in/extended/109"  >
5374                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5375                <span class="dropdown-item-text">PHYSICS</span>
5376            </a>
5377        </li>
5378                    <li>
5379            <a class="dropdown-item" href="https://svc.ac.in/extended/111"  >
5380                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5381                <span class="dropdown-item-text">POLITICAL SCIENCE</span>
5382            </a>
5383        </li>
5384                    <li>
5385            <a class="dropdown-item" href="https://svc.ac.in/extended/113"  >
5386                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5387                <span class="dropdown-item-text">SANSKRIT</span>
5388            </a>
5389        </li>
5390                    <li>
5391            <a class="dropdown-item" href="https://svc.ac.in/extended/115"  >
5392                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5393                <span class="dropdown-item-text">SOCIOLOGY</span>
5394            </a>
5395        </li>
5396                    <li>
5397            <a class="dropdown-item" href="https://svc.ac.in/extended/117"  >
5398                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5399                <span class="dropdown-item-text">STATISTICS</span>
5400            </a>
5401        </li>
5402                    <li>
5403            <a class="dropdown-item" href="https://svc.ac.in/extended/119"  >
5404                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5405                <span class="dropdown-item-text">TAMIL</span>
5406            </a>
5407        </li>
5408                    <li>
5409            <a class="dropdown-item" href="https://svc.ac.in/extended/121"  >
5410                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5411                <span class="dropdown-item-text">TELUGU</span>
5412            </a>
5413        </li>
5414                    <li>
5415            <a class="dropdown-item" href="https://svc.ac.in/extended/123"  >
5416                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5417                <span class="dropdown-item-text">ZOOLOGY</span>
5418            </a>
5419        </li>
5420                    <li>
5421            <a class="dropdown-item" href="https://svc.ac.in/extended/125"  >
5422                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5423                <span class="dropdown-item-text">B. A. PROGRAMME</span>
5424            </a>
5425        </li>
5426                    <li>
5427            <a class="dropdown-item" href="https://svc.ac.in/extended/127"  >
5428                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5429                <span class="dropdown-item-text">LIFE SCIENCE</span>
5430            </a>
5431        </li>
5432                    <li>
5433            <a class="dropdown-item" href="https://svc.ac.in/extended/129"  >
5434                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5435                <span class="dropdown-item-text">BIOLOGICAL SCIENCE</span>
5436            </a>
5437        </li>
5438                </ul>
5439        </li>
5440                    <li>
5441            <a class="dropdown-item" href="https://svc.ac.in/extended/31"  >
5442                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5443                <span class="dropdown-item-text">COURSES OFFERED</span>
5444            </a>
5445        </li>
5446                    <li>
5447            <a class="dropdown-item" href="https://svc.ac.in/extended/45"  >
5448                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5449                <span class="dropdown-item-text">SYLLABUS</span>
5450            </a>
5451        </li>
5452                    <li>
5453            <a class="dropdown-item" href="https://svc.ac.in/extended/52"  >
5454                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5455                <span class="dropdown-item-text">TIME TABLE</span>
5456            </a>
5457        </li>
5458                    <li>
5459            <a class="dropdown-item" href="https://svc.ac.in/extended/58"  >
5460                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5461                <span class="dropdown-item-text">ACADEMIC CALENDAR</span>
5462            </a>
5463        </li>
5464                    <li>
5465            <a class="dropdown-item" href="https://svc.ac.in/extended/63"  >
5466                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5467                <span class="dropdown-item-text">TRAINING &amp; INTERNSHIP</span>
5468            </a>
5469        </li>
5470                    <li>
5471            <a class="dropdown-item" href="https://svc.ac.in/extended/68"  >
5472                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5473                <span class="dropdown-item-text">ADDITIONAL COURSES/ FOREIGN LANGUAGE</span>
5474            </a>
5475        </li>
5476                    <li>
5477            <a class="dropdown-item" href="https://svc.ac.in/notices/college"  >
5478                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5479                <span class="dropdown-item-text">COLLEGE NOTICES &amp; CIRCULARS</span>
5480            </a>
5481        </li>
5482                    <li>
5483            <a class="dropdown-item" href="https://svc.ac.in/notices/students"  >
5484                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5485                <span class="dropdown-item-text">STUDENT NOTICES &amp; CIRCULARS</span>
5486            </a>
5487        </li>
5488                                    </ul>
5489                            </div>
5490                                                                                                                        <div class="nav-item dropdown">
5491                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-user-plus nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">ADMISSIONS</span></a>
5492                                <ul class="dropdown-menu list-unstyled m-0">
5493                                    <li class="dropdown-submenu">
5494            <a class="dropdown-item dropdown-toggle submenu-toggle" href="#" role="button" aria-expanded="false">
5495                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5496                <span class="dropdown-item-text">PG Courses</span>
5497            </a>
5498            <ul class="dropdown-menu list-unstyled m-0">
5499                <li>
5500            <a class="dropdown-item" href="https://svc.ac.in/extended/149"  >
5501                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5502                <span class="dropdown-item-text">2026-2027</span>
5503            </a>
5504        </li>
5505                    <li>
5506            <a class="dropdown-item" href="https://svc.ac.in/extended/148"  >
5507                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5508                <span class="dropdown-item-text">2025-2026</span>
5509            </a>
5510        </li>
5511                </ul>
5512        </li>
5513                    <li class="dropdown-submenu">
5514            <a class="dropdown-item dropdown-toggle submenu-toggle" href="#" role="button" aria-expanded="false">
5515                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5516                <span class="dropdown-item-text">UG Courses</span>
5517            </a>
5518            <ul class="dropdown-menu list-unstyled m-0">
5519                <li>
5520            <a class="dropdown-item" href="https://svc.ac.in/extended/146"  >
5521                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5522                <span class="dropdown-item-text">2026-2027</span>
5523            </a>
5524        </li>
5525                    <li>
5526            <a class="dropdown-item" href="https://svc.ac.in/extended/145"  >
5527                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5528                <span class="dropdown-item-text">2025-2026</span>
5529            </a>
5530        </li>
5531                </ul>
5532        </li>
5533                    <li>
5534            <a class="dropdown-item" href="https://svc.ac.in/extended/39"  >
5535                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5536                <span class="dropdown-item-text">COLLEGE PROSPECTUS</span>
5537            </a>
5538        </li>
5539                                    </ul>
5540                            </div>
5541                                                                                                                        <div class="nav-item dropdown">
5542                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-user-graduate nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">STUDENTS&#039; CORNER</span></a>
5543                                <ul class="dropdown-menu list-unstyled m-0">
5544                                    <li>
5545            <a class="dropdown-item" href="https://svc.ac.in/extended/33"  >
5546                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5547                <span class="dropdown-item-text">ACHIEVEMENTS</span>
5548            </a>
5549        </li>
5550                    <li>
5551            <a class="dropdown-item" href="https://svc.ac.in/extended/157"  >
5552                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5553                <span class="dropdown-item-text">FOREIGN STUDENTS</span>
5554            </a>
5555        </li>
5556                    <li class="dropdown-submenu">
5557            <a class="dropdown-item dropdown-toggle submenu-toggle" href="#" role="button" aria-expanded="false">
5558                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5559                <span class="dropdown-item-text">SOCIETIES</span>
5560            </a>
5561            <ul class="dropdown-menu list-unstyled m-0">
5562                <li>
5563            <a class="dropdown-item" href="https://svc.ac.in/extended/86"  >
5564                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5565                <span class="dropdown-item-text">180DC SVC</span>
5566            </a>
5567        </li>
5568                    <li>
5569            <a class="dropdown-item" href="https://svc.ac.in/extended/88"  >
5570                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5571                <span class="dropdown-item-text">CATALYSIS</span>
5572            </a>
5573        </li>
5574                    <li>
5575            <a class="dropdown-item" href="https://svc.ac.in/extended/90"  >
5576                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5577                <span class="dropdown-item-text">CONNECTING DREAMS FOUNDATION</span>
5578            </a>
5579        </li>
5580                    <li>
5581            <a class="dropdown-item" href="https://svc.ac.in/extended/92"  >
5582                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5583                <span class="dropdown-item-text">ECO CLUB</span>
5584            </a>
5585        </li>
5586                    <li>
5587            <a class="dropdown-item" href="https://svc.ac.in/extended/94"  >
5588                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5589                <span class="dropdown-item-text">ECONOMICS ASSOCIATION</span>
5590            </a>
5591        </li>
5592                    <li>
5593            <a class="dropdown-item" href="https://svc.ac.in/extended/96"  >
5594                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5595                <span class="dropdown-item-text">EMPATHISE</span>
5596            </a>
5597        </li>
5598                    <li>
5599            <a class="dropdown-item" href="https://svc.ac.in/extended/98"  >
5600                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5601                <span class="dropdown-item-text">ENACTUS</span>
5602            </a>
5603        </li>
5604                    <li>
5605            <a class="dropdown-item" href="https://svc.ac.in/extended/100"  >
5606                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5607                <span class="dropdown-item-text">EQUAL OPPORTUNITY CELL</span>
5608            </a>
5609        </li>
5610                    <li>
5611            <a class="dropdown-item" href="https://svc.ac.in/extended/102"  >
5612                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5613                <span class="dropdown-item-text">EXORDIUM</span>
5614            </a>
5615        </li>
5616                    <li>
5617            <a class="dropdown-item" href="https://svc.ac.in/extended/112"  >
5618                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5619                <span class="dropdown-item-text">NCC</span>
5620            </a>
5621        </li>
5622                    <li>
5623            <a class="dropdown-item" href="https://svc.ac.in/extended/118"  >
5624                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5625                <span class="dropdown-item-text">NSS</span>
5626            </a>
5627        </li>
5628                    <li>
5629            <a class="dropdown-item" href="https://svc.ac.in/extended/122"  >
5630                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5631                <span class="dropdown-item-text">YOUTH INDIA FOUNDATION</span>
5632            </a>
5633        </li>
5634                    <li>
5635            <a class="dropdown-item" href="https://svc.ac.in/extended/124"  >
5636                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5637                <span class="dropdown-item-text">CONSTELLATION HR CELL</span>
5638            </a>
5639        </li>
5640                    <li>
5641            <a class="dropdown-item" href="https://svc.ac.in/extended/126"  >
5642                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5643                <span class="dropdown-item-text">BRAINIACS</span>
5644            </a>
5645        </li>
5646                    <li>
5647            <a class="dropdown-item" href="https://svc.ac.in/extended/104"  >
5648                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5649                <span class="dropdown-item-text">Fine Arts Association</span>
5650            </a>
5651        </li>
5652                    <li>
5653            <a class="dropdown-item" href="https://svc.ac.in/extended/128"  >
5654                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5655                <span class="dropdown-item-text">FINE ARTS-ALAAP</span>
5656            </a>
5657        </li>
5658                    <li>
5659            <a class="dropdown-item" href="https://svc.ac.in/extended/130"  >
5660                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5661                <span class="dropdown-item-text">FINE ARTS-ANUBHUTI</span>
5662            </a>
5663        </li>
5664                    <li>
5665            <a class="dropdown-item" href="https://svc.ac.in/extended/132"  >
5666                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5667                <span class="dropdown-item-text">FINE ARTS-CRESCENDO</span>
5668            </a>
5669        </li>
5670                    <li>
5671            <a class="dropdown-item" href="https://svc.ac.in/extended/133"  >
5672                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5673                <span class="dropdown-item-text">FINE ARTS-EFFULGENCE FILMS</span>
5674            </a>
5675        </li>
5676                    <li>
5677            <a class="dropdown-item" href="https://svc.ac.in/extended/134"  >
5678                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5679                <span class="dropdown-item-text">FINE ARTS-EFFULGENCE PHOTOGRAPHY</span>
5680            </a>
5681        </li>
5682                    <li>
5683            <a class="dropdown-item" href="https://svc.ac.in/extended/135"  >
5684                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5685                <span class="dropdown-item-text">FINE ARTS-LEONCI</span>
5686            </a>
5687        </li>
5688                    <li>
5689            <a class="dropdown-item" href="https://svc.ac.in/extended/136"  >
5690                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5691                <span class="dropdown-item-text">FINE ARTS-NRITYA</span>
5692            </a>
5693        </li>
5694                    <li>
5695            <a class="dropdown-item" href="https://svc.ac.in/extended/137"  >
5696                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5697                <span class="dropdown-item-text">FINE ARTS-NRITYANAGANA</span>
5698            </a>
5699        </li>
5700                    <li>
5701            <a class="dropdown-item" href="https://svc.ac.in/extended/138"  >
5702                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5703                <span class="dropdown-item-text">FINE ARTS-PETRICHOR</span>
5704            </a>
5705        </li>
5706                    <li>
5707            <a class="dropdown-item" href="https://svc.ac.in/extended/139"  >
5708                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5709                <span class="dropdown-item-text">FINE ARTS-VERBUM</span>
5710            </a>
5711        </li>
5712                    <li>
5713            <a class="dropdown-item" href="https://svc.ac.in/extended/140"  >
5714                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5715                <span class="dropdown-item-text">FINE ARTS-VERVE</span>
5716            </a>
5717        </li>
5718                    <li>
5719            <a class="dropdown-item" href="https://svc.ac.in/extended/141"  >
5720                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5721                <span class="dropdown-item-text">FINE ARTS-VIMARSH</span>
5722            </a>
5723        </li>
5724                </ul>
5725        </li>
5726                    <li>
5727            <a class="dropdown-item" href="https://svc.ac.in/placements"  >
5728                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5729                <span class="dropdown-item-text">PLACEMENTS</span>
5730            </a>
5731        </li>
5732                    <li>
5733            <a class="dropdown-item" href="https://svc.ac.in/extended/46"  >
5734                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5735                <span class="dropdown-item-text">FREESHIP</span>
5736            </a>
5737        </li>
5738                    <li class="dropdown-submenu">
5739            <a class="dropdown-item dropdown-toggle submenu-toggle" href="#" role="button" aria-expanded="false">
5740                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5741                <span class="dropdown-item-text">STUDENTS&#039; ELECTION</span>
5742            </a>
5743            <ul class="dropdown-menu list-unstyled m-0">
5744                <li>
5745            <a class="dropdown-item" href="https://svc.ac.in/extended/160"  >
5746                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5747                <span class="dropdown-item-text">2025-26</span>
5748            </a>
5749        </li>
5750                    <li>
5751            <a class="dropdown-item" href="https://svc.ac.in/extended/161"  >
5752                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5753                <span class="dropdown-item-text">2026-27</span>
5754            </a>
5755        </li>
5756                </ul>
5757        </li>
5758                    <li>
5759            <a class="dropdown-item" href="https://svc.ac.in/extended/59"  >
5760                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5761                <span class="dropdown-item-text">ALUMNI</span>
5762            </a>
5763        </li>
5764                    <li>
5765            <a class="dropdown-item" href="https://svc.ac.in/extended/80"  >
5766                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5767                <span class="dropdown-item-text">SCHOLARSHIP</span>
5768            </a>
5769        </li>
5770                    <li>
5771            <a class="dropdown-item" href="https://svc.ac.in/extended/82"  >
5772                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5773                <span class="dropdown-item-text">COUNSELLOR</span>
5774            </a>
5775        </li>
5776                                    </ul>
5777                            </div>
5778                                                                                                                        <div class="nav-item dropdown">
5779                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-award nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">IQAC</span></a>
5780                                <ul class="dropdown-menu list-unstyled m-0">
5781                                    <li>
5782            <a class="dropdown-item" href="https://svc.ac.in/extended/29"  >
5783                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5784                <span class="dropdown-item-text">IQAC COMPOSITION</span>
5785            </a>
5786        </li>
5787                    <li>
5788            <a class="dropdown-item" href="https://svc.ac.in/extended/37"  >
5789                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5790                <span class="dropdown-item-text">IQAC ACTIVITIES</span>
5791            </a>
5792        </li>
5793                    <li>
5794            <a class="dropdown-item" href="https://svc.ac.in/extended/43"  >
5795                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5796                <span class="dropdown-item-text">IQAC MINUTES</span>
5797            </a>
5798        </li>
5799                    <li>
5800            <a class="dropdown-item" href="https://svc.ac.in/extended/50"  >
5801                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5802                <span class="dropdown-item-text">IQAC BEST PRACTICES</span>
5803            </a>
5804        </li>
5805                    <li>
5806            <a class="dropdown-item" href="https://svc.ac.in/extended/55"  >
5807                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5808                <span class="dropdown-item-text">IQAC INSTITUTIONAL DISTINCTIVENESS</span>
5809            </a>
5810        </li>
5811                                    </ul>
5812                            </div>
5813                                                                                                                        <div class="nav-item dropdown">
5814                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-certificate nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">ACCREDITATION</span></a>
5815                                <ul class="dropdown-menu list-unstyled m-0">
5816                                    <li>
5817            <a class="dropdown-item" href="https://svc.ac.in/extended/26"  >
5818                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5819                <span class="dropdown-item-text">NAAC</span>
5820            </a>
5821        </li>
5822                    <li>
5823            <a class="dropdown-item" href="https://svc.ac.in/extended/34"  >
5824                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5825                <span class="dropdown-item-text">NIRF</span>
5826            </a>
5827        </li>
5828                                    </ul>
5829                            </div>
5830                                                                                                                        <div class="nav-item dropdown">
5831                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-building nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">INFRASTRUCTURE</span></a>
5832                                <ul class="dropdown-menu list-unstyled m-0">
5833                                    <li>
5834            <a class="dropdown-item" href="https://svc.ac.in/extended/27"  >
5835                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5836                <span class="dropdown-item-text">LIBRARY</span>
5837            </a>
5838        </li>
5839                    <li>
5840            <a class="dropdown-item" href="https://svc.ac.in/extended/35"  >
5841                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5842                <span class="dropdown-item-text">ICT</span>
5843            </a>
5844        </li>
5845                    <li>
5846            <a class="dropdown-item" href="https://svc.ac.in/extended/41"  >
5847                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5848                <span class="dropdown-item-text">HOSTEL</span>
5849            </a>
5850        </li>
5851                    <li>
5852            <a class="dropdown-item" href="https://svc.ac.in/extended/47"  >
5853                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5854                <span class="dropdown-item-text">SPORTS</span>
5855            </a>
5856        </li>
5857                    <li>
5858            <a class="dropdown-item" href="https://svc.ac.in/extended/54"  >
5859                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5860                <span class="dropdown-item-text">SEMINAR HALL</span>
5861            </a>
5862        </li>
5863                    <li>
5864            <a class="dropdown-item" href="https://svc.ac.in/extended/60"  >
5865                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5866                <span class="dropdown-item-text">CANTEEN</span>
5867            </a>
5868        </li>
5869                    <li>
5870            <a class="dropdown-item" href="https://svc.ac.in/extended/64"  >
5871                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5872                <span class="dropdown-item-text">MEDICAL ROOM</span>
5873            </a>
5874        </li>
5875                    <li>
5876            <a class="dropdown-item" href="https://svc.ac.in/extended/67"  >
5877                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5878                <span class="dropdown-item-text">LABORATORIES</span>
5879            </a>
5880        </li>
5881                    <li>
5882            <a class="dropdown-item" href="https://svc.ac.in/extended/69"  >
5883                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5884                <span class="dropdown-item-text">BOTANICAL GARDEN</span>
5885            </a>
5886        </li>
5887                    <li>
5888            <a class="dropdown-item" href="https://svc.ac.in/extended/72"  >
5889                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5890                <span class="dropdown-item-text">ROCK GARDEN</span>
5891            </a>
5892        </li>
5893                                    </ul>
5894                            </div>
5895                                                                                                                        <div class="nav-item dropdown">
5896                                <a href="#" class="nav-link" data-bs-toggle="dropdown"><i class="fa fa-users nav-link-icon" aria-hidden="true"></i><span class="dropdown-toggle">COMMITTEES</span></a>
5897                                <ul class="dropdown-menu list-unstyled m-0">
5898                                    <li>
5899            <a class="dropdown-item" href="https://svc.ac.in/extended/28"  >
5900                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5901                <span class="dropdown-item-text">STAFF COUNCIL</span>
5902            </a>
5903        </li>
5904                    <li>
5905            <a class="dropdown-item" href="https://svc.ac.in/extended/42"  >
5906                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5907                <span class="dropdown-item-text">SC/ST/OBC COMMITTEE</span>
5908            </a>
5909        </li>
5910                    <li>
5911            <a class="dropdown-item" href="https://svc.ac.in/extended/49"  >
5912                <i class="fa fa-caret-right dropdown-item-caret" aria-hidden="true"></i>
5913                <span class="dropdown-item-text">ICC</span>
5914            </a>
5915        </li>
5916                                    </ul>
5917                            </div>
5918                                                                                                                        <a href="https://svc.ac.in/sitemap" class="nav-link"  ><i class="fa fa-sitemap nav-link-icon" aria-hidden="true"></i><span>SITE MAP</span></a>
5919                                                                                                                        <a href="https://svc.ac.in/public/oldsvcweb.php" class="nav-link"  style="color:#f90637 !important;"   target="_blank" rel="noopener" ><i class="fa fa-angle-right nav-link-icon" aria-hidden="true"></i><span>OLD WEBSITE</span></a>
5920                                            
5921                </div>
5922            </div>
5923        </div>
5924    </nav>
5925</div>
5926
5927    
5927<script>
5928        document.addEventListener('DOMContentLoaded', function () {
5929            function toArray(nodes) {
5930                return Array.prototype.slice.call(nodes || []);
5931            }
5932
5933            function bindDesktopSubmenuDirection() {
5934                // The nested dropdown-menu opens beside (adjacent to, to the
5935                // right of) its parent sub-link (see site_styles.blade.php).
5936                // This shifts it left if it would overflow the right edge of
5937                // the viewport, and caps its height (rather than sliding it
5938                // up past its trigger) if it would overflow the bottom edge.
5939                toArray(document.querySelectorAll('.navbar-nav .dropdown-submenu')).forEach(function (submenuItem) {
5940                    if (submenuItem.dataset.desktopDirectionBound === 'true') {
5941                        return;
5942                    }
5943                    submenuItem.dataset.desktopDirectionBound = 'true';
5944
5945                    function updateDirection() {
5946                        var submenu = submenuItem.querySelector(':scope > .dropdown-menu');
5947                        if (!submenu) {
5948                            return;
5949                        }
5950
5951                        if (!window.matchMedia('(min-width: 992px)').matches) {
5952                            submenu.style.removeProperty('transform');
5953                            submenu.style.removeProperty('max-height');
5954                            return;
5955                        }
5956
5957                        submenu.style.removeProperty('transform');
5958                        submenu.style.removeProperty('max-height');
5959                        var viewportWidth = document.documentElement.clientWidth || window.innerWidth;
5960                        var viewportHeight = document.documentElement.clientHeight || window.innerHeight;
5961                        var margin = 10;
5962                        var rect = submenu.getBoundingClientRect();
5963                        var shiftX = 0;
5964
5965                        if (rect.right > viewportWidth - margin) {
5966                            shiftX = (viewportWidth - margin) - rect.right;
5967                        }
5968                        if (rect.left + shiftX < margin) {
5969                            shiftX = margin - rect.left;
5970                        }
5971
5972                        if (shiftX !== 0) {
5973                            submenu.style.transform = 'translateX(' + shiftX + 'px)';
5974                        }
5975
5976                        // Never slide the panel up past its own trigger —
5977                        // that visually disconnects it from the sub-link that
5978                        // opened it. Instead, when there isn't enough room
5979                        // between the trigger and the bottom of the viewport,
5980                        // cap the panel's height to what's available and let
5981                        // its own overflow-y: auto (site_styles.blade.php)
5982                        // scroll the remainder.
5983                        var available = viewportHeight - rect.top - margin;
5984                        if (available > 0 && available < rect.height) {
5985                            submenu.style.maxHeight = available + 'px';
5986                        }
5987                    }
5988
5989                    submenuItem.addEventListener('mouseenter', updateDirection);
5990                    submenuItem.addEventListener('focusin', updateDirection);
5991                });
5992            }
5993
5994            function bindDesktopDropdownAlignment() {
5995                toArray(document.querySelectorAll('.navbar-nav > .nav-item.dropdown')).forEach(function (navItem) {
5996                    if (navItem.dataset.desktopAlignBound === 'true') {
5997                        return;
5998                    }
5999                    navItem.dataset.desktopAlignBound = 'true';
6000
6001                    function updateAlignment() {
6002                        var menu = navItem.querySelector(':scope > .dropdown-menu');
6003                        if (!menu) {
6004                            return;
6005                        }
6006
6007                        if (!window.matchMedia('(min-width: 992px)').matches) {
6008                            menu.style.removeProperty('left');
6009                            menu.style.removeProperty('margin-top');
6010                            return;
6011                        }
6012
6013                        // The grid can now be several columns wide, so a simple
6014                        // left/right flip can push it further off-screen than it
6015                        // started. Instead, nudge it by exactly the pixel amount
6016                        // needed to stay within the viewport on both edges.
6017                        menu.style.removeProperty('left');
6018                        menu.style.removeProperty('margin-top');
6019                        var rect = menu.getBoundingClientRect();
6020                        var viewportWidth = document.documentElement.clientWidth || window.innerWidth;
6021                        var viewportHeight = document.documentElement.clientHeight || window.innerHeight;
6022                        var margin = 10;
6023                        var shift = 0;
6024                        var shiftY = 0;
6025
6026                        if (rect.right > viewportWidth - margin) {
6027                            shift = (viewportWidth - margin) - rect.right;
6028                        }
6029                        if (rect.left + shift < margin) {
6030                            shift = margin - rect.left;
6031                        }
6032
6033                        // Pull the menu up toward the top of the viewport when
6034                        // it would otherwise extend past the bottom edge (this
6035                        // is what was making long sub-link lists unreachable).
6036                        if (rect.bottom > viewportHeight - margin) {
6037                            shiftY = (viewportHeight - margin) - rect.bottom;
6038                        }
6039                        if (rect.top + shiftY < margin) {
6040                            shiftY = margin - rect.top;
6041                        }
6042
6043                        if (shift !== 0) {
6044                            menu.style.left = shift + 'px';
6045                        }
6046                        if (shiftY !== 0) {
6047                            menu.style.marginTop = shiftY + 'px';
6048                        }
6049                    }
6050
6051                    navItem.addEventListener('mouseenter', updateAlignment);
6052                    navItem.addEventListener('focusin', updateAlignment);
6053                });
6054            }
6055
6056            function bindDesktopHoverPersistence() {
6057                // Pure CSS :hover closes the instant the cursor leaves the element —
6058                // including the small gap between a sub-link and the sub-sub panel
6059                // that opens below it. That's too eager: hovering a sub-link that
6060                // has children should keep its menu (and the parent main link's
6061                // menu) open until the user actually moves to a *different* main
6062                // link, not just because the mouse briefly left a box. We layer a
6063                // short close-delay on top of :hover via a JS-controlled .show
6064                // class so quick, natural mouse movement within the same dropdown
6065                // never prematurely closes it.
6066                var CLOSE_DELAY = 350;
6067                var navCloseTimers = new WeakMap();
6068                var subCloseTimers = new WeakMap();
6069
6070                var navItems = toArray(document.querySelectorAll('.navbar-nav > .nav-item.dropdown'));
6071
6072                function closeNavItem(item) {
6073                    item.classList.remove('show');
6074                    toArray(item.querySelectorAll('.dropdown-submenu.show')).forEach(function (sub) {
6075                        sub.classList.remove('show');
6076                    });
6077                }
6078
6079                function openNavItem(item) {
6080                    navItems.forEach(function (other) {
6081                        if (other !== item) {
6082                            var otherTimer = navCloseTimers.get(other);
6083                            if (otherTimer) {
6084                                clearTimeout(otherTimer);
6085                                navCloseTimers.delete(other);
6086                            }
6087                            closeNavItem(other);
6088                        }
6089                    });
6090                    item.classList.add('show');
6091                }
6092
6093                navItems.forEach(function (item) {
6094                    if (item.dataset.hoverPersistBound === 'true') {
6095                        return;
6096                    }
6097                    item.dataset.hoverPersistBound = 'true';
6098
6099                    item.addEventListener('mouseenter', function () {
6100                        if (!window.matchMedia('(min-width: 992px)').matches) {
6101                            return;
6102                        }
6103                        var timer = navCloseTimers.get(item);
6104                        if (timer) {
6105                            clearTimeout(timer);
6106                            navCloseTimers.delete(item);
6107                        }
6108                        openNavItem(item);
6109                    });
6110
6111                    item.addEventListener('mouseleave', function () {
6112                        if (!window.matchMedia('(min-width: 992px)').matches) {
6113                            return;
6114                        }
6115                        var timer = window.setTimeout(function () {
6116                            closeNavItem(item);
6117                            navCloseTimers.delete(item);
6118                        }, CLOSE_DELAY);
6119                        navCloseTimers.set(item, timer);
6120                    });
6121                });
6122
6123                toArray(document.querySelectorAll('.navbar-nav .dropdown-submenu')).forEac
6123h(function (sub) {
6124                    if (sub.dataset.hoverPersistBound === 'true') {
6125                        return;
6126                    }
6127                    sub.dataset.hoverPersistBound = 'true';
6128
6129                    sub.addEventListener('mouseenter', function () {
6130                        if (!window.matchMedia('(min-width: 992px)').matches) {
6131                            return;
6132                        }
6133                        var timer = subCloseTimers.get(sub);
6134                        if (timer) {
6135                            clearTimeout(timer);
6136                            subCloseTimers.delete(sub);
6137                        }
6138
6139                        // Only one sub-sub panel open at a time within the same list.
6140                        toArray(sub.parentElement.children).forEach(function (sibling) {
6141                            if (sibling !== sub && sibling.classList && sibling.classList.contains('dropdown-submenu')) {
6142                                sibling.classList.remove('show');
6143                            }
6144                        });
6145
6146                        sub.classList.add('show');
6147                    });
6148
6149                    sub.addEventListener('mouseleave', function () {
6150                        if (!window.matchMedia('(min-width: 992px)').matches) {
6151                            return;
6152                        }
6153                        var timer = window.setTimeout(function () {
6154                            sub.classList.remove('show');
6155                            subCloseTimers.delete(sub);
6156                        }, CLOSE_DELAY);
6157                        subCloseTimers.set(sub, timer);
6158                    });
6159                });
6160            }
6161
6162            function bindMobileSubmenuToggles() {
6163                toArray(document.querySelectorAll('.dropdown-submenu >
6163 .submenu-toggle')).forEach(function (toggle) {
6164                    if (toggle.dataset.mobileBound === 'true') {
6165                        return;
6166                    }
6167                    toggle.dataset.mobileBound = 'true';
6168
6169                    toggle.addEventListener('click', function (event) {
6170                        if (!window.matchMedia('(max-width: 991.98px)').matches) {
6171                            return;
6172                        }
6173
6174                        event.preventDefault();
6175                        event.stopPropagation();
6176
6177                        var submenu = this.nextElementSibling;
6178                        var isOpen = submenu.classList.contains('show');
6179                        submenu.classList.toggle('show', !isOpen);
6180                    });
6181                });
6182            }
6183
6184            function initHomepageNavbarSearch() {
6185                var searchRoot = document.querySelector('[data-home-search]');
6186                if (!searchRoot) {
6187                    return;
6188                }
6189
6190                var form = searchRoot.querySelector('form');
6191                var input = searchRoot.querySelector('.homepage-search-input');
6192                var dropdown = searchRoot.querySelector('[data-home-search-results]');
6193                var searchUrl = searchRoot.getAttribute('data-search-url');
6194                var debounceTimer = null;
6195                var requestCounter = 0;
6196
6197                if (!form || !input || !dropdown || !searchUrl) {
6198                    return;
6199                }
6200
6201                function escapeHtml(value) {
6202                    return String(value || '')
6203                        .replace(/&/g, '&amp;')
6204                        .replace(/</g, '&lt;')
6205                        .replace(/>/g, '&gt;')
6206                        .replace(/"/g, '&quot;')
6207                        .replace(/'/g, '&#39;');
6208                }
6209
6210                function closeDropdown() {
6211                    dropdown.hidden = true;
6212                    input.setAttribute('aria-expanded', 'false');
6213                }
6214
6215                function openDropdown() {
6216                    dropdown.hidden = false;
6217                    input.setAttribute('aria-expanded', 'true');
6218                }
6219
6220                function setStatus(message) {
6221                    dropdown.innerHTML = '<div class="homepage-search-status">' + escapeHtml(message) + '</div>';
6222                    openDropdown();
6223                }
6224
6225                function renderResults(results) {
6226                    if (!results.length) {
6227                        setStatus('No matching content found.');
6228                        return;
6229                    }
6230
6231                    dropdown.innerHTML = '<div class="homepage-search-results-list">' + results.map(function (item) {
6232                        var resultUrl = item.url || '#';
6233                        return '' +
6234                            '<a class="homepage-search-result" href="' + escapeHtml(resultUrl) + '">' +
6235                                '<span class="homepage-search-result-path">' + escapeHtml(item.path) + '</span>' +
6236                                '<span class="homepage-search-result-preview">' + escapeHtml(item.preview || item.path) + '</span>' +
6237                            '</a>';
6238                    }).join('') + '</div>';
6239
6240                    openDropdown();
6241                }
6242
6243                function fetchResults() {
6244                    var query = (input.value || '').trim();
6245                    requestCounter += 1;
6246                    var currentRequest = requestCounter;
6247
6248                    if (query.length < 2) {
6249                        closeDropdown();
6250                        return;
6251                    }
6252
6253                    setStatus('Searching...');
6254
6255                    window.fetch(searchUrl + '?q=' + encodeURIComponent(query), {
6256                        headers: { 'X-Requested-With': 'XMLHttpRequest', 'Accept': 'application/json' },
6257                    })
6258                        .then(function (response) {
6259                            if (!response.ok) {
6260                                throw new Error('Search is unavailable right now.');
6261                            }
6262                            return response.json();
6263                        })
6264                        .then(function (payload) {
6265                            if (currentRequest !== requestCounter) {
6266                                return;
6267                            }
6268                            renderResults(Array.isArray(payload.results) ? payload.results : []);
6269                        })
6270                        .catch(function (error) {
6271                            if (currentRequest !== requestCounter) {
6272                                return;
6273                            }
6274                            setStatus(error && error.message ? error.message : 'Search is unavailable right now.');
6275                        });
6276                }
6277
6278                input.addEventListener('input', function () {
6279                    window.clearTimeout(debounceTimer);
6280                    debounceTimer = window.setTimeout(fetchResults, 220);
6281                });
6282
6283                document.addEventListener('click', function (event) {
6284                    if (!searchRoot.contains(event.target)) {
6285                        closeDropdown();
6286                    }
6287                });
6288
6289                // ── Voice search now lives entirely in the Voice Search modal — see
6290                // the `initVoiceSearchModal()` script in site_header.blade.php. The
6291                // mic button itself, and its recognition lifecycle, are wired there.
6292            }
6293
6294            bindDesktopSubmenuDirection();
6295            bindDesktopDropdownAlignment();
6296            bindDesktopHoverPersistence();
6297            bindMobileSubmenuToggles();
6298            initHomepageNavbarSearch();
6299            window.addEventListener('resize', bindDesktopSubmenuDirection);
6300            window.addEventListener('resize', bindDesktopDropdownAlignment);
6301        });
6302    </script>
6302
6303
6304
6305<div class="listing-page-hero">
6306    <div class="container-fluid px-4 px-lg-5">
6307        <nav aria-label="breadcrumb" class="mb-2">
6308            <ol class="breadcrumb mb-0">
6309                <li class="breadcrumb-item"><a href="https://svc.ac.in">Home</a></li>
6310                <li class="breadcrumb-item active">Tender Quotations</li>
6311            </ol>
6312        </nav>
6313        <div class="d-flex align-items-center gap-3 flex-wrap">
6314            <h1><i class="fas fa-bullhorn me-2" style="font-size:1.3rem;opacity:.85;"></i>Tender Quotations</h1>
6315        </div>
6316    </div>
6317</div>
6318
6319
6320<section class="listing-wrap">
6321    <div class="container-fluid px-4 px-lg-5">
6322        <div class="listing-card">
6323
6324            
6325            <div class="listing-search-row">
6326                <div class="listing-search-wrap">
6327                    <i class="fas fa-search search-icon"></i>
6328                    <input type="text" id="noticeSearchInput" placeholder="Search by notice/circular title…" autocomplete="off">
6329                    <span class="listing-search-clear" id="noticeSearchClear" title="Clear search"><i class="fas fa-times"></i></span>
6330                </div>
6331                <a href="https://svc.ac.in" class="listing-back-btn ms-auto">
6332                    <i class="fas fa-arrow-left me-1"></i> Back to Home
6333                </a>
6334            </div>
6335
6336            
6337            <div class="table-responsive">
6338                <table id="noticeTable" class="table table-hover w-100" style="width:100%">
6339                    <thead>
6340                        <tr>
6341                            <th style="width:50px;">#</th>
6342                            <th>Title</th>
6343                            <th style="width:140px;">Attachments</th>
6344                        </tr>
6345                    </thead>
6346                    <tbody></tbody>
6347                </table>
6348            </div>
6349
6350        </div>
6351    </div>
6352</section>
6353
6354<!-- Footer Start -->
6355        <div class="container-fluid footer py-5 wow fadeIn" data-wow-delay="0.2s">
6356            <div class="container py-5">
6357                <div class="row g-5">
6358                    <div class="col-12 col-md-6 col-lg-6 col-xl-3">
6359                        <div class="footer-item d-flex flex-column">
6360                            <h4 class="text-secondary mb-4">Contact Info</h4>
6361                            <a href=""><i class="fa fa-map-marker-alt me-2"></i> Benito Juarez Road, Dhaula Kuan, New Delhi</a>
6362                            <a href=""><i class="fas fa-envelope me-2"></i> [email protected]</a>
6363                            <a href=""><i class="fas fa-phone me-2"></i> +91-11-2411-2196</a>
6364                            <div class="d-flex align-items-center">
6365                                <i class="fas fa-share fa-2x text-secondary me-2"></i>
6366                                <a class="btn mx-1" href=""><i class="fab fa-facebook-f"></i></a>
6367                                <a class="btn mx-1" href=""><i class="fab fa-twitter"></i></a>
6368                                <a class="btn mx-1" href=""><i class="fab fa-instagram"></i></a>
6369                                <a class="btn mx-1" href=""><i class="fab fa-linkedin-in"></i></a>
6370                            </div>
6371                        </div>
6372                    </div>
6373                    <div class="col-12 col-md-6 col-lg-6 col-xl-3">
6374                        <div class="footer-item d-flex flex-column">
6375                            <h4 class="text-secondary mb-4">Office Timings</h4>
6376                            <div class="mb-3">
6377                                <h6 class="text-muted mb-0">Mon - Friday:</h6>
6378                                <p class="text-white mb-0">09.00 am to 05.30 pm</p>
6379                            </div>
6380
6381                            <div class="mb-3">
6382                               <h6 class="text-muted mb-0">Visitors' Count:</h6>
6383    							<a href="https://www.hitwebcounter.com" target="_blank">
6384    							<img src="https://hitwebcounter.com/counter/counter.php?page=8000919&style=0006&nbdigits=9&type=page&initCount=0" title="Free Counter" alt="Website visitor counter" border="0" class="footer-counter" /></a>
6385                                <br>
6386                                Website Updated on 2026-10-02<br>
6387                                <div style="float: left;">
6388                                    &nbsp;
6389                                </div>
6390                            </div>
6391
6392                        </div>
6393                    </div>
6394                    <div class="col-12 col-md-6 col-lg-6 col-xl-3">
6395                        <div class="footer-item d-flex flex-column">
6396                            <h4 class="text-secondary mb-4">Quick Links</h4>
6397                                                            <a href="https://svc.ac.in/extended/10"   ><i class="fas fa-angle-right me-2"></i> FEEDBACK</a>
6398                                                            <a href="https://svc.ac.in/extended/2"   ><i class="fas fa-angle-right me-2"></i> ICC</a>
6399                                                            <a href="https://svc.ac.in/extended/6"   ><i class="fas fa-angle-right me-2"></i> RTI</a>
6400                                                            <a href="https://svc.ac.in/extended/14"   ><i class="fas fa-angle-right me-2"></i> RULES &amp; POLICY</a>
6401                                                    </div>
6402                    </div>
6403                    <div class="col-12 col-md-6 col-lg-6 col-xl-3">
6404                        <div class="footer-item d-flex flex-column">
6405                            <h4 class="text-secondary mb-4">Quick Links</h4>
6406                                                            <a href="https://svc.ac.in/extended/15"   ><i class="fas fa-angle-right me-2"></i> COUNSELLING</a>
6407                                                            <a href="https://svc.ac.in/extended/11"   ><i class="fas fa-angle-right me-2"></i> NON-TEACHING ROSTER</a>
6408                                                            <a href="https://svc.ac.in/extended/7"   ><i class="fas fa-angle-right me-2"></i> TEACHING ROSTER</a>
6409                                                            <a href="https://svc.ac.in/extended/3"   ><i class="fas fa-angle-right me-2"></i> UGC</a>
6410                                                    </div>
6411                    </div>
6412                </div>
6413            </div>
6414        </div>
6415        <!-- Footer End -->
6416
6417        <!-- Copyright Start -->
6418        <div class="container-fluid copyright py-4">
6419            <div class="container">
6420                <div class="row g-4 align-items-center">
6421                    <div class="col-12 col-md-8 text-center text-md-start mb-md-0">
6422                        <span class="text-white"><a href="https://svc.ac.in" class="border-bottom text-white"><i class="fas fa-copyright text-light me-2">2025</i></a> Designed & Developed by ICT Department - Sri Venkateswara College</span>
6423                    </div>
6424                    <div class="col-12 col-md-4 text-center text-md-end text-white">
6425                        <a class="border-bottom text-white" href="https://svc.ac.in/sitemap">Site Map</a>
6426                    </div>
6427                </div>
6428            </div>
6429        </div>
6430        <!-- Copyright End -->
6431
6432        <!-- Back to Top -->
6433        <a href="#" class="btn btn-primary btn-lg-square back-to-top"><i class="fa fa-arrow-up"></i></a>
6434
6435<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
vendor: 1 bytes, line 6435
6435
6436<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
vendor: 1 bytes, line 6436
6436
6437<script src="https://svc.ac.in/svc_home/lib/wow/wow.min.js"></script>
vendor: 1 bytes, line 6437
6437
6438<script src="https://svc.ac.in/svc_home/js/main.js"></script>
6438
6439
6440
6441<script src="https://cdn.datatables.net/1.13.8/js/jquery.dataTables.min.js"></script>
vendor: 1 bytes, line 6441
6441
6442<script src="https://cdn.datatables.net/1.13.8/js/dataTables.bootstrap5.min.js"></script>
vendor: 1 bytes, line 6442
6442
6443<script src="https://cdn.datatables.net/responsive/2.5.0/js/dataTables.responsive.min.js"></script>
vendor: 1 bytes, line 6443
6443
6444<script src="https://cdn.datatables.net/responsive/2.5.0/js/responsive.bootstrap5.min.js"></script>
6444
6445
6446<script>
6447$(function () {
6448    var table = $('#noticeTable').DataTable({
6449        processing: true,
6450        serverSide: true,
6451        ajax: {
6452            url: 'https://svc.ac.in/notices/tenders/data',
6453            type: 'GET',
6454            data: function (d) {
6455                d._token = '6Y1TvBH5ak0HUSuFULMaGIo7dgw6rVPtzYJhEY7V';
6456            },
6457            error: function () {
6458                $('#noticeTable tbody').html('<tr><td colspan="3" class="text-center text-danger py-4">Failed to load data. Please refresh the page.</td></tr>');
6459            }
6460        },
6461        columns: [
6462            { orderable: false, searchable: false },
6463            { orderable: true },
6464            { orderable: false, searchable: false }
6465        ],
6466        order: [],
6467        pageLength: 15,
6468        lengthMenu: [10, 15, 25, 50],
6469        language: {
6470            processing: '<div class="text-center py-3"><div class="spinner-border spinner-border-sm text-danger"></div> Loading…</div>',
6471            emptyTable: '<div class="text-center py-4 text-muted">No notices found.</div>',
6472            zeroRecords: '<div class="text-center py-4 text-muted">No matching notices found.</div>',
6473            info: 'Showing _START_ to _END_ of _TOTAL_ notices',
6474            infoFiltered: '(filtered from _MAX_ total)',
6475            lengthMenu: 'Show _MENU_ per page',
6476            paginate: { previous: '&laquo;', next: '&raquo;' }
6477        }
6478    });
6479
6480    // Custom search input → debounce → DataTables search
6481    var searchTimer;
6482    $('#noticeSearchInput').on('input', function () {
6483        clearTimeout(searchTimer);
6484        var val = $(this).val();
6485        searchTimer = setTimeout(function () {
6486            table.search(val).draw();
6487        }, 350);
6488    });
6489
6490    $('#noticeSearchClear').on('click', function () {
6491        $('#noticeSearchInput').val('');
6492        table.search('').draw();
6493    });
6494
6495    // Spinner hide
6496    $('#spinner').hide();
6497});
6498</script>
6498
6499</body>
6500</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.