layer at (0,0) size 785x1153
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1153
  RenderBlock {HTML} at (0,0) size 785x1153
    RenderBody {BODY} at (8,8) size 769x1137 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x18
          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 576x90
          text run at (0,0) width 408: ".zero {background-color: silver; padding-right: 0;}"
          text run at (408,0) width 0: " "
          text run at (0,15) width 568: ".one {padding-right: 0.5in; text-align: right; background-color: aqua;}"
          text run at (568,15) width 0: " "
          text run at (0,30) width 560: ".two {padding-right: 25px; text-align: right; background-color: aqua;}"
          text run at (560,30) width 0: " "
          text run at (0,45) width 568: ".three {padding-right: 5em; text-align: right; background-color: aqua;}"
          text run at (568,45) width 0: " "
          text run at (0,60) width 560: ".four {padding-right: 25%; text-align: right; background-color: aqua;}"
          text run at (560,60) width 0: " "
          text run at (0,75) width 576: ".five {padding-right: -20px; text-align: right; background-color: aqua;}"
          text run at (576,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 203x18
          text run at (0,0) width 203: "This element has a class of zero."
      RenderBlock {P} at (0,189) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (25,0) size 712x54
          text run at (25,0) width 642: "This element should have a right padding of half an inch, which will require extra text in order to test. "
          text run at (667,0) width 54: "Both the"
          text run at (9,18) width 410: "content background and the padding should be aqua (light blue). "
          text run at (419,18) width 302: "The text has been right-aligned in order to make"
          text run at (530,36) width 191: "the right padding easier to see."
      RenderBlock {P} at (0,259) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (15,0) size 729x54
          text run at (15,0) width 625: "This element should have a right padding of 25 pixels, which will require extra text in order to test. "
          text run at (640,0) width 104: "Both the content"
          text run at (26,18) width 360: "background and the padding should be aqua (light blue). "
          text run at (386,18) width 358: "The text has been right-aligned in order to make the right"
          text run at (609,36) width 135: "padding easier to see."
      RenderBlock {P} at (0,329) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (36,0) size 674x54
          text run at (36,0) width 599: "This element should have a right padding of 5 em, which will require extra text in order to test. "
          text run at (635,0) width 54: "Both the"
          text run at (15,18) width 410: "content background and the padding should be aqua (light blue). "
          text run at (425,18) width 264: "The text has been right-aligned in order to"
          text run at (460,36) width 229: "make the right padding easier to see."
      RenderBlock {P} at (0,399) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (19,0) size 575x54
          text run at (19,0) width 558: "This element should have a right padding of 25%, which is calculated with respect to the"
          text run at (9,18) width 181: "width of the parent element. "
          text run at (189,18) width 388: "Both the content background and the padding should be aqua"
          text run at (2,36) width 78: "(light blue). "
          text run at (79,36) width 498: "The text has been right-aligned in order to make the right padding easier to see."
      RenderBlock {UL} at (0,469) size 769x72 [bgcolor=#808080]
        RenderListItem {LI} at (40,0) size 704x36
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (7,0) size 697x36
            text run at (7,0) width 697: "The right padding on this unordered list has been set to 25 pixels, which will require some extra text in order to"
            text run at (679,18) width 25: "test."
        RenderListItem {LI} at (40,36) size 704x36 [bgcolor=#FFFFFF]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (19,0) size 660x36
            text run at (19,0) width 660: "This list item has a right padding of 25 pixels, which will appear to the left of the gray padding of the UL"
            text run at (626,18) width 53: "element."
      RenderBlock {P} at (0,557) size 769x54 [bgcolor=#00FFFF]
        RenderText {#text} at (12,0) size 757x54
          text run at (12,0) width 574: "This element should have no right padding, since negative padding values are not allowed. "
          text run at (586,0) width 183: "Both the content background"
          text run at (35,18) width 329: "and the normal padding should be aqua (light blue). "
          text run at (364,18) width 405: "The text has been right-aligned in order to make the lack of right"
          text run at (634,36) width 135: "padding easier to see."
      RenderTable {TABLE} at (0,627) size 769x510 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x508
          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 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x482
            RenderTableCell {TD} at (0,254) size 12x26 [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,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x482 [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 203x18
                  text run at (0,0) width 203: "This element has a class of zero."
              RenderBlock {P} at (4,38) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (3,0) size 696x54
                  text run at (3,0) width 642: "This element should have a right padding of half an inch, which will require extra text in order to test. "
                  text run at (645,0) width 54: "Both the"
                  text run at (25,18) width 410: "content background and the padding should be aqua (light blue). "
                  text run at (435,18) width 264: "The text has been right-aligned in order to"
                  text run at (470,36) width 229: "make the right padding easier to see."
              RenderBlock {P} at (4,108) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (43,0) size 712x54
                  text run at (43,0) width 625: "This element should have a right padding of 25 pixels, which will require extra text in order to test. "
                  text run at (668,0) width 54: "Both the"
                  text run at (10,18) width 410: "content background and the padding should be aqua (light blue). "
                  text run at (420,18) width 302: "The text has been right-aligned in order to make"
                  text run at (531,36) width 191: "the right padding easier to see."
              RenderBlock {P} at (4,178) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (14,0) size 658x54
                  text run at (14,0) width 599: "This element should have a right padding of 5 em, which will require extra text in order to test. "
                  text run at (613,0) width 54: "Both the"
                  text run at (9,18) width 410: "content background and the padding should be aqua (light blue). "
                  text run at (419,18) width 248: "The text has been right-aligned in order"
                  text run at (422,36) width 245: "to make the right padding easier to see."
              RenderBlock {P} at (4,248) size 747x72 [bgcolor=#00FFFF]
                RenderText {#text} at (3,0) size 558x72
                  text run at (3,0) width 558: "This element should have a right padding of 25%, which is calculated with respect to the"
                  text run at (27,18) width 181: "width of the parent element. "
                  text run at (207,18) width 354: "Both the content background and the padding should be"
                  text run at (36,36) width 112: "aqua (light blue). "
                  text run at (147,36) width 414: "The text has been right-aligned in order to make the right padding"
                  text run at (480,54) width 81: "easier to see."
              RenderBlock {UL} at (4,336) size 747x72 [bgcolor=#808080]
                RenderListItem {LI} at (40,0) size 682x36
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (1,0) size 681x36
                    text run at (1,0) width 681: "The right padding on this unordered list has been set to 25 pixels, which will require some extra text in order"
                    text run at (641,18) width 41: "to test."
                RenderListItem {LI} at (40,36) size 682x36 [bgcolor=#FFFFFF]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (23,0) size 634x36
                    text run at (23,0) width 634: "This list item has a right padding of 25 pixels, which will appear to the left of the gray padding of the"
                    text run at (578,18) width 79: "UL element."
              RenderBlock {P} at (4,424) size 747x54 [bgcolor=#00FFFF]
                RenderText {#text} at (69,0) size 733x54
                  text run at (69,0) width 574: "This element should have no right padding, since negative padding values are not allowed. "
                  text run at (643,0) width 104: "Both the content"
                  text run at (14,18) width 408: "background and the normal padding should be aqua (light blue). "
                  text run at (422,18) width 325: "The text has been right-aligned in order to make the"
                  text run at (532,36) width 215: "lack of right padding easier to see."
