layer at (0,0) size 800x1606
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1606
  RenderBlock {HTML} at (0,0) size 800x1606
    RenderBody {BODY} at (8,8) size 784x1590 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x20
        RenderText {#text} at (0,0) size 363x19
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x84
        RenderText {#text} at (0,0) size 422x84
          text run at (0,0) width 406: ".zero {background-color: silver; padding-bottom: 0;}"
          text run at (405,0) width 1: " "
          text run at (0,14) width 414: ".one {padding-bottom: 0.5in; background-color: aqua;}"
          text run at (413,14) width 1: " "
          text run at (0,28) width 406: ".two {padding-bottom: 25px; background-color: aqua;}"
          text run at (405,28) width 1: " "
          text run at (0,42) width 414: ".three {padding-bottom: 5em; background-color: aqua;}"
          text run at (413,42) width 1: " "
          text run at (0,56) width 406: ".four {padding-bottom: 25%; background-color: aqua;}"
          text run at (405,56) width 1: " "
          text run at (0,70) width 422: ".five {padding-bottom: -20px; background-color: aqua;}"
          text run at (421,70) width 1: " "
      RenderBlock {HR} at (0,133) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,151) size 784x20 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 208x19
          text run at (0,0) width 208: "This element has a class of zero."
      RenderBlock {P} at (0,187) size 784x88 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 777x39
          text run at (0,0) width 671: "This element should have a bottom padding of half an inch, which will require extra text in order to test. "
          text run at (670,0) width 107: "Both the content"
          text run at (0,20) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,291) size 784x65 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 760x39
          text run at (0,0) width 654: "This element should have a bottom padding of 25 pixels, which will require extra text in order to test. "
          text run at (653,0) width 107: "Both the content"
          text run at (0,20) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,372) size 784x120 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 733x39
          text run at (0,0) width 627: "This element should have a bottom padding of 5 em, which will require extra text in order to test. "
          text run at (626,0) width 107: "Both the content"
          text run at (0,20) width 362: "background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,508) size 784x236 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 767x39
          text run at (0,0) width 767: "This element should have a bottom padding of 25%, which is calculated with respect to the width of the parent element."
          text run at (0,20) width 276: "This will require extra text in order to test. "
          text run at (275,20) width 472: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,760) size 784x20 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 208x19
          text run at (0,0) width 208: "This element has a class of zero."
      RenderBlock {P} at (0,796) size 784x40 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 705x39
          text run at (0,0) width 599: "This element should have no bottom padding, since negative padding values are not allowed. "
          text run at (598,0) width 107: "Both the content"
          text run at (0,20) width 411: "background and the normal padding should be aqua (light blue)."
      RenderTable {TABLE} at (0,852) size 784x738 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x736
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (4,4) size 161x19
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x708
            RenderTableCell {TD} at (0,367) 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 770x708 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x20 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 208x19
                  text run at (0,0) width 208: "This element has a class of zero."
              RenderBlock {P} at (4,40) size 762x88 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 726x39
                  text run at (0,0) width 671: "This element should have a bottom padding of half an inch, which will require extra text in order to test. "
                  text run at (670,0) width 56: "Both the"
                  text run at (0,20) width 413: "content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,144) size 762x65 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 760x39
                  text run at (0,0) width 654: "This element should have a bottom padding of 25 pixels, which will require extra text in order to test. "
                  text run at (653,0) width 107: "Both the content"
                  text run at (0,20) width 362: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,225) size 762x120 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 733x39
                  text run at (0,0) width 627: "This element should have a bottom padding of 5 em, which will require extra text in order to test. "
                  text run at (626,0) width 107: "Both the content"
                  text run at (0,20) width 362: "background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,361) size 762x251 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 726x59
                  text run at (0,0) width 709: "This element should have a bottom padding of 25%, which is calculated with respect to the width of the parent"
                  text run at (0,20) width 59: "element. "
                  text run at (58,20) width 277: "This will require extra text in order to test. "
                  text run at (334,20) width 392: "Both the content background and the padding should be aqua"
                  text run at (0,40) width 76: "(light blue)."
              RenderBlock {P} at (4,627) size 762x21 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 208x19
                  text run at (0,0) width 208: "This element has a class of zero."
              RenderBlock {P} at (4,663) size 762x41 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 705x39
                  text run at (0,0) width 599: "This element should have no bottom padding, since negative padding values are not allowed. "
                  text run at (598,0) width 107: "Both the content"
                  text run at (0,20) width 411: "background and the normal padding should be aqua (light blue)."
