layer at (0,0) size 785x859
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x859
  RenderBlock {HTML} at (0,0) size 785x859
    RenderBody {BODY} at (8,8) size 769x843 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x90
        RenderText {#text} at (0,0) size 445x90
          text run at (0,0) width 437: ".zero {background-color: silver; border-right-width: 0;}"
          text run at (436,0) width 1: " "
          text run at (0,15) width 414: ".one {border-right-width: 25px; border-style: solid;}"
          text run at (413,15) width 1: " "
          text run at (0,30) width 422: ".two {border-right-width: thick; border-style: solid;}"
          text run at (421,30) width 1: " "
          text run at (0,45) width 445: ".three {border-right-width: medium; border-style: solid;}"
          text run at (444,45) width 1: " "
          text run at (0,60) width 422: ".four {border-right-width: thin; border-style: solid;}"
          text run at (421,60) width 1: " "
          text run at (0,75) width 266: ".five {border-right-width: 100px;}"
          text run at (265,75) width 1: " "
      RenderBlock {HR} at (0,137) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,155) size 769x18
        RenderText {#text} at (0,0) size 160x18
          text run at (0,0) width 160: "(These will only work if "
        RenderInline {CODE} at (0,0) size 95x15
          RenderText {#text} at (159,2) size 95x15
            text run at (159,2) width 95: "border-style"
        RenderText {#text} at (253,0) size 92x18
          text run at (253,0) width 92: " is supported.)"
      RenderBlock {P} at (0,189) size 769x18 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 208x18
          text run at (0,0) width 208: "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 737x36
          text run at (3,3) width 737: "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 88: "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 749x36
          text run at (3,3) width 749: "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 33: "long."
      RenderBlock {P} at (0,339) size 769x42 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 741x36
          text run at (3,3) width 741: "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 61: "line long."
      RenderBlock {P} at (0,397) size 769x42 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 742x36
          text run at (3,3) width 742: "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 33: "long."
      RenderBlock {P} at (0,455) size 769x18
        RenderText {#text} at (0,0) size 530x18
          text run at (0,0) width 530: "This element should have no border and no extra \"padding\" on its right side, as no "
        RenderInline {CODE} at (0,0) size 95x15
          RenderText {#text} at (529,2) size 95x15
            text run at (529,2) width 95: "border-style"
        RenderText {#text} at (623,0) size 56x18
          text run at (623,0) width 56: " was set."
      RenderTable {TABLE} at (0,489) 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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "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 160x18
                  text run at (0,0) width 160: "(These will only work if "
                RenderInline {CODE} at (0,0) size 95x15
                  RenderText {#text} at (159,2) size 95x15
                    text run at (159,2) width 95: "border-style"
                RenderText {#text} at (253,0) size 92x18
                  text run at (253,0) width 92: " is supported.)"
              RenderBlock {P} at (4,38) size 747x18 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 208x18
                  text run at (0,0) width 208: "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 706x36
                  text run at (3,3) width 706: "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 120: "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 721x36
                  text run at (3,3) width 721: "This element should have a thick right border width, which will be more obvious if the element is more than one"
                  text run at (3,21) width 61: "line long."
              RenderBlock {P} at (4,188) size 747x42 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 741x36
                  text run at (3,3) width 741: "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 61: "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 742x36
                  text run at (3,3) width 742: "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 33: "long."
              RenderBlock {P} at (4,304) size 747x18
                RenderText {#text} at (0,0) size 530x18
                  text run at (0,0) width 530: "This element should have no border and no extra \"padding\" on its right side, as no "
                RenderInline {CODE} at (0,0) size 95x15
                  RenderText {#text} at (529,2) size 95x15
                    text run at (529,2) width 95: "border-style"
                RenderText {#text} at (623,0) size 56x18
                  text run at (623,0) width 56: " was set."
