layer at (0,0) size 785x797
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x797
  RenderBlock {HTML} at (0,0) size 785x797
    RenderBody {BODY} at (8,8) size 769x781 [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 440x96
          text run at (0,0) width 432: ".zero {background-color: silver; border-top-width: 0;}"
          text run at (0,16) width 408: ".one {border-top-width: 25px; border-style: solid;}"
          text run at (0,32) width 416: ".two {border-top-width: thick; border-style: solid;}"
          text run at (0,48) width 440: ".three {border-top-width: medium; border-style: solid;}"
          text run at (0,64) width 416: ".four {border-top-width: thin; border-style: solid;}"
          text run at (0,80) width 248: ".five {border-top-width: 25px;}"
      RenderBlock {HR} at (0,145) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,163) size 769x20
        RenderText {#text} at (0,0) size 145x19
          text run at (0,0) width 145: "(These will only work if "
        RenderInline {CODE} at (0,0) size 96x16
          RenderText {#text} at (145,3) size 96x16
            text run at (145,3) width 96: "border-style"
        RenderText {#text} at (241,0) size 87x19
          text run at (241,0) width 87: " is supported.)"
      RenderBlock {P} at (0,199) 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,235) size 769x48 [border: (25px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,25) size 360x19
          text run at (3,25) width 360: "This paragraph should have a top border width of 25 pixels."
      RenderBlock {P} at (0,299) size 769x28 [border: (5px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,5) size 319x19
          text run at (3,5) width 319: "This paragraph should have a thick top border width."
      RenderBlock {P} at (0,343) size 769x26 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 337x19
          text run at (3,3) width 337: "This paragraph should have a medium top border width."
      RenderBlock {P} at (0,385) size 769x24 [border: (1px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,1) size 311x19
          text run at (3,1) width 311: "This paragraph should have a thin top border width."
      RenderBlock {P} at (0,425) size 769x20
        RenderText {#text} at (0,0) size 502x19
          text run at (0,0) width 502: "This paragraph should have no border and no extra \"padding\" on its top side, as no "
        RenderInline {CODE} at (0,0) size 96x16
          RenderText {#text} at (502,3) size 96x16
            text run at (502,3) width 96: "border-style"
        RenderText {#text} at (598,0) size 53x19
          text run at (598,0) width 53: " was set."
      RenderTable {TABLE} at (0,461) size 673x320 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 671x318
          RenderTableRow {TR} at (0,0) size 671x28
            RenderTableCell {TD} at (0,0) size 671x28 [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 671x290
            RenderTableCell {TD} at (0,159) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 659x290 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 651x20
                RenderText {#text} at (0,0) size 145x19
                  text run at (0,0) width 145: "(These will only work if "
                RenderInline {CODE} at (0,0) size 96x16
                  RenderText {#text} at (145,3) size 96x16
                    text run at (145,3) width 96: "border-style"
                RenderText {#text} at (241,0) size 87x19
                  text run at (241,0) width 87: " is supported.)"
              RenderBlock {P} at (4,40) size 651x20 [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,76) size 651x48 [border: (25px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,25) size 360x19
                  text run at (3,25) width 360: "This paragraph should have a top border width of 25 pixels."
              RenderBlock {P} at (4,140) size 651x28 [border: (5px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,5) size 319x19
                  text run at (3,5) width 319: "This paragraph should have a thick top border width."
              RenderBlock {P} at (4,184) size 651x26 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 337x19
                  text run at (3,3) width 337: "This paragraph should have a medium top border width."
              RenderBlock {P} at (4,226) size 651x24 [border: (1px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,1) size 311x19
                  text run at (3,1) width 311: "This paragraph should have a thin top border width."
              RenderBlock {P} at (4,266) size 651x20
                RenderText {#text} at (0,0) size 502x19
                  text run at (0,0) width 502: "This paragraph should have no border and no extra \"padding\" on its top side, as no "
                RenderInline {CODE} at (0,0) size 96x16
                  RenderText {#text} at (502,3) size 96x16
                    text run at (502,3) width 96: "border-style"
                RenderText {#text} at (598,0) size 53x19
                  text run at (598,0) width 53: " was set."
