layer at (0,0) size 785x2221
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2221
  RenderBlock {HTML} at (0,0) size 785x2221
    RenderBody {BODY} at (8,8) size 769x2205 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x90
        RenderText {#text} at (0,0) size 376x90
          text run at (0,0) width 360: ".zero {background-color: silver; padding: 0;}"
          text run at (360,0) width 0: " "
          text run at (0,15) width 368: ".one {padding: 0.5in; background-color: aqua;}"
          text run at (368,15) width 0: " "
          text run at (0,30) width 360: ".two {padding: 25px; background-color: aqua;}"
          text run at (360,30) width 0: " "
          text run at (0,45) width 368: ".three {padding: 5em; background-color: aqua;}"
          text run at (368,45) width 0: " "
          text run at (0,60) width 360: ".four {padding: 25%; background-color: aqua;}"
          text run at (360,60) width 0: " "
          text run at (0,75) width 376: ".five {padding: -20px; background-color: aqua;}"
          text run at (376,75) width 0: " "
      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 203x17
          text run at (0,0) width 203: "This element has a class of zero."
      RenderBlock {P} at (0,189) size 769x132 [bgcolor=#00FFFF]
        RenderText {#text} at (48,48) size 660x35
          text run at (48,48) width 660: "This element should have an overall padding of half an inch, which will require extra text in order to test."
          text run at (48,66) width 464: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,337) size 769x86 [bgcolor=#00FFFF]
        RenderText {#text} at (25,25) size 701x35
          text run at (25,25) width 647: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
          text run at (672,25) width 54: "Both the"
          text run at (25,43) width 406: "content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,439) size 769x196 [bgcolor=#00FFFF]
        RenderText {#text} at (80,80) size 588x35
          text run at (80,80) width 588: "This element should have an overall padding of 5 em, which will require extra text in order to"
          text run at (80,98) width 29: "test. "
          text run at (109,98) width 464: "Both the content background and the padding should be aqua (light blue)."
      RenderBlock {P} at (0,651) size 769x457 [bgcolor=#00FFFF]
        RenderText {#text} at (192,192) size 380x71
          text run at (192,192) width 380: "This element should have an overall padding of 25%, which"
          text run at (192,210) width 377: "is calculated with respect to the width of the parent element."
          text run at (192,228) width 354: "Both the content background and the padding should be"
          text run at (192,246) width 108: "aqua (light blue)."
      RenderBlock {P} at (0,1123) size 769x37 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x35
          text run at (0,0) width 541: "This element should have no padding, since negative padding values are not allowed. "
          text run at (541,0) width 210: "Both the content background and"
          text run at (0,18) width 298: "the normal padding should be aqua (light blue)."
      RenderTable {TABLE} at (0,1175) size 769x1030 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1028
          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 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x1002
            RenderTableCell {TD} at (0,513) size 12x27 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x1002 [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 203x17
                  text run at (0,0) width 203: "This element has a class of zero."
              RenderBlock {P} at (4,38) size 747x132 [bgcolor=#00FFFF]
                RenderText {#text} at (48,48) size 631x35
                  text run at (48,48) width 631: "This element should have an overall padding of half an inch, which will require extra text in order to"
                  text run at (48,66) width 29: "test. "
                  text run at (77,66) width 464: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,186) size 747x86 [bgcolor=#00FFFF]
                RenderText {#text} at (25,25) size 678x35
                  text run at (25,25) width 647: "This element should have an overall padding of 25 pixels, which will require extra text in order to test. "
                  text run at (672,25) width 31: "Both"
                  text run at (25,43) width 429: "the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,288) size 747x196 [bgcolor=#00FFFF]
                RenderText {#text} at (80,80) size 572x35
                  text run at (80,80) width 572: "This element should have an overall padding of 5 em, which will require extra text in order"
                  text run at (80,98) width 45: "to test. "
                  text run at (125,98) width 464: "Both the content background and the padding should be aqua (light blue)."
              RenderBlock {P} at (4,500) size 747x446 [bgcolor=#00FFFF]
                RenderText {#text} at (186,187) size 363x71
                  text run at (186,187) width 337: "This element should have an overall padding of 25%,"
                  text run at (186,205) width 363: "which is calculated with respect to the width of the parent"
                  text run at (186,223) width 58: "element. "
                  text run at (243,223) width 289: "Both the content background and the padding"
                  text run at (186,241) width 173: "should be aqua (light blue)."
              RenderBlock {P} at (4,961) size 747x37 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 724x35
                  text run at (0,0) width 541: "This element should have no padding, since negative padding values are not allowed. "
                  text run at (541,0) width 183: "Both the content background"
                  text run at (0,18) width 325: "and the normal padding should be aqua (light blue)."
