layer at (0,0) size 785x841
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x841
  RenderBlock {HTML} at (0,0) size 785x841
    RenderBody {BODY} at (8,8) size 769x825 [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 456x90
          text run at (0,0) width 448: ".zero {background-color: silver; border-right-width: 0;}"
          text run at (448,0) width 0: " "
          text run at (0,15) width 424: ".one {border-right-width: 25px; border-style: solid;}"
          text run at (424,15) width 0: " "
          text run at (0,30) width 432: ".two {border-right-width: thick; border-style: solid;}"
          text run at (432,30) width 0: " "
          text run at (0,45) width 456: ".three {border-right-width: medium; border-style: solid;}"
          text run at (456,45) width 0: " "
          text run at (0,60) width 432: ".four {border-right-width: thin; border-style: solid;}"
          text run at (432,60) width 0: " "
          text run at (0,75) width 272: ".five {border-right-width: 100px;}"
          text run at (272,75) width 0: " "
      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 769x42 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 722x36
          text run at (3,3) width 722: "This element should have a right border width of 25 pixels, which will be more obvious if the element is more than"
          text run at (3,21) width 86: "one line long."
      RenderBlock {P} at (0,281) size 769x42 [border: (3px solid #000000) (5px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 733x36
          text run at (3,3) width 733: "This element should have a thick right border width, which will be more obvious if the element is more than one line"
          text run at (3,21) width 32: "long."
      RenderBlock {P} at (0,339) size 769x42 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 753x36
          text run at (3,3) width 753: "This element should have a medium right border width, which will be more obvious if the element is more than one line"
          text run at (3,21) width 32: "long."
      RenderBlock {P} at (0,397) size 769x24 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 762x18
          text run at (3,3) width 762: "This element should have a thin right border width, which will be more obvious if the element is more than one line long."
      RenderBlock {P} at (0,437) size 769x18
        RenderText {#text} at (0,0) size 522x18
          text run at (0,0) width 522: "This element should have no border and no extra \"padding\" on its right side, as no "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (522,2) size 96x15
            text run at (522,2) width 96: "border-style"
        RenderText {#text} at (618,0) size 54x18
          text run at (618,0) width 54: " was set."
      RenderTable {TABLE} at (0,471) size 769x354 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x352
          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 767x326
            RenderTableCell {TD} at (0,176) 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 755x326 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x18
                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 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,72) size 747x42 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 691x36
                  text run at (3,3) width 691: "This element should have a right border width of 25 pixels, which will be more obvious if the element is more"
                  text run at (3,21) width 117: "than one line long."
              RenderBlock {P} at (4,130) size 747x42 [border: (3px solid #000000) (5px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 733x36
                  text run at (3,3) width 733: "This element should have a thick right border width, which will be more obvious if the element is more than one line"
                  text run at (3,21) width 32: "long."
              RenderBlock {P} at (4,188) size 747x42 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 726x36
                  text run at (3,3) width 726: "This element should have a medium right border width, which will be more obvious if the element is more than one"
                  text run at (3,21) width 59: "line long."
              RenderBlock {P} at (4,246) size 747x42 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 726x36
                  text run at (3,3) width 726: "This element should have a thin right border width, which will be more obvious if the element is more than one line"
                  text run at (3,21) width 32: "long."
              RenderBlock {P} at (4,304) size 747x18
                RenderText {#text} at (0,0) size 522x18
                  text run at (0,0) width 522: "This element should have no border and no extra \"padding\" on its right side, as no "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (522,2) size 96x15
                    text run at (522,2) width 96: "border-style"
                RenderText {#text} at (618,0) size 54x18
                  text run at (618,0) width 54: " was set."
