layer at (0,0) size 785x1464
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1464
  RenderBlock {HTML} at (0,0) size 785x1464
    RenderBody {BODY} at (8,8) size 769x1448 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x90
        RenderText {#text} at (0,0) size 398x90
          text run at (0,0) width 383: ".zero {background-color: silver; padding-top: 0;}"
          text run at (0,15) width 391: ".one {padding-top: 0.5in; background-color: aqua;}"
          text run at (0,30) width 383: ".two {padding-top: 25px; background-color: aqua;}"
          text run at (0,45) width 391: ".three {padding-top: 5em; background-color: aqua;}"
          text run at (0,60) width 383: ".four {padding-top: 25%; background-color: aqua;}"
          text run at (0,75) width 398: ".five {padding-top: -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 208x18
          text run at (0,0) width 208: "This element has a class of zero."
      RenderBlock {P} at (0,189) size 769x84 [bgcolor=#00FFFF]
        RenderText {#text} at (0,48) size 752x36
          text run at (0,48) width 647: "This element should have a top padding of half an inch, which will require extra text in order to test. "
          text run at (646,48) width 106: "Both the content"
          text run at (0,66) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,289) size 769x61 [bgcolor=#00FFFF]
        RenderText {#text} at (0,25) size 735x36
          text run at (0,25) width 629: "This element should have a top padding of 25 pixels, which will require extra text in order to test. "
          text run at (628,25) width 107: "Both the content"
          text run at (0,43) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,366) size 769x116 [bgcolor=#00FFFF]
        RenderText {#text} at (0,80) size 708x36
          text run at (0,80) width 603: "This element should have a top padding of 5 em, which will require extra text in order to test. "
          text run at (602,80) width 106: "Both the content"
          text run at (0,98) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,498) size 769x229 [bgcolor=#00FFFF]
        RenderText {#text} at (0,192) size 747x36
          text run at (0,192) width 743: "This element should have a top padding of 25%, which is calculated with respect to the width of the parent element."
          text run at (0,210) width 475: "Both the content background and the padding should be aqua (light blue). "
          text run at (475,210) width 272: "This will require extra text in order to test."
      RenderBlock {P} at (0,742) size 769x37 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 760x36
          text run at (0,0) width 575: "This element should have no top padding, since negative padding values are not allowed. "
          text run at (574,0) width 186: "Both the content background"
          text run at (0,18) width 332: "and the normal padding should be aqua (light blue)."
      RenderTable {TABLE} at (0,794) size 769x654 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x652
          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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x626
            RenderTableCell {TD} at (0,325) 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 755x626 [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 208x18
                  text run at (0,0) width 208: "This element has a class of zero."
              RenderBlock {P} at (4,38) size 747x84 [bgcolor=#00FFFF]
                RenderText {#text} at (0,48) size 701x36
                  text run at (0,48) width 647: "This element should have a top padding of half an inch, which will require extra text in order to test. "
                  text run at (646,48) width 55: "Both the"
                  text run at (0,66) width 413: "content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,138) size 747x61 [bgcolor=#00FFFF]
                RenderText {#text} at (0,25) size 735x36
                  text run at (0,25) width 629: "This element should have a top padding of 25 pixels, which will require extra text in order to test. "
                  text run at (628,25) width 107: "Both the content"
                  text run at (0,43) width 362: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,215) size 747x116 [bgcolor=#00FFFF]
                RenderText {#text} at (0,80) size 708x36
                  text run at (0,80) width 603: "This element should have a top padding of 5 em, which will require extra text in order to test. "
                  text run at (602,80) width 106: "Both the content"
                  text run at (0,98) width 362: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,347) size 747x223 [bgcolor=#00FFFF]
                RenderText {#text} at (0,187) size 747x36
                  text run at (0,187) width 743: "This element should have a top padding of 25%, which is calculated with respect to the width of the parent element."
                  text run at (0,205) width 475: "Both the content background and the padding should be aqua (light blue). "
                  text run at (475,205) width 272: "This will require extra text in order to test."
              RenderBlock {P} at (4,585) size 747x37 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 680x36
                  text run at (0,0) width 575: "This element should have no top padding, since negative padding values are not allowed. "
                  text run at (574,0) width 106: "Both the content"
                  text run at (0,18) width 411: "background and the normal padding should be aqua (light blue)."
