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 (448,0) width 0: " "
          text run at (0,16) width 424: ".one {border-right-width: 25px; border-style: solid;}"
          text run at (424,16) width 0: " "
          text run at (0,32) width 432: ".two {border-right-width: thick; border-style: solid;}"
          text run at (432,32) width 0: " "
          text run at (0,48) width 456: ".three {border-right-width: medium; border-style: solid;}"
          text run at (456,48) width 0: " "
          text run at (0,64) width 432: ".four {border-right-width: thin; border-style: solid;}"
          text run at (432,64) width 0: " "
          text run at (0,80) width 272: ".five {border-right-width: 100px;}"
          text run at (272,80) width 0: " "
      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."
