/* Generated by site/scripts/build_chrome.mjs from app/notch.css. Do not edit. */
#tvh,#tvf{display:contents}
:is(#tvh,#tvf){font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
:is(#tvh,#tvf) button{border:0;background:none;text-transform:none;letter-spacing:normal;line-height:inherit;min-height:0;box-shadow:none}
:is(#tvh,#tvf) input{width:auto;min-height:0;line-height:inherit;font-size:16px;box-shadow:none}
:is(#tvh,#tvf) h4{font-weight:700;line-height:1.3;text-transform:none;letter-spacing:normal}
:is(#tvh,#tvf) a:hover,:is(#tvh,#tvf) a:focus{text-decoration:none}
.admin-bar #tvh .bar{top:32px}
@media (max-width:782px){.admin-bar #tvh .bar{top:46px}}
@media (max-width:600px){.admin-bar #tvh .bar{top:0}}
/* TiketVisa homepage · "Notch" final.
   Idea: the boarding-pass notch, set on TiketVisa's own rounded shapes (12 / 16 / 24 / 32px radius scale).
   Every illustration on the page is built in HTML/CSS/SVG. No stock photos. */
:is(#tvh,#tvf){
  --navy:#003580; --navy-deep:#002357; --blue:#0C479B; --sky:#009FE3; --azure:#2873DE; --mist:#5797F1;
  --ice:#ECF9FF; --act:#0077C0; --act-hover:#00629E; --ice-2:#DDF2FD; --ink:#16213a; --muted:#51617f; --white:#fff; --red:#EA2828; --green:#15803d;
  --display:"Poppins",system-ui,sans-serif; --text:"Figtree",system-ui,sans-serif;
  --r-sm:12px; --r:16px; --r-md:24px; --r-lg:32px;
  --m:clamp(16px,3vw,40px);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --shadow:0 24px 48px -24px rgb(0 53 128/.28);
}
:is(#tvh,#tvf) *{box-sizing:border-box;margin:0;padding:0}
:is(#tvh,#tvf){font-family:var(--text);font-size:18px;line-height:1.55;color:var(--ink);background:var(--white);overflow-x:clip}
:is(#tvh,#tvf) img,:is(#tvh,#tvf) svg{display:block;max-width:100%}
:is(#tvh,#tvf) a{color:inherit}
:is(#tvh,#tvf) button,:is(#tvh,#tvf) input,:is(#tvh,#tvf) select{font:inherit;color:inherit}
:is(#tvh,#tvf) :focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
:is(#tvh,#tvf) .wrap{padding-inline:var(--m);max-width:1440px;margin-inline:auto}
:is(#tvh,#tvf) .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* the motif: two half-circle bites at mid-height, on rounded shapes */
:is(#tvh,#tvf) .notch{
  -webkit-mask:radial-gradient(circle var(--notch,14px) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,
               radial-gradient(circle var(--notch,14px) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle var(--notch,14px) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,
               radial-gradient(circle var(--notch,14px) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
}
/* buttons */
:is(#tvh,#tvf) .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:15px 24px;border:0;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;
  font-family:var(--display);font-weight:600;font-size:16px;text-decoration:none;background:var(--act);color:var(--white);
  transition:transform 160ms var(--ease-out),background-color 200ms ease}
:is(#tvh,#tvf) .btn svg{width:18px;height:18px;transition:transform 200ms var(--ease-out)}
:is(#tvh,#tvf) .btn:active{transform:scale(.97)}
:is(#tvh,#tvf) .btn--white{background:var(--white);color:var(--navy);box-shadow:none}
:is(#tvh,#tvf) .btn--navy{background:var(--navy)}
:is(#tvh,#tvf) .btn--sky{background:var(--sky);color:var(--white)}
@media (hover:hover){:is(#tvh,#tvf) .btn--sky:hover{background:#33b6ec}}
@media (hover:hover) and (pointer:fine){
  :is(#tvh,#tvf) .btn:hover{background:var(--act-hover)}:is(#tvh,#tvf) .btn:hover svg{transform:translateX(3px)}
  :is(#tvh,#tvf) .btn--white:hover{background:var(--ice)}:is(#tvh,#tvf) .btn--navy:hover{background:var(--blue)}
}
/* header: frosted, sticky (kept from the current site) */
:is(#tvh,#tvf) .bar{position:sticky;top:0;z-index:50;background:transparent;transition:background-color 250ms ease,box-shadow 250ms ease}
:is(#tvh,#tvf) .bar.scrolled,:is(#tvh,#tvf) .bar.open{background:rgb(0 53 128/.92);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 12px 30px -18px rgb(0 20 60/.55)}
:is(#tvh,#tvf) .bar__in{display:flex;align-items:center;gap:22px;height:72px}
:is(#tvh,#tvf) .bar__logo img{height:30px;width:auto;filter:brightness(0) invert(1)}
:is(#tvh,#tvf) .bar nav{display:flex;gap:4px;margin-inline-start:auto;font-size:15.5px;font-weight:500}
:is(#tvh,#tvf) .bar nav a{text-decoration:none;color:rgb(255 255 255/.82);padding:8px 12px;border-radius:10px;transition:color 150ms ease,background-color 150ms ease}
@media (hover:hover){:is(#tvh,#tvf) .bar nav a:hover,:is(#tvh,#tvf) .lang summary:hover{color:#fff;background:rgb(255 255 255/.1)}}
:is(#tvh,#tvf) .lang{position:relative}
:is(#tvh,#tvf) .lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:15.5px;font-weight:500;color:rgb(255 255 255/.82);padding:8px 12px;border-radius:10px;transition:background-color 150ms}
:is(#tvh,#tvf) .lang summary::-webkit-details-marker{display:none}
:is(#tvh,#tvf) .lang summary svg{width:16px;height:16px}
:is(#tvh,#tvf) .lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 12px);background:var(--white);list-style:none;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:340px;
  border-radius:var(--r);box-shadow:0 30px 60px -20px rgb(0 35 87/.3),0 0 0 1px rgb(0 53 128/.06);transform-origin:top right;animation:tv-pop 180ms var(--ease-out)}
:is(#tvh,#tvf) .lang a{display:block;padding:8px 12px;border-radius:10px;text-decoration:none;font-size:15px}
:is(#tvh,#tvf) .lang a:hover,:is(#tvh,#tvf) .lang a[aria-current]{background:var(--ice);color:var(--navy)}
:is(#tvh,#tvf) .burger{display:none;margin-inline-start:auto;background:rgb(255 255 255/.12);border:0;border-radius:12px;cursor:pointer;width:46px;height:46px;position:relative}
:is(#tvh,#tvf) .burger span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:#fff;transition:transform 250ms var(--ease-out),opacity 150ms}
:is(#tvh,#tvf) .burger span:nth-child(1){top:16px}:is(#tvh,#tvf) .burger span:nth-child(2){top:22px}:is(#tvh,#tvf) .burger span:nth-child(3){top:28px}
:is(#tvh,#tvf) .mnav{display:none}
/* hero */
:is(#tvh,#tvf) .hero__cta .btn:not(.btn--white){background:var(--sky);color:var(--white)}
@media (hover:hover){:is(#tvh,#tvf) .hero__cta .btn:not(.btn--white):hover{background:#33b6ec}}
/* live ticket */
/* trust bar (inspired by the 3-up strip under onwardticket's hero) */
/* section tabs */
/* features mosaic */
/* who it's for: tinted accordion */
/* accordion: scroll-in reveal, guided tour, tap affordance */
/* steps: stacked cards that fly away (kept from the current site), illustrations in code */
/* airlines */
/* embassies */
/* story: an open passport, drawn in code. The right page swings open, then the stamps land. */
/* closing: "I plan to travel to" + split-flap destination board */
/* each cell = static top half + static bottom half + two flaps that fold on the centre line */
:is(#tvh,#tvf) .close__cta .btn{padding:17px 30px;font-size:17px}
/* footer: wordmark built from rounded ticket blocks */
:is(#tvh,#tvf) .foot{background:var(--navy);color:#fff;border-radius:var(--r-lg) var(--r-lg) 0 0;margin-top:clamp(64px,7vw,110px);padding:clamp(48px,5vw,80px) 0 28px}
:is(#tvh,#tvf) .blocks{display:flex;gap:6px;align-items:flex-end;height:clamp(160px,30svh,280px)}
:is(#tvh,#tvf) .blocks span{--notch:9px;flex:1;display:grid;place-items:center;border-radius:var(--r);font-family:var(--display);font-weight:800;font-size:clamp(24px,5.6vw,96px);color:var(--navy);
  transform:translateY(40%);opacity:0;transition:transform 800ms var(--spring),opacity 400ms ease;transition-delay:calc(var(--i)*60ms)}
:is(#tvh,#tvf) .blocks.in span{transform:none;opacity:1}
:is(#tvh,#tvf) .blocks span:nth-child(odd){background:var(--sky);color:#fff}:is(#tvh,#tvf) .blocks span:nth-child(even){background:var(--ice);color:var(--navy)}:is(#tvh,#tvf) .blocks span:nth-child(3n){background:var(--mist);color:#fff}
:is(#tvh,#tvf) .foot__cols{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:32px;margin-top:56px;font-size:15px}
:is(#tvh,#tvf) .foot__cols h4{font-family:var(--display);font-size:15px;color:#fff;margin-bottom:12px}
:is(#tvh,#tvf) .foot__cols a{display:block;text-decoration:none;color:rgb(255 255 255/.72);padding:4px 0;transition:color 150ms}
:is(#tvh,#tvf) .foot__cols a:hover{color:#fff}
:is(#tvh,#tvf) .disc{display:grid;gap:10px;background:rgb(255 255 255/.08);border-radius:var(--r-md);padding:22px}
:is(#tvh,#tvf) .disc p{font-size:14px;color:#b9d3ff}
:is(#tvh,#tvf) .disc input{border:0;border-radius:var(--r-sm);padding:13px 14px;background:rgb(255 255 255/.12);color:#fff}
:is(#tvh,#tvf) .disc input::placeholder{color:#9fbde6}
:is(#tvh,#tvf) .disc input:focus{outline:0;box-shadow:0 0 0 3px var(--sky)}
:is(#tvh,#tvf) .foot__end{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid rgb(255 255 255/.12);font-size:14.5px;color:rgb(255 255 255/.72);gap:16px;flex-wrap:wrap}
:is(#tvh,#tvf) .social{display:flex;gap:8px}
:is(#tvh,#tvf) .social a{width:42px;height:42px;border-radius:12px;background:rgb(255 255 255/.1);display:grid;place-items:center;color:#fff;transition:transform 200ms var(--ease-out),background-color 200ms,color 200ms}
:is(#tvh,#tvf) .social a svg{width:20px;height:20px}
@media (hover:hover){:is(#tvh,#tvf) .social a:hover{background:var(--sky);color:var(--navy-deep);transform:translateY(-2px)}}
:is(#tvh,#tvf) .mcta{display:none}
/* entrances */
/* tablet */
@media (max-width:1100px){
  :is(#tvh,#tvf) .bar nav,:is(#tvh,#tvf) .bar .lang,:is(#tvh,#tvf) .bar__in>.btn{display:none}
  :is(#tvh,#tvf) .burger{display:block}
  :is(#tvh,#tvf) .mnav{display:flex;flex-direction:column;position:fixed;inset:72px 0 0;z-index:49;background:#fff;padding:12px var(--m) 0;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden;transition:opacity 200ms ease,transform 250ms var(--ease-out),visibility 0s 250ms}
  :is(#tvh,#tvf) .bar.open+.mnav{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity 200ms ease,transform 250ms var(--ease-out)}
  :is(#tvh,#tvf) .bar.open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  :is(#tvh,#tvf) .bar.open .burger span:nth-child(2){opacity:0}
  :is(#tvh,#tvf) .bar.open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  :is(#tvh,#tvf) .mnav a{display:block;text-decoration:none}
  :is(#tvh,#tvf) .mnav__links a{font-family:var(--display);font-weight:600;font-size:22px;color:var(--navy);padding:12px 0}
  /* language dropdown */
  :is(#tvh,#tvf) .msel{margin-top:20px;padding-top:20px;border-top:1px solid var(--ice-2)}
  :is(#tvh,#tvf) .msel__label{display:block;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:10px}
  :is(#tvh,#tvf) .msel__box summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:6px 0 14px;border-bottom:1px solid var(--ice-2)}
  :is(#tvh,#tvf) .msel__box summary::-webkit-details-marker{display:none}
  :is(#tvh,#tvf) .msel__ico{width:40px;height:40px;border-radius:50%;background:var(--ice);color:var(--navy);display:grid;place-items:center;flex:none}
  :is(#tvh,#tvf) .msel__ico svg{width:20px;height:20px}
  :is(#tvh,#tvf) .msel__box b{font-family:var(--display);font-weight:600;font-size:18px;color:var(--navy);flex:1}
  :is(#tvh,#tvf) .msel__caret{width:16px;height:16px;color:var(--navy);transition:transform 200ms var(--ease-out)}
  :is(#tvh,#tvf) .msel__box[open] .msel__caret{transform:rotate(180deg)}
  :is(#tvh,#tvf) .msel__box ul{list-style:none;margin-top:12px;padding:6px;background:var(--ice);border-radius:var(--r);display:grid;gap:2px;animation:tv-pop 180ms var(--ease-out)}
  :is(#tvh,#tvf) .msel__box li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--r-sm);font-weight:600;font-size:16px;color:var(--navy)}
  :is(#tvh,#tvf) .msel__box li a[aria-current]{background:#fff;box-shadow:0 6px 16px -10px rgb(0 53 128/.35)}
  :is(#tvh,#tvf) .msel__box li a svg{width:18px;height:18px;color:var(--sky)}
  @media (hover:hover){:is(#tvh,#tvf) .msel__box li a:hover{background:rgb(255 255 255/.7)}}
  /* booking buttons pinned to the bottom of the menu */
  :is(#tvh,#tvf) .mnav__cta{position:sticky;bottom:0;margin:auto calc(-1*var(--m)) 0;padding:14px var(--m) calc(14px + env(safe-area-inset-bottom));
    display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgb(255 255 255/.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-top:1px solid var(--ice-2)}
  :is(#tvh,#tvf) .mnav__cta .btn{display:flex;width:100%;padding:15px 10px;font-size:15px}
  /* menu open: the page is pinned (body fixed at its scroll offset, see SiteEffects/chrome.js) and the header stays on screen */
  html.menu-open{overflow:hidden}
  html.menu-open body{position:fixed;left:0;right:0;overflow:hidden}
  html.menu-open :is(#tvh,#tvf) .bar{position:fixed;top:0;left:0;right:0}
  :is(#tvh,#tvf) .foot__cols{grid-template-columns:1fr 1fr 1fr}
  :is(#tvh,#tvf) .disc{grid-column:1/-1}
}
/* phone */
@media (max-width:767px){
  :is(#tvh,#tvf){font-size:17px}
  :is(#tvh,#tvf) .bar__in{height:64px}:is(#tvh,#tvf) .bar__logo img{height:26px}
  :is(#tvh,#tvf) .mnav{inset:64px 0 0}
  :is(#tvh,#tvf) .hero__cta .btn{padding:15px 10px;font-size:15px}
  :is(#tvh,#tvf) .hero__cta .btn svg{display:none}
  :is(#tvh,#tvf) .close__cta .btn{padding:15px 10px;font-size:16px}
  :is(#tvh,#tvf) .foot__cols{grid-template-columns:1fr 1fr;gap:24px}
  :is(#tvh,#tvf) .blocks{gap:4px;height:120px}
  :is(#tvh,#tvf) .blocks span{border-radius:10px;--notch:6px}
  :is(#tvh,#tvf) .foot{padding-bottom:100px;border-radius:26px 26px 0 0}
  :is(#tvh,#tvf) .mcta{display:flex;gap:8px;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:45;background:rgb(255 255 255/.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    padding:8px;border-radius:18px;box-shadow:0 20px 40px -12px rgb(0 35 87/.35);transform:translateY(140%);transition:transform 400ms var(--ease-out)}
  :is(#tvh,#tvf) .mcta.show{transform:none}
  :is(#tvh,#tvf) .mcta .btn{flex:1;padding:14px 10px}
}
@media (prefers-reduced-motion:reduce){
  :is(#tvh,#tvf) *{animation:none!important;transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  :is(#tvh,#tvf) .blocks span{opacity:1;transform:none}
}
/* right-to-left languages (ar, he): mirror directional graphics */
[dir="rtl"] :is(#tvh,#tvf) .btn svg,[dir="rtl"] :is(#tvh,#tvf) .faqx .btn svg{transform:scaleX(-1)}
@media (hover:hover) and (pointer:fine){[dir="rtl"] :is(#tvh,#tvf) .btn:hover svg{transform:scaleX(-1) translateX(3px)}}
@keyframes tv-pop{from{opacity:0;transform:scale(.96) translateY(-4px)}}
