/* v19: kill trailing empty space below footer (iOS Safari included) */
html{
  height:auto!important;
  min-height:100%!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
}
body{
  display:flex!important;
  flex-direction:column!important;
  min-height:100svh!important;
  min-height:100dvh!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
}
main.magazine,main{
  flex:1 0 auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}
.page,
.page:not(.cover-page),
.page.magazine-back-cover,
.page#magazine-back-cover{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
}
.page.magazine-back-cover,
.page#magazine-back-cover{
  display:block!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
.magazine-back-cover .bc-sheet,
.page#magazine-back-cover .bc-sheet{
  min-height:0!important;
  height:auto!important;
  justify-content:flex-start!important;
}
#photos .bgp,#archive .bgp,#subscribe .bgp,#support .bgp{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-bottom:0!important;
}
#photos,#archive,#subscribe,#support{position:relative!important;}
footer{
  flex:0 0 auto!important;
  margin-top:auto!important;
  margin-bottom:0!important;
  padding:12px 24px!important;
  padding-bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
  position:relative!important;
  z-index:3!important;
}
#fx{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  pointer-events:none!important;
  z-index:1!important;
}
#prog{position:fixed!important;}
