/* Green Pi Interactive City V6.24
 * Homepage veil / intro-layer fail-safe and full-viewport map hardening.
 */

/* The interactive canvas must always own the full viewport. */
body.greenpi-map-home,
body.greenpi-map-home #page,
.gp-map-app,
.gp-map-viewport{
  width:100% !important;
  max-width:none !important;
}
.gp-map-app,
.gp-map-viewport{
  min-width:100% !important;
  overflow:hidden !important;
}
.gp-camera{
  min-width:100% !important;
  min-height:100% !important;
}
.gp-map-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Once intro is complete, no construction sub-layer can ever repaint a veil. */
.gp-map-viewport.gp-intro-complete .gp-construction,
.gp-map-viewport:not(.is-building) .gp-construction{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.gp-map-viewport.gp-intro-complete .gp-build-reveal,
.gp-map-viewport.gp-intro-complete .gp-blueprint-grid,
.gp-map-viewport.gp-intro-complete .gp-build-lines,
.gp-map-viewport.gp-intro-complete .gp-build-aura,
.gp-map-viewport.gp-intro-complete .gp-build-particles,
.gp-map-viewport.gp-intro-complete .gp-build-wordmark,
.gp-map-viewport.gp-intro-complete .gp-build-scan,
.gp-map-viewport.gp-intro-complete .gp-build-flash{
  animation:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* Construction curtain itself must end transparent even if browser animation
   handling is interrupted by page cache / tab restore. */
.gp-map-viewport.is-building .gp-construction{
  animation-name:gpConstructionCurtainV624 !important;
  animation-duration:var(--gp-intro-ms, 3000ms) !important;
  animation-timing-function:linear !important;
  animation-fill-mode:forwards !important;
}
@keyframes gpConstructionCurtainV624{
  0%,78%{opacity:1;visibility:visible}
  92%{opacity:.24;visibility:visible}
  100%{opacity:0;visibility:hidden}
}

/* Never wash the real navigation after the intro. */
.gp-map-viewport.gp-intro-complete .gp-map-topbar,
.gp-map-viewport:not(.is-building) .gp-map-topbar{
  opacity:1 !important;
  filter:none !important;
}
.gp-map-viewport.gp-intro-complete .gp-camera,
.gp-map-viewport:not(.is-building) .gp-camera{
  filter:none !important;
}

/* Admin bar does not change the actual canvas width. */
.admin-bar .gp-map-app,
.admin-bar .gp-map-viewport{
  width:100% !important;
}
