.#{$prefix}viewport, .#{$prefix}viewport > .#{$prefix}body { margin: 0; padding: 0; border: 0 none; } .#{$prefix}viewport { // the viewport must have an explicit height and width so that we can make the // body fill the viewport (see below) width: 100%; height: 100%; position: static; } .#{$prefix}viewport > .#{$prefix}body { // position has to be set to fixed here due to a known issue with // Unwanted scrolling when focusing an input inside the modal // see: http://stackoverflow.com/questions/37287148/ios-safari-chrome-unwanted-scrolling-when-focusing-an-input-inside-the-modal position: fixed; top: 0; left: 0; // min-height/width ensures that the body element fills the viewport if its content is // smaller than the viewport (when using an auto layout on the viewport), while allowing // the body element to expand if the content does not fit within the viewport. min-width: 100%; min-height: 100%; } @media print { // if the body position is not set to static, it will only print the // frist page of multi-paged apps. .#{$prefix}viewport > .#{$prefix}body { position: static; } }