layer at (0,0) size 785x759
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x759
  RenderBlock {HTML} at (0,0) size 785x759
    RenderBody {BODY} at (8,8) size 769x743 [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 440x90
          text run at (0,0) width 432: ".zero {background-color: silver; border-top-width: 0;}"
          text run at (0,15) width 408: ".one {border-top-width: 25px; border-style: solid;}"
          text run at (0,30) width 416: ".two {border-top-width: thick; border-style: solid;}"
          text run at (0,45) width 440: ".three {border-top-width: medium; border-style: solid;}"
          text run at (0,60) width 416: ".four {border-top-width: thin; border-style: solid;}"
          text run at (0,75) width 248: ".five {border-top-width: 25px;}"
      RenderBlock {HR} at (0,137) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,155) size 769x18
        RenderText {#text} at (0,0) size 157x18
          text run at (0,0) width 157: "(These will only work if "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (157,2) size 96x15
            text run at (157,2) width 96: "border-style"
        RenderText {#text} at (253,0) size 89x18
          text run at (253,0) width 89: " is supported.)"
      RenderBlock {P} at (0,189) 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,223) size 769x46 [border: (25px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,25) size 377x18
          text run at (3,25) width 377: "This paragraph should have a top border width of 25 pixels."
      RenderBlock {P} at (0,285) size 769x26 [border: (5px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,5) size 334x18
          text run at (3,5) width 334: "This paragraph should have a thick top border width."
      RenderBlock {P} at (0,327) size 769x24 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 354x18
          text run at (3,3) width 354: "This paragraph should have a medium top border width."
      RenderBlock {P} at (0,367) size 769x22 [border: (1px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,1) size 327x18
          text run at (3,1) width 327: "This paragraph should have a thin top border width."
      RenderBlock {P} at (0,405) size 769x18
        RenderText {#text} at (0,0) size 527x18
          text run at (0,0) width 527: "This paragraph should have no border and no extra \"padding\" on its top side, as no "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (527,2) size 96x15
            text run at (527,2) width 96: "border-style"
        RenderText {#text} at (623,0) size 54x18
          text run at (623,0) width 54: " was set."
      RenderTable {TABLE} at (0,439) size 699x304 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 697x302
          RenderTableRow {TR} at (0,0) size 697x26
            RenderTableCell {TD} at (0,0) size 697x26 [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 697x276
            RenderTableCell {TD} at (0,151) 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 685x276 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 677x18
                RenderText {#text} at (0,0) size 157x18
                  text run at (0,0) width 157: "(These will only work if "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (157,2) size 96x15
                    text run at (157,2) width 96: "border-style"
                RenderText {#text} at (253,0) size 89x18
                  text run at (253,0) width 89: " is supported.)"
              RenderBlock {P} at (4,38) size 677x18 [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,72) size 677x46 [border: (25px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,25) size 377x18
                  text run at (3,25) width 377: "This paragraph should have a top border width of 25 pixels."
              RenderBlock {P} at (4,134) size 677x26 [border: (5px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,5) size 334x18
                  text run at (3,5) width 334: "This paragraph should have a thick top border width."
              RenderBlock {P} at (4,176) size 677x24 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 354x18
                  text run at (3,3) width 354: "This paragraph should have a medium top border width."
              RenderBlock {P} at (4,216) size 677x22 [border: (1px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,1) size 327x18
                  text run at (3,1) width 327: "This paragraph should have a thin top border width."
              RenderBlock {P} at (4,254) size 677x18
                RenderText {#text} at (0,0) size 527x18
                  text run at (0,0) width 527: "This paragraph should have no border and no extra \"padding\" on its top side, as no "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (527,2) size 96x15
                    text run at (527,2) width 96: "border-style"
                RenderText {#text} at (623,0) size 54x18
                  text run at (623,0) width 54: " was set."
