layer at (0,0) size 785x2283
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2283
  RenderBlock {HTML} at (0,0) size 785x2283
    RenderBody {BODY} at (8,8) size 769x2267 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x96
        RenderText {#text} at (0,0) size 376x96
          text run at (0,0) width 360: ".zero {background-color: silver; padding: 0;}"
          text run at (0,16) width 368: ".one {padding: 0.5in; background-color: aqua;}"
          text run at (0,32) width 360: ".two {padding: 25px; background-color: aqua;}"
          text run at (0,48) width 368: ".three {padding: 5em; background-color: aqua;}"
          text run at (0,64) width 360: ".four {padding: 25%; background-color: aqua;}"
          text run at (0,80) width 376: ".five {padding: -20px; background-color: aqua;}"
      RenderBlock {HR} at (0,145) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,163) size 769x20 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 193x19
          text run at (0,0) width 193: "This element has a class of zero."
      RenderBlock {P} at (0,199) size 769x136 [bgcolor=#00FFFF]
        RenderText {#text} at (48,48) size 653x39
          text run at (48,48) width 624: "This element should have an overall padding of half an inch, which will require extra text in order to test. "
          text run at (672,48) width 29: "Both"
          text run at (48,68) width 408: "the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,351) size 769x90 [bgcolor=#00FFFF]
        RenderText {#text} at (25,25) size 710x39
          text run at (25,25) width 611: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
          text run at (636,25) width 99: "Both the content"
          text run at (25,45) width 338: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,457) size 769x200 [bgcolor=#00FFFF]
        RenderText {#text} at (80,80) size 583x39
          text run at (80,80) width 583: "This element should have an overall padding of 5 em, which will require extra text in order to test."
          text run at (80,100) width 441: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,673) size 769x465 [bgcolor=#00FFFF]
        RenderText {#text} at (192,192) size 380x79
          text run at (192,192) width 370: "This element should have an overall padding of 25%, which is"
          text run at (192,212) width 351: "calculated with respect to the width of the parent element. "
          text run at (542,212) width 30: "Both"
          text run at (192,232) width 371: "the content background and the padding should be aqua (light"
          text run at (192,252) width 35: "blue)."
      RenderBlock {P} at (0,1153) size 769x41 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 733x39
          text run at (0,0) width 510: "This element should have no padding, since negative padding values are not allowed. "
          text run at (510,0) width 223: "Both the content background and the"
          text run at (0,20) width 259: "normal padding should be aqua (light blue)."
      RenderTable {TABLE} at (0,1209) size 769x1058 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1056
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x1028
            RenderTableCell {TD} at (0,527) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x20
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x1028 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x20 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 193x19
                  text run at (0,0) width 193: "This element has a class of zero."
              RenderBlock {P} at (4,40) size 747x136 [bgcolor=#00FFFF]
                RenderText {#text} at (48,48) size 620x39
                  text run at (48,48) width 620: "This element should have an overall padding of half an inch, which will require extra text in order to test."
                  text run at (48,68) width 441: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,192) size 747x90 [bgcolor=#00FFFF]
                RenderText {#text} at (25,25) size 662x39
                  text run at (25,25) width 611: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
                  text run at (636,25) width 51: "Both the"
                  text run at (25,45) width 386: "content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,298) size 747x200 [bgcolor=#00FFFF]
                RenderText {#text} at (80,80) size 583x39
                  text run at (80,80) width 583: "This element should have an overall padding of 5 em, which will require extra text in order to test."
                  text run at (80,100) width 441: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,514) size 747x454 [bgcolor=#00FFFF]
                RenderText {#text} at (186,187) size 371x79
                  text run at (186,187) width 370: "This element should have an overall padding of 25%, which is"
                  text run at (186,207) width 347: "calculated with respect to the width of the parent element."
                  text run at (186,227) width 371: "Both the content background and the padding should be aqua"
                  text run at (186,247) width 68: "(light blue)."
              RenderBlock {P} at (4,983) size 747x41 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 733x39
                  text run at (0,0) width 510: "This element should have no padding, since negative padding values are not allowed. "
                  text run at (510,0) width 223: "Both the content background and the"
                  text run at (0,20) width 259: "normal padding should be aqua (light blue)."
