/* GTV page loader: animated G logo shown until the page is ready. */
html.gtv-loading,html.gtv-loading body{overflow:hidden}
#gtv-loader{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#fff;transition:opacity .45s ease,visibility .45s ease;animation:gtv-loader-failsafe .4s ease 6s forwards}
#gtv-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
#gtv-loader svg{width:96px;height:auto;overflow:visible}
#gtv-loader .gl-shape{stroke-width:9;stroke-linejoin:round;fill-opacity:0;stroke-dasharray:2600;stroke-dashoffset:2600}
#gtv-loader .gl-dark{fill:#1c4a87;stroke:#1c4a87;animation:gtv-draw .9s cubic-bezier(.6,.1,.3,1) forwards,gtv-fill .35s ease .75s forwards}
#gtv-loader .gl-light{fill:#3478c1;stroke:#3478c1;animation:gtv-draw 1s cubic-bezier(.6,.1,.3,1) .2s forwards,gtv-fill .35s ease 1.05s forwards}
#gtv-loader .gl-mark{transform-origin:50% 50%;animation:gtv-pop .4s ease 1.35s}
@keyframes gtv-draw{to{stroke-dashoffset:0}}
@keyframes gtv-fill{to{fill-opacity:1;stroke-width:0}}
@keyframes gtv-pop{50%{transform:scale(1.06)}}
@keyframes gtv-loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#gtv-loader .gl-shape{animation:none;stroke-dashoffset:0;fill-opacity:1;stroke-width:0}#gtv-loader .gl-mark{animation:none}}
html.gtv-seen #gtv-loader{display:none}
