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 (382,0) width 1: " "
          text run at (0,15) width 391: ".one {padding-top: 0.5in; background-color: aqua;}"
          text run at (390,15) width 1: " "
          text run at (0,30) width 383: ".two {padding-top: 25px; background-color: aqua;}"
          text run at (382,30) width 1: " "
          text run at (0,45) width 391: ".three {padding-top: 5em; background-color: aqua;}"
          text run at (390,45) width 1: " "
          text run at (0,60) width 383: ".four {padding-top: 25%; background-color: aqua;}"
          text run at (382,60) width 1: " "
          text run at (0,75) width 398: ".five {padding-top: -20px; background-color: aqua;}"
          text run at (397,75) width 1: " "
      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 747x37
          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,3) size 4x20
                text run at (4,4) 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,186) size 747x37
                  text run at (0,186) 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,204) width 475: "Both the content background and the padding should be aqua (light blue). "
                  text run at (475,204) 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)."
