@page {
  margin: 0;
}
body {
  margin: 0;
}
.sheet {
  margin: 0;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  page-break-after: always;
}

/** Paper sizes **/
body.A3 .sheet {
  width: 297mm;
  height: 419mm;
}
body.A3.landscape .sheet {
  width: 420mm;
  height: 296mm;
}
body.A4 .sheet {
  width: 210mm;
  height: 296mm;
}
body.A4.landscape .sheet {
  width: 297mm;
  height: 209mm;
}
body.A5 .sheet {
  width: 148mm;
  height: 209mm;
}
body.A5.landscape .sheet {
  width: 210mm;
  height: 147mm;
}
body.letter .sheet {
  width: 216mm;
  height: 279mm;
}
body.letter.landscape .sheet {
  width: 280mm;
  height: 215mm;
}
body.legal .sheet {
  width: 216mm;
  height: 356mm;
}
body.legal.landscape .sheet {
  width: 357mm;
  height: 215mm;
}

/** Padding area **/
.sheet.padding-10mm {
  padding: 10mm;
}
.sheet.padding-15mm {
  padding: 15mm;
}
.sheet.padding-20mm {
  padding: 20mm;
}
.sheet.padding-25mm {
  padding: 25mm;
}

/** For screen preview **/
@media screen {
  body.pdf-preview {
    background: #e0e0e0;
  }
  body.pdf-preview .sheet {
    background: white;
    box-shadow: 0 0.5mm 2mm rgba(0, 0, 0, 0.3);
    margin: 5mm auto;
  }
}

/** Fix for Chrome issue #273306 **/
@media print {
  body.A3.landscape {
    width: 420mm;
  }
  body.A3,
  body.A4.landscape {
    width: 297mm;
  }
  body.A4,
  body.A5.landscape {
    width: 210mm;
  }
  body.A5 {
    width: 148mm;
  }
  body.letter,
  body.legal {
    width: 216mm;
  }
  body.letter.landscape {
    width: 280mm;
  }
  body.legal.landscape {
    width: 357mm;
  }
}
