layer at (0,0) size 785x2221
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2221
  RenderBlock {HTML} at (0,0) size 785x2221
    RenderBody {BODY} at (8,8) size 769x2205 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x18
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x90
        RenderText {#text} at (0,0) size 376x90
          text run at (0,0) width 360: ".zero {background-color: silver; padding: 0;}"
          text run at (0,15) width 368: ".one {padding: 0.5in; background-color: aqua;}"
          text run at (0,30) width 360: ".two {padding: 25px; background-color: aqua;}"
          text run at (0,45) width 368: ".three {padding: 5em; background-color: aqua;}"
          text run at (0,60) width 360: ".four {padding: 25%; background-color: aqua;}"
          text run at (0,75) width 376: ".five {padding: -20px; background-color: aqua;}"
      RenderBlock {HR} at (0,137) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,155) size 769x18 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 203x18
          text run at (0,0) width 203: "This element has a class of zero."
      RenderBlock {P} at (0,189) size 769x132 [bgcolor=#00FFFF]
        RenderText {#text} at (48,48) size 660x36
          text run at (48,48) width 660: "This element should have an overall padding of half an inch, which will require extra text in order to test."
          text run at (48,66) width 464: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,337) size 769x86 [bgcolor=#00FFFF]
        RenderText {#text} at (25,25) size 701x36
          text run at (25,25) width 647: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
          text run at (672,25) width 54: "Both the"
          text run at (25,43) width 406: "content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,439) size 769x196 [bgcolor=#00FFFF]
        RenderText {#text} at (80,80) size 588x36
          text run at (80,80) width 588: "This element should have an overall padding of 5 em, which will require extra text in order to"
          text run at (80,98) width 29: "test. "
          text run at (109,98) width 464: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,651) size 769x457 [bgcolor=#00FFFF]
        RenderText {#text} at (192,192) size 380x72
          text run at (192,192) width 380: "This element should have an overall padding of 25%, which"
          text run at (192,210) width 377: "is calculated with respect to the width of the parent element."
          text run at (192,228) width 354: "Both the content background and the padding should be"
          text run at (192,246) width 108: "aqua (light blue)."
      RenderBlock {P} at (0,1123) size 769x37 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x36
          text run at (0,0) width 541: "This element should have no padding, since negative padding values are not allowed. "
          text run at (541,0) width 210: "Both the content background and"
          text run at (0,18) width 298: "the normal padding should be aqua (light blue)."
      RenderTable {TABLE} at (0,1175) size 769x1030 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1028
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x1002
            RenderTableCell {TD} at (0,513) size 12x27 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x1002 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x18 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 203x18
                  text run at (0,0) width 203: "This element has a class of zero."
              RenderBlock {P} at (4,38) size 747x132 [bgcolor=#00FFFF]
                RenderText {#text} at (48,48) size 631x36
                  text run at (48,48) width 631: "This element should have an overall padding of half an inch, which will require extra text in order to"
                  text run at (48,66) width 29: "test. "
                  text run at (77,66) width 464: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,186) size 747x86 [bgcolor=#00FFFF]
                RenderText {#text} at (25,25) size 678x36
                  text run at (25,25) width 647: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
                  text run at (672,25) width 31: "Both"
                  text run at (25,43) width 429: "the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,288) size 747x196 [bgcolor=#00FFFF]
                RenderText {#text} at (80,80) size 572x36
                  text run at (80,80) width 572: "This element should have an overall padding of 5 em, which will require extra text in order"
                  text run at (80,98) width 45: "to test. "
                  text run at (125,98) width 464: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,500) size 747x446 [bgcolor=#00FFFF]
                RenderText {#text} at (186,187) size 363x72
                  text run at (186,187) width 337: "This element should have an overall padding of 25%,"
                  text run at (186,205) width 363: "which is calculated with respect to the width of the parent"
                  text run at (186,223) width 58: "element. "
                  text run at (243,223) width 289: "Both the content background and the padding"
                  text run at (186,241) width 173: "should be aqua (light blue)."
              RenderBlock {P} at (4,961) size 747x37 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x36
                  text run at (0,0) width 541: "This element should have no padding, since negative padding values are not allowed. "
                  text run at (541,0) width 183: "Both the content background"
                  text run at (0,18) width 325: "and the normal padding should be aqua (light blue)."
