layer at (0,0) size 785x793
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x793
  RenderBlock {HTML} at (0,0) size 785x793
    RenderBody {BODY} at (8,8) size 769x777 [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 456x96
          text run at (0,0) width 448: ".zero {background-color: silver; border-right-width: 0;}"
          text run at (0,16) width 424: ".one {border-right-width: 25px; border-style: solid;}"
          text run at (0,32) width 432: ".two {border-right-width: thick; border-style: solid;}"
          text run at (0,48) width 456: ".three {border-right-width: medium; border-style: solid;}"
          text run at (0,64) width 432: ".four {border-right-width: thin; border-style: solid;}"
          text run at (0,80) width 272: ".five {border-right-width: 100px;}"
      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 769x46 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 729x39
          text run at (3,3) width 729: "This element should have a right border width of 25 pixels, which will be more obvious if the element is more than one line"
          text run at (3,23) width 29: "long."
      RenderBlock {P} at (0,297) size 769x26 [border: (3px solid #000000) (5px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 721x19
          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 line long."
      RenderBlock {P} at (0,339) size 769x26 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 739x19
          text run at (3,3) width 739: "This element should have a medium right border width, which will be more obvious if the element is more than one line long."
      RenderBlock {P} at (0,381) size 769x26 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 713x19
          text run at (3,3) width 713: "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,423) size 769x20
        RenderText {#text} at (0,0) size 493x19
          text run at (0,0) width 493: "This element should have no border and no extra \"padding\" on its right side, as no "
        RenderInline {CODE} at (0,0) size 96x16
          RenderText {#text} at (493,3) size 96x16
            text run at (493,3) width 96: "border-style"
        RenderText {#text} at (589,0) size 53x19
          text run at (589,0) width 53: " was set."
      RenderTable {TABLE} at (0,459) size 769x318 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x316
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [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 767x288
            RenderTableCell {TD} at (0,158) 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 755x288 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x20
                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 747x20 [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 747x46 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 705x39
                  text run at (3,3) width 705: "This element should have a right border width of 25 pixels, which will be more obvious if the element is more than one"
                  text run at (3,23) width 53: "line long."
              RenderBlock {P} at (4,138) size 747x26 [border: (3px solid #000000) (5px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 721x19
                  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 line long."
              RenderBlock {P} at (4,180) size 747x26 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 739x19
                  text run at (3,3) width 739: "This element should have a medium right border width, which will be more obvious if the element is more than one line long."
              RenderBlock {P} at (4,222) size 747x26 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 713x19
                  text run at (3,3) width 713: "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 (4,264) size 747x20
                RenderText {#text} at (0,0) size 493x19
                  text run at (0,0) width 493: "This element should have no border and no extra \"padding\" on its right side, as no "
                RenderInline {CODE} at (0,0) size 96x16
                  RenderText {#text} at (493,3) size 96x16
                    text run at (493,3) width 96: "border-style"
                RenderText {#text} at (589,0) size 53x19
                  text run at (589,0) width 53: " was set."
