/* Fixed editorial viewport: content scrolls between the top chrome and footer. */
body.editorial-page{
  height: 100svh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #15191d;
}

body.editorial-page > header{
  flex: 0 0 auto;
}

body.editorial-page > main{
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

body.editorial-page > footer{
  position: relative;
  z-index: 20;
  flex: 0 0 auto;
  margin: 0;
  padding: 14px 0 18px;
  color: rgba(255,255,255,0.62);
  background: #15191d;
  font-size: 12.5px;
  line-height: 1.45;
}

body.editorial-page > footer > .container{
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

body.editorial-page > footer .footer-inner{
  min-height: 31px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

body.utility-page{
  height: 100svh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #15191d;
}

body.utility-page > header{
  flex: 0 0 auto;
}

body.utility-page > main,
body.model-app-page > .shell{
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

body.utility-page > .site-viewport-footer{
  position: relative;
  z-index: 20;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  margin: 0;
  padding: 14px 0 18px;
  color: rgba(255,255,255,0.62);
  background: #15191d;
  font: 400 12.5px/1.45 ui-sans-serif, system-ui, -apple-system, "SF Pro Text", sans-serif;
}

.site-viewport-footer-inner{
  box-sizing: border-box;
  width: min(1180px, calc(100% - 40px));
  min-height: 31px;
  margin: 0 auto;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
