.page-shell {
  position: fixed;
  inset: 0;
  z-index: 9998;
  isolation: isolate;
  overflow: hidden;
}

body {
  overflow: hidden;
}

.page-shell > header,
.page-shell > #global-banner-stack,
.page-shell > .page-scroll-container,
.page-shell > footer {
  position: absolute;
  left: 0;
  right: 0;
}

.page-shell > header {
  top: 0;
  z-index: 30;
  transform: translateY(0);
}

.page-shell > header.header-hidden {
  transform: translateY(calc(-1 * var(--header-height)));
}

.page-shell > #global-banner-stack {
  top: var(--header-height, 0px);
  z-index: 20;
  transform: translateY(var(--header-offset, 0px));
}

.page-shell > .page-scroll-container {
  top: calc(var(--header-height) + var(--banner-stack-height));
  bottom: calc(var(--footer-height) + var(--header-offset, 0px));
  z-index: 10;
  transform: translateY(var(--header-offset, 0px));
}

.page-shell > footer {
  bottom: 0;
  z-index: 30;
  transform: none;
  -webkit-transform: none;
}
