PageSourceSearch

https://www.savaari.com/

html savaari.com collected 2026-09-24 09:35:22 UTC 32,983 bytes, 768 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head>
2    <link rel="canonical" href="https://www.savaari.com/">
3  <meta charset="utf-8">
4  <meta name="robots" content="index, follow">
5  <meta name="robots" content="noodp,noydir">
6  <meta name="msvalidate.01" content="007E1830E5871D1088DC6F2FBD6AF5D2">
7  <base href="/">
8  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
9
10  <!-- Preconnect to critical third-party origins -->
11  <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="">
12  <link rel="preconnect" href="https://d2r1yp2w7bby2u.cloudfront.net" crossorigin="">
13  <link rel="dns-prefetch" href="https://www.googletagmanager.com">
14  <link rel="dns-prefetch" href="https://d2r1yp2w7bby2u.cloudfront.net">
15  <link rel="dns-prefetch" href="https://cdn.asbmit.com">
16
17  <link rel="icon" type="image/x-icon" href="assets/img/favicon.ico">
18  <link rel="preload" as="image" href="./assets/img/savaari_logo.webp" type="image/webp" fetchpriority="high">
19  <link rel="preload" as="image" media="(min-width: 768px)" href="./assets/img/homepage/december-banner_desktop.webp" type="image/webp" fetchpriority="high">
20  <link rel="preload" as="image" media="(max-width: 500px)" href="./assets/img/homepage/december-banner_mobile.webp" type="image/webp" fetchpriority="high">
21  <link rel="preload" href="./assets/fonts/AsketCondensed-ExtraBold.woff2" as="font" type="font/woff2" crossorigin="anonymous" fetchpriority="low">
22  
23  <title></title>
24  <style>
25    .shellrow {
26      flex: 0 0 33.333333%;
27      max-width: 33.333333%;
28      padding: 0;
29      display: flex;
30      display: -ms-flex;
31      display: -webkit-flex;
32      align-items: center;
33      -ms-flex-item-align: center;
34      -webkit-box-align: center;
35      height: 100% !important;
36      position: relative;
37      width: 100%;
38      min-height: 1px;
39    }
40
41    .hide-on-mobile {
42      display: block;
43    }
44
45    .show-on-mobile {
46      display: none;
47    }
48
49    @media (max-width: 710px) {
50      .hide-on-mobile {
51        display: none;
52      }
53
54      .show-on-mobile {
55        display: flex;
56      }
57    }
58
59    /* ===== Above-the-fold shimmer skeleton ===== */
60    #appshell_home {
61      position: fixed;
62      top: 0;
63      left: 0;
64      right: 0;
65      bottom: 0;
66      width: 100%;
67      height: 100vh;
68      background: #fff;
69      z-index: 9999;
70      overflow: hidden;
71      transition: opacity 0.45s ease-out;
72    }
73    #appshell_home.sv-hide {
74      opacity: 0;
75      pointer-events: none;
76    }
77    @keyframes sv-shimmer {
78      0%   { background-position: -700px 0; }
79      100% { background-position:  700px 0; }
80    }
81    .sv-sk {
82      background: linear-gradient(90deg, #e4e7ec 25%, #eef0f3 50%, #e4e7ec 75%);
83      background-size: 700px 100%;
84      animation: sv-shimmer 1.5s infinite linear;
85      border-radius: 4px;
86      display: block;
87    }
88    .sv-sk-cyan {
89      background: linear-gradient(90deg, #1d97c2 25%, #25b8e0 50%, #1d97c2 75%);
90      background-size: 700px 100%;
91      animation: sv-shimmer 1.5s infinite linear;
92      border-radius: 20px;
93      display: block;
94    }
95    .sv-sk-orange {
96      background: linear-gradient(90deg, #d95f1e 25%, #f57a32 50%, #d95f1e 75%);
97      background-size: 700px 100%;
98      animation: sv-shimmer 1.5s infinite linear;
99      border-radius: 6px;
100      display: block;
101    }
102    .sv-sk-light {
103      background: linear-gradient(90deg, #eaf5fb 25%, #f3fafd 50%, #eaf5fb 75%);
104      background-size: 700px 100%;
105      animation: sv-shimmer 1.6s infinite linear;
106      border-radius: 4px;
107      display: block;
108    }
109
110    /* Desktop navbar shell */
111    .sv-nav-d {
112      height: 60px;
113      background: #fff;
114      border-bottom: 1px solid #e8eaed;
115      display: flex;
116      align-items: center;
117      padding: 0 28px;
118      gap: 20px;
119    }
120    .sv-nav-d .sv-logo { width: 136px; height: 40px; border-radius: 4px; }
121    .sv-nav-d .sv-phone { width: 170px; height: 32px; border-radius: 5px; }
122    .sv-nav-d .sv-spacer { flex: 1; }
123    .sv-nav-d .sv-blog { width: 38px; height: 14px; }
124    .sv-nav-d .sv-dl { width: 120px; height: 30px; border-radius: 20px; }
125    .sv-nav-d .sv-login { width: 75px; height: 30px; }
126
127    /* Mobile navbar shell */
128    .sv-nav-m {
129      height: 52px;
130      background: #fff;
131      border-bottom: 1px solid #e8eaed;
132      align-items: center;
133      padding: 0 16px;
134      gap: 10px;
135    }
136    .sv-nav-m .sv-logo-m { width: 108px; height: 36px; border-radius: 4px; }
137    .sv-nav-m .sv-spacer-m { flex: 1; }
138    .sv-nav-m .sv-phone-m { width: 130px; height: 30px; border-radius: 5px; }
139
140    /* Banner shell (dark area behind hero image) */
141    .sv-banner-d {
142      position: relative;
143      width: 100%;
144      height: 470px;
145      background: #2a2a2a;
146      overflow: hidden;
147    }
148    .sv-banner-m {
149      position: relative;
150      width: 100%;
151      height: 640px;
152      background: #2a2a2a;
153      overflow: hidden;
154    }
155    .sv-hero-title-d {
156      position: absolute;
157      left: 50%;
158      top: 27%;
159      transform: translateX(-50%);
160      width: 580px;
161      height: 60px;
162      background: rgba(255,255,255,0.18);
163      border-radius: 6px;
164    }
165    .sv-hero-title-m {
166      position: absolute;
167      left: 50%;
168      top: 10%;
169      transform: translateX(-50%);
170      width: 260px;
171      height: 36px;
172      background: rgba(255,255,255,0.18);
173      border-radius: 5px;
174    }
175
176    /* ─── Booking card – desktop ───────────────── */
177    .sv-card-d {
178      position: absolute;
179      left: 50%;
180      transform: translateX(-50%);
181      top: 142px;
182      width: 96%;
183      max-width: 1100px;
184      background: #fff;
185      border-radius: 16px;
186      box-shadow: 0 4px 8px 0 rgba(1,1,1,0.2);
187      overflow: hidden;
188      padding-bottom: 36px;
189    }
190    .sv-tabs-d {
191      display: flex;
192      justify-content: center;
193      border-bottom: 1px solid #eef0f3;
194      padding: 18px 16px 10px;
195      gap: 0;
196    }
197    .sv-tab-d {
198      width: 120px;
199      height: 34px;
200      border: 1px solid #919191;
201      margin-bottom: 2px;
202    }
203    .sv-tab-d.active {
204      background: #20a8d9;
205      border-color: #20a8d9;
206    }
207    .sv-tab-d.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
208    .sv-tab-d.last  { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
209    .sv-form-d {
210      display: grid;
211      grid-template-columns: 1.1fr 40px 1.1fr 1fr 1fr;
212      gap: 14px;
213      padding: 20px 28px 8px;
214      align-items: end;
215    }
216    .sv-field-d .sv-flabel { height: 11px; width: 60px; margin-bottom: 9px; }
217    .sv-field-d .sv-finput { height: 44px; width: 100%; border-radius: 6px; }
218    .sv-swap-d-wrap { display: flex; justify-content: center; align-items: center; padding-bottom: 5px; }
219    .sv-swap-d {
220      width: 35px;
221      height: 35px;
222      border-radius: 50%;
223      background: #f5f5f5;
224      border: 1px solid #e4e6ea;
225      flex-shrink: 0;
226    }
227    .sv-cta-row-d {
228      position: absolute;
229      left: 50%;
230      transform: translateX(-50%);
231      top: 333px;
232    }
233    .sv-cta-d { width: 269px; height: 50px; }
234
235    /* ─── Booking card – mobile (new card design) ───────────── */
236    .sv-card-m {
237      position: absolute;
238      left: 12px;
239      right: 12px;
240      top: 100px;
241      background: #fff;
242      border-radius: 12px;
243      box-shadow: 0 4px 16px rgba(0,0,0,0.15);
244      overflow: hidden;
245      padding-bottom: 14px;
246    }
247    /* Top tabs: Outstation / Local / Airport */
248    .sv-tabs-m {
249      display: flex;
250      justify-content: center;
251      padding: 12px 10px 6px;
252      gap: 0;
253    }
254    .sv-tab-m {
255      flex: 1;
256      max-width: 120px;
257      height: 32px;
258      border: 1px solid #919191;
259    }
260    .sv-tab-m.active {
261      background: #20a8d9;
262      border-color: #20a8d9;
263    }
264    .sv-tab-m.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
265    .sv-tab-m.last  { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
266
267    /* Experience heading "INDIA'S PREMIER INTERCITY CABS" */
268    .sv-exp-m {
269      text-align: center;
270      border-top: 2px solid #20a8d9;
271      border-bottom: 2px solid #20a8d9;
272      padding: 6px;
273      margin: 10px 16px 10px;
274      display: flex;
275      justify-content: center;
276    }
277    .sv-exp-txt-m { width: 220px; height: 14px; }
278
279    /* Sub tabs: One Way / Round Trip */
280    .sv-subtabs-m {
281      display: flex;
282      justify-content: center;
283      padding: 0 14px 4px;
284      gap: 0;
285    }
286    .sv-subtab-m {
287      flex: 1;
288      max-width: 140px;
289      height: 38px;
290      border: 1px solid #919191;
291    }
292    .sv-subtab-m.active {
293      background: #20a8d9;
294      border-color: #20a8d9;
295    }
296    .sv-subtab-m.first { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
297    .sv-subtab-m.last  { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
298
299    /* Form area – card-style FROM/TO with combined TRIP START card */
300    .sv-form-m { padding: 10px 14px 4px; position: relative; }
301    .sv-ow-card-m {
302      background: #F4FBFF;
303      border: 1.5px solid #c8e6f5;
304      border-radius: 10px;
305      padding: 8px 12px;
306      min-height: 54px;
307      display: flex;
308      align-items: center;
309      gap: 10px;
310      margin-bottom: 8px;
311    }
312    .sv-ow-pin-m { width: 14px; height: 18px; flex-shrink: 0; border-radius: 2px; }
313    .sv-ow-card-body-m { flex: 1; min-width: 0; }
314    .sv-ow-card-label-m { width: 34px; height: 10px; margin-bottom: 6px; border-radius: 2px; }
315    .sv-ow-card-value-m { width: 70%; height: 15px; border-radius: 3px; }
316    .sv-swap-abs-m {
317      position: absolute;
318      top: 58px;
319      right: 24px;
320      width: 34px;
321      height: 34px;
322      border-radius: 50%;
323      background: #fff;
324      border: 1.5px solid #c8e6f5;
325      z-index: 2;
326    }
327    .sv-addstops-m {
328      width: 96px;
329      height: 30px;
330      margin: 4px 0 10px;
331      border-radius: 6px;
332      border: 1.5px solid #c8e6f5;
333    }
334
335    /* Combined TRIP START card */
336    .sv-trip-card-m {
337      background: #F4FBFF;
338      border: 1.5px solid #c8e6f5;
339      border-radius: 10px;
340      padding: 8px 12px;
341      min-height: 54px;
342      display: flex;
343      align-items: center;
344      gap: 10px;
345      margin-bottom: 10px;
346    }
347    .sv-trip-ico-m { width: 18px; height: 18px; flex-shrink: 0; border-radius: 3px; }
348    .sv-trip-body-m { flex: 1; min-width: 0; }
349    .sv-trip-lbl-m { width: 60px; height: 10px; margin-bottom: 5px; border-radius: 2px; }
350    .sv-trip-val-m { width: 80px; height: 13px; margin-bottom: 4px; border-radius: 2px; }
351    .sv-trip-sub-m { width: 50px; height: 11px; border-radius: 2px; }
352
353    .sv-cta-m { width: 100%; height: 48px; margin-top: 6px; }
354    .sv-trust-m {
355      display: flex;
356      justify-content: space-between;
357      padding: 12px 14px 16px;
358      gap: 10px;
359    }
360    .sv-trust-m > div { display: flex; align-items: center; gap: 6px; flex: 1; }
361    .sv-trust-icon-m { width: 16px; height: 16px; border-radius: 3px; flex-shrink: 0; }
362    .sv-trust-txt-m { height: 11px; flex: 1; max-width: 88px; }
363  </style>
364
365  
365<script>
366    window.prerenderReady = false;
367    localStorage.setItem('page_start_time', new Date().getTime());
368    window.onbeforeunload = function () {
369      this.localStorage.removeItem('partnerDetails');
370    };
371  </script>
371
372
373  <link rel="manifest" href="manifest.webmanifest">
374  <meta name="theme-color" content="#1976d2">
375<style>:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}header{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}hr{box-sizing:content-box;height:0;overflow:visible}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}img{vertical-align:middle;border-style:none}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.h-100{height:100%!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}img{page-break-inside:avoid}@page{size:a3}body{min-width:992px!important}}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(roboto-v30-latin-regular.f2894edcf7d09d36.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url(roboto-v30-latin-500.3170fd9aa9258fe0.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url(roboto-v30-latin-700.71b2beb82c4d1389.woff2) format("woff2");font-display:swap}html,body{height:100%}body{margin:0;font-family:Roboto,sans-serif}body{background:#fff;color:#393939!important;letter-spacing:.25px}a{cursor:pointer!important;color:#20a8d9}app-root{position:absolute;width:100%;height:100%}a{outline:0!important}@media all and (min-width:710px){a{font-size:14px;color:#20a8d9}}.active{color:#fff}.rotatescreen{position:fixed;width:100%;height:100%;top:0;left:0;z-index:100;background-color:#fff;display:none}.rotatescreen_container{text-align:center;position:relative;top:30%;width:100%;left:0;transform:translateY(-50%)}.rotatescreen_text_header{width:calc(100% - 16px);color:#20a8d9;font-weight:bolder;margin-top:20px}.rotatescreen_text_body{margin-top:20px;width:calc(100% - 16px);font-weight:bolder}.bg-rotate_screen{width:74px;height:74px;background:url(savaari-icons-css.2f8a2db516456141.png) -10px -10px}</style><link rel="stylesheet" href="styles.6784d856863d2306.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.6784d856863d2306.css"></noscript></head>
376
377<body>
378
379  <div id="appshell_home" style="display:none;">
380
381      <!-- ===== Above-the-fold shimmer ===== -->
382            <!-- Desktop shimmer -->
383      <div class="hide-on-mobile" aria-hidden="true">
384        <div class="sv-nav-d">
385          <span class="sv-sk sv-logo"></span>
386          <span class="sv-sk-cyan sv-phone"></span>
387          <div class="sv-spacer"></div>
388          <span class="sv-sk sv-blog"></span>
389          <span class="sv-sk sv-dl"></span>
390          <span class="sv-sk-cyan sv-login"></span>
391        </div>
392        <div class="sv-banner-d">
393          <div class="sv-hero-title-d"></div>
394          <div class="sv-card-d">
395            <div class="sv-tabs-d">
396              <div class="sv-tab-d first active"></div>
397              <div class="sv-tab-d"></div>
398              <div class="sv-tab-d"></div>
399              <div class="sv-tab-d last"></div>
400            </div>
401            <div class="sv-form-d">
402              <div class="sv-field-d">
403                <div class="sv-sk sv-flabel" style="width:44px;"></div>
404                <div class="sv-sk sv-finput"></div>
405              </div>
406              <div class="sv-swap-d-wrap">
407                <div class="sv-swap-d"></div>
408              </div>
409              <div class="sv-field-d">
410                <div class="sv-sk sv-flabel" style="width:26px;"></div>
411                <div class="sv-sk sv-finput"></div>
412              </div>
413              <div class="sv-field-d">
414                <div class="sv-sk sv-flabel" style="width:98px;"></div>
415                <div class="sv-sk sv-finput"></div>
416              </div>
417              <div class="sv-field-d">
418                <div class="sv-sk sv-flabel" style="width:90px;"></div>
419                <div class="sv-sk sv-finput"></div>
420              </div>
421            </div>
422          </div>
423          <div class="sv-cta-row-d">
424            <div class="sv-sk-orange sv-cta-d"></div>
425          </div>
426        </div>
427      </div>
428
429      <!-- Mobile shimmer -->
430      <div class="show-on-mobile" style="flex-direction: column; width: 100%; padding: 0; margin: 0;" aria-hidden="true">
431        <div class="sv-nav-m" style="display: flex; width: 100%;">
432          <span class="sv-sk sv-logo-m"></span>
433          <div class="sv-spacer-m"></div>
434          <span class="sv-sk-cyan sv-phone-m"></span>
435        </div>
436        <div class="sv-banner-m">
437          <div class="sv-hero-title-m"></div>
438          <div class="sv-card-m">
439            <!-- Top tabs: Outstation / Local / Airport -->
440            <div class="sv-tabs-m">
441              <div class="sv-tab-m first active"></div>
442              <div class="sv-tab-m"></div>
443              <div class="sv-tab-m last"></div>
444            </div>
445            <!-- Experience heading -->
446            <div class="sv-exp-m">
447              <div class="sv-sk sv-exp-txt-m"></div>
448            </div>
449            <!-- Sub tabs: One Way / Round Trip -->
450            <div class="sv-subtabs-m">
451              <div class="sv-subtab-m first active"></div>
452              <div class="sv-subtab-m last"></div>
453            </div>
454            <div class="sv-form-m">
455              <!-- FROM card -->
456              <div class="sv-ow-card-m">
457                <div class="sv-sk sv-ow-pin-m"></div>
458                <div class="sv-ow-card-body-m">
459                  <div class="sv-sk-light sv-ow-card-label-m"></div>
460                  <div class="sv-sk sv-ow-card-value-m"></div>
461                </div>
462              </div>
463              <!-- TO card -->
464              <div class="sv-ow-card-m">
465                <div class="sv-sk sv-ow-pin-m"></div>
466                <div class="sv-ow-card-body-m">
467                  <div class="sv-sk-light sv-ow-card-label-m" style="width:24px;"></div>
468                  <div class="sv-sk sv-ow-card-value-m" style="width:60%;"></div>
469                </div>
470              </div>
471              <!-- Swap button overlayed on right -->
472              <div class="sv-swap-abs-m"></div>
473              <!-- Add Stops button -->
474              <div class="sv-sk-light sv-addstops-m"></div>
475              <!-- TRIP START combined card -->
476              <div class="sv-trip-card-m">
477                <div class="sv-sk sv-trip-ico-m"></div>
478                <div class="sv-trip-body-m">
479                  <div class="sv-sk-light sv-trip-lbl-m"></div>
480                  <div class="sv-sk sv-trip-val-m"></div>
481                  <div class="sv-sk sv-trip-sub-m"></div>
482                </div>
483              </div>
484              <div class="sv-sk-orange sv-cta-m"></div>
485            </div>
486          </div>
487        </div>
488        <div class="sv-trust-m">
489          <div>
490            <div class="sv-sk sv-trust-icon-m"></div>
491            <div class="sv-sk sv-trust-txt-m"></div>
492          </div>
493          <div>
494            <div class="sv-sk sv-trust-icon-m"></div>
495            <div class="sv-sk sv-trust-txt-m"></div>
496          </div>
497          <div>
498            <div class="sv-sk sv-trust-icon-m"></div>
499            <div class="sv-sk sv-trust-txt-m"></div>
500          </div>
501        </div>
502      </div>
503      
504  </div>
505  <app-root id="approot" style="display: none;"></app-root>
506  <div id="landscapeMode" class="rotatescreen" style="display:none;">
507    <header style="margin-top:10px;margin-left:40%;">
508      <a class="logo h-100" href="/" onclick="return false;">
509        <img alt="Savaari" class="logoclass1" width="100px" src="assets/img/logo.png">
510      </a>
511    </header>
512    <hr>
513    <div class="rotatescreen_container">
514      <!-- <img src="./assets/rotate-screen.png" alt=""> -->
515      <div class="bg-rotate_screen" style="display: inline-block"> </div>
516      <div class="rotatescreen_text_header">
517        Please Rotate Your Device
518      </div>
519      <div class="rotatescreen_text_body">We do not support landscape mode, Please use the app in <br>portrait mode for
520        best experience</div>
521    </div>
522  </div>
523  
523<script>
524
525    window.addEventListener("orientationchange", function () {
526
527      if ((screen.width > screen.height) && (navigator.userAgent.match(/Android/i)
528        || navigator.userAgent.match(/webOS/i)
529        || navigator.userAgent.match(/iPhone/i)
530        || navigator.userAgent.match(/iPad/i)
531        || navigator.userAgent.match(/iPod/i)
532        || navigator.userAgent.match(/BlackBerry/i)
533        || navigator.userAgent.match(/Windows Phone/i))) {
534
535        document.getElementById('approot').style.display = 'none';
536        document.getElementById('landscapeMode').style.display = 'block';
537
538        if (document.getElementsByTagName('mat-dialog-container')[0])
539          document.getElementsByTagName('mat-dialog-container')[0].style.display = 'none';
540        if (document.getElementsByClassName('cdk-overlay-container')[0])
541          document.getElementsByClassName('cdk-overlay-container')[0].style.display = 'none'
542      }
543      else {
544
545        document.getElementById('approot').style.display = 'block';
546        if (document.getElementById('appshell_home'))
547          document.getElementById('appshell_home').style.display = 'block';
548        document.getElementById('landscapeMode').style.display = 'none';
549        if (document.getElementsByTagName('mat-dialog-container')[0])
550          document.getElementsByTagName('mat-dialog-container')[0].style.display = '';
551        if (document.getElementsByClassName('cdk-overlay-container')[0])
552          document.getElementsByClassName('cdk-overlay-container')[0].style.display = '';
553
554      }
555
556    }, false);
557
558    if ((screen.width > screen.height) && (navigator.userAgent.match(/Android/i)
559      || navigator.userAgent.match(/webOS/i)
560      || navigator.userAgent.match(/iPhone/i)
561      || navigator.userAgent.match(/iPad/i)
562      || navigator.userAgent.match(/iPod/i)
563      || navigator.userAgent.match(/BlackBerry/i)
564      || navigator.userAgent.match(/Windows Phone/i))) {
565
566      document.getElementById('approot').style.display = 'none';
567      document.getElementById('landscapeMode').style.display = 'block';
568      if (document.getElementsByTagName('mat-dialog-container')[0])
569        document.getElementsByTagName('mat-dialog-container')[0].style.display = 'none';
570      if (document.getElementsByClassName('cdk-overlay-container')[0])
571        document.getElementsByClassName('cdk-overlay-container')[0].style.display = 'none'
572    }
573    else {
574
575      document.getElementById('landscapeMode').style.display = 'none';
576      if (document.getElementsByTagName('mat-dialog-container')[0])
577        document.getElementsByTagName('mat-dialog-container')[0].style.display = '';
578      if (document.getElementsByClassName('cdk-overlay-container')[0])
579        document.getElementsByClassName('cdk-overlay-container')[0].style.display = '';
580
581
582      if (!(/select_cars/i).test(window.location.pathname) && !(/booking/i).test(window.location.pathname)) {
583
584        document.getElementById('appshell_home').style.display = 'block';
585
586        // Central reveal: show the app + fade out the shimmer. Called by the fallback
587        // below and (on the homepage) by home-container once its async content has painted.
588        window.__svReveal = function () {
589          var shell = document.getElementById('appshell_home');
590          var approot = document.getElementById('approot');
591          if (approot) approot.style.display = 'block';
592          if (shell && shell.style.display !== 'none') {
593            shell.classList.add('sv-hide');
594            setTimeout(function () { shell.style.display = 'none'; }, 100);
595          }
596        };
597
598        if (window.location.pathname === '/' || window.location.pathname === '') {
599          // Homepage: keep the app fully OUT of layout (display:none, from its initial
600          // markup) behind the shimmer until home-container has fetched + rendered its
601          // content, so the late data-driven reflows happen with no layout box and are
602          // NOT counted as CLS. (visibility:hidden does NOT exclude an element from CLS.)
603          window.__svDeferReveal = true;
604          // Fallback reveal if the content never loads.
605          setTimeout(function () { if (window.__svReveal) window.__svReveal(); }, 12000);
606        } else {
607          // SEO / info / error routes: show the app now. app.component reveals (fades
608          // the shimmer) on NavigationEnd once the route renders, and trip-search hides
609          // it on widget pages. This timer is a safety net if the app never bootstraps.
610          document.getElementById('approot').style.display = 'block';
611          setTimeout(function () { if (window.__svReveal) window.__svReveal(); }, 8000);
612        }
613
614      }
615      else {
616
617        document.getElementById('approot').style.display = 'block';
618        //document.getElementById('appshell_home').style.display=none;
619
620      }
621    }
622    //localStorage.removeItem('CacheServiceLocalSubTripTypes');
623  </script>
623
624
625  
625<script>
626    window.addEventListener('triggerAdmitadPixel', function (e) {
627      (function (d, w) {
628        w._admitadPixel = {
629          response_type: 'img',     // 'script' or 'img'. Default: 'img'
630          action_code: '1',
631          campaign_code: 'c26cefce51'
632        };
633        w._admitadPositions = w._admitadPositions || [];
634        w._admitadPositions.push({
635          uid: e.detail.uid, //pass back the value here which we are sending you in admitad_uid parameter
636          tariff_code: '1',
637          order_id: e.detail.order_id, //pass the order Id here
638          position_id: '1',
639          currency_code: '',//Pass Currency Code here
640          position_count: '1',
641          price: '', //Pass total amount here 
642          quantity: '1',
643          product_id: '', //pass the product id here
644          payment_type: 'sale'
645        });
646        var id = '_admitad-pixel';
647        if (d.getElementById(id)) { return; }
648        var s = d.createElement('script');
649        s.id = id;
650        var r = (new Date).getTime();
651        var protocol = (d.location.protocol === 'https:' ? 'https:' : 'http:');
652        s.src = protocol + '//cdn.asbmit.com/static/js/npixel.js?r=' + r;
653        var head = d.getElementsByTagName('head')[0];
654        head.appendChild(s);
655      })(document, window)
656    });
657
658    localStorage.setItem('home_page_load_Flag', '1');
659
660    //localStorage.removeItem('ixigoFlag');
661    //localStorage.removeItem('ixigoColor');
662    if (localStorage.getItem('ixigoFlag') != '1') {
663      localStorage.setItem('ixigoFlag', '0');
664      localStorage.setItem('ixigoColor', '');
665    }
666
667    if (localStorage.getItem('mahindraFlag') != '1') {
668      localStorage.setItem('mahindraFlag', '0');
669    }
670    //if (localStorage.getItem('google_map_included') != '1') {
671    //  localStorage.setItem('google_map_included', '0');
672    //}
673
674    localStorage.removeItem('cityDomainName');
675    for (var key in localStorage) {
676      if (key != '' && key.includes('CacheServiceoutstationoneWay') && key.split('CacheServiceoutstationoneWay')[1] != "undefined" && key.split('CacheServiceoutstationoneWay')[1] > 0)
677        localStorage.removeItem(key);
678    }
679    //localStorage.setItem('cityDomainName', 'mumbaiairporttaxi');
680    if ((localStorage.getItem('InAppSourcePaytm') == 'Paytm' || localStorage.getItem('InAppSource') == 'PhonePe') && localStorage.getItem('OnlyAirportTab') == 'OnlyAirportTab') {
681      //document.getElementsByClassName("logoclass")[0].src = "assets/img/savaari-airport-cabs-logo.png";
682      document.getElementsByClassName("logoclass1")[0].src = "assets/img/savaari-airport-cabs-logo.png";
683    }
684    if (localStorage.getItem('InAppSourcePaytm') == 'Paytm' || localStorage.getItem('InAppSource') == 'PhonePe') {
685      localStorage.setItem('razorpayenable', 0);
686      localStorage.setItem('home_page_mobile_banner_remove', 1);
687    } else {
688      localStorage.setItem('razorpayenable', 1);
689      localStorage.setItem('home_page_mobile_banner_remove', 0);
690    }
691    localStorage.setItem('select-trip-reverse', 0);
692    localStorage.setItem('fresh_load', 1);
693    // localStorage.setItem('google_map_included', 0);
694        //localStorage.removeItem('SavaariToken');
695
696	if(localStorage.getItem('SavaariUserDeviceID') == null || localStorage.getItem('SavaariUserDeviceID') == undefined || localStorage.getItem('SavaariUserDeviceID') == ''){
697      var ud_id = 'UDID_';
698        let chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
699        for (var i = 14; i > 0; --i) ud_id += chars[Math.floor(Math.random() * chars.length)];
700        ud_id += (new Date).getTime();
701        localStorage.setItem('SavaariUserDeviceID',ud_id);
702    }
703				
704  </script>
704
705
706  
706<script type="application/ld+json">
707{
708		"@context":"https://schema.org",
709		"@type":"Product",
710		"name":"Local & Outstation Cabs with Savaari Car Rentals",
711		"description":"Savaari Car Rentals provides affordable cabs across 2000 Cities in India. Customers can book oneway drops, outstation roundtrips, local hourly rentals and airport taxis. You can choose from reliable and safe cab rental options like Hatchbacks, Sedans, SUVs, Innovas, Innova Crysta and Tempo Traveller.",
712		"sku":"InStock",
713		"aggregateRating": {
714			"@type": "AggregateRating",
715			"bestRating": "5",
716			"worstRating": "1",
717			"ratingValue": "4.5",
718			"ratingCount": "4368"
719		  }
720	}</script>
720<script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Savaari Car Rentals","url":"https://www.savaari.com/","@id":"https://www.savaari.com/aboutus","logo":"https://www.savaari.com/assets/img/logo.png","sameAs":["https://www.facebook.com/Savaari","https://in.linkedin.com/company/savaari-car-rentals","https://www.instagram.com/savaaricarrentals","https://twitter.com/savaaricars","https://www.youtube.com/c/SavaariCarRentalsIndia","https://www.savaari.com/blog"],"description":"Savaari Car Rentals is India's premier online cab booking aggregator, providing affordable Outstation Oneway, Roundtrips, Hourly Rentals, and Airport Taxi services across 2000 cities in India.","founder":["Gaurav Aggarwal","Anand Dorairaj","Mohit Khanna","Manik Shah"],"foundingDate":"2006","foundingLocation":{"@type":"Place","address":{"@type":"PostalAddress","streetAddress":"Your Office Address","addressLocality":"Bengaluru","addressRegion":"Karnataka","postalCode":"560001","addressCountry":"IN"}},"geo":{"@type":"GeoCoordinates","latitude":"12.9716","longitude":"77.5946"},"contactPoint":{"@type":"ContactPoint","telephone":"+91-9045450000","email":"[email protected]","contactType":"Customer service"}}</script>
720 
721
722<!-- 
722<script
723src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCZZixip_wFMiGvO1G2HYjeNOjmtBP5RZM&libraries=places,geometry&region=IN&language=en-US&callback=initGoogleMaps"
724async defer>
725</script>
vendor: 1 bytes, line 725
725
726<script>
727function initGoogleMaps() {
728  console.log('Google Maps loaded!');
729  localStorage.setItem('google_map_included', '1');
730}
731</script>
731   -->
732  
732<script>
733    window.addEventListener('load', (event) => {
734
735      (function (w, d, s, l, i) {
736        w[l] = w[l] || []; w[l].push({
737          'gtm.start':
738            new Date().getTime(), event: 'gtm.js'
739        }); var f = d.getElementsByTagName(s)[0],
740          j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.defer = true; j.src =
741            'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
742      })(window, document, 'script', 'dataLayer', 'GTM-KPJZSG');
743
744    });		
745  </script>
vendor: 71 bytes, lines 745-747
745
746
747  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
747GTM-KPJZSG
vendor: 96 bytes, lines 747-750
747" height="0" width="0"
748      style="display:none;visibility:hidden"></iframe></noscript>
749
750      
750<script>
751        window.addEventListener('load', function () {
752          var smartechScript = document.createElement('script');
753          smartechScript.src = '//cdnt.netcoresmartech.com/smartechclient.js';
754          smartechScript.async = true;
755          smartechScript.onload = function () {
756            smartech('create', 'ADGMOT35CHFLVDHBJNIG50K96BJNAIDNA289P0MPDIT4A9J9K39G');
757            smartech('register', '741bcb1c24084cb6351e7f212062982a');
758            smartech('identify', '');
759            smartech('dispatch', 'page browse', {});
760          };
761          document.head.appendChild(smartechScript);
762        });
763      </script>
763
764
765<script src="runtime.8c2eb62cc3cebc0b.js" type="module"></script>
765<script src="polyfills.9030d617e5dceabf.js" type="module"></script>
765<script src="main.fc5b2067e2f1e13c.js" type="module"></script>
765
766
767
768</body></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.