layer at (0,0) size 785x1518
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1518
  RenderBlock {HTML} at (0,0) size 785x1518
    RenderBody {BODY} at (8,8) size 769x1502 [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 408x96
          text run at (0,0) width 392: ".zero {background-color: silver; padding-top: 0;}"
          text run at (392,0) width 0: " "
          text run at (0,16) width 400: ".one {padding-top: 0.5in; background-color: aqua;}"
          text run at (400,16) width 0: " "
          text run at (0,32) width 392: ".two {padding-top: 25px; background-color: aqua;}"
          text run at (392,32) width 0: " "
          text run at (0,48) width 400: ".three {padding-top: 5em; background-color: aqua;}"
          text run at (400,48) width 0: " "
          text run at (0,64) width 392: ".four {padding-top: 25%; background-color: aqua;}"
          text run at (392,64) width 0: " "
          text run at (0,80) width 408: ".five {padding-top: -20px; background-color: aqua;}"
          text run at (408,80) width 0: " "
      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 769x88 [bgcolor=#00FFFF]
        RenderText {#text} at (0,48) size 696x39
          text run at (0,48) width 597: "This element should have a top padding of half an inch, which will require extra text in order to test. "
          text run at (597,48) width 99: "Both the content"
          text run at (0,68) width 338: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,303) size 769x65 [bgcolor=#00FFFF]
        RenderText {#text} at (0,25) size 759x39
          text run at (0,25) width 584: "This element should have a top padding of 25 pixels, which will require extra text in order to test. "
          text run at (584,25) width 175: "Both the content background"
          text run at (0,45) width 262: "and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,384) size 769x120 [bgcolor=#00FFFF]
        RenderText {#text} at (0,80) size 761x39
          text run at (0,80) width 560: "This element should have a top padding of 5 em, which will require extra text in order to test. "
          text run at (560,80) width 201: "Both the content background and"
          text run at (0,100) width 236: "the padding should be aqua (light blue)."
      RenderBlock {P} at (0,520) size 769x233 [bgcolor=#00FFFF]
        RenderText {#text} at (0,192) size 747x40
          text run at (0,192) width 696: "This element should have a top padding of 25%, which is calculated with respect to the width of the parent element. "
          text run at (696,192) width 51: "Both the"
          text run at (0,212) width 390: "content background and the padding should be aqua (light blue). "
          text run at (390,212) width 251: "This will require extra text in order to test."
      RenderBlock {P} at (0,768) size 769x41 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 757x39
          text run at (0,0) width 534: "This element should have no top padding, since negative padding values are not allowed. "
          text run at (534,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,824) size 769x678 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x676
          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 767x648
            RenderTableCell {TD} at (0,337) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,3) size 4x21
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x648 [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 747x88 [bgcolor=#00FFFF]
                RenderText {#text} at (0,48) size 696x39
                  text run at (0,48) width 597: "This element should have a top padding of half an inch, which will require extra text in order to test. "
                  text run at (597,48) width 99: "Both the content"
                  text run at (0,68) width 338: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,144) size 747x65 [bgcolor=#00FFFF]
                RenderText {#text} at (0,25) size 683x39
                  text run at (0,25) width 584: "This element should have a top padding of 25 pixels, which will require extra text in order to test. "
                  text run at (584,25) width 99: "Both the content"
                  text run at (0,45) width 338: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,225) size 747x120 [bgcolor=#00FFFF]
                RenderText {#text} at (0,80) size 735x39
                  text run at (0,80) width 560: "This element should have a top padding of 5 em, which will require extra text in order to test. "
                  text run at (560,80) width 175: "Both the content background"
                  text run at (0,100) width 262: "and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,361) size 747x227 [bgcolor=#00FFFF]
                RenderText {#text} at (0,186) size 747x40
                  text run at (0,186) width 696: "This element should have a top padding of 25%, which is calculated with respect to the width of the parent element. "
                  text run at (696,186) width 51: "Both the"
                  text run at (0,206) width 390: "content background and the padding should be aqua (light blue). "
                  text run at (390,206) width 251: "This will require extra text in order to test."
              RenderBlock {P} at (4,603) size 747x41 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 735x39
                  text run at (0,0) width 534: "This element should have no top padding, since negative padding values are not allowed. "
                  text run at (534,0) width 201: "Both the content background and"
                  text run at (0,20) width 281: "the normal padding should be aqua (light blue)."
