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 448x96
          text run at (0,0) width 440: ".zero {background-color: silver; border-left-width: 0;}"
          text run at (0,16) width 416: ".one {border-left-width: 50px; border-style: solid;}"
          text run at (0,32) width 424: ".two {border-left-width: thick; border-style: solid;}"
          text run at (0,48) width 448: ".three {border-left-width: medium; border-style: solid;}"
          text run at (0,64) width 424: ".four {border-left-width: thin; border-style: solid;}"
          text run at (0,80) width 256: ".five {border-left-width: 25px;}"
      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) (50px solid #000000)]
        RenderText {#text} at (50,3) size 697x39
          text run at (50,3) width 697: "This element should have a left border width of 50 pixels, which will be more obvious if the element is more than one"
          text run at (50,23) width 53: "line long."
      RenderBlock {P} at (0,297) size 769x26 [border: (3px solid #000000) (5px solid #000000)]
        RenderText {#text} at (5,3) size 713x19
          text run at (5,3) width 713: "This element should have a thick left 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 731x19
          text run at (3,3) width 731: "This element should have a medium left 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)]
        RenderText {#text} at (1,3) size 705x19
          text run at (1,3) width 705: "This element should have a thin left 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 485x19
          text run at (0,0) width 485: "This element should have no border and no extra \"padding\" on its left side, as no "
        RenderInline {CODE} at (0,0) size 96x16
          RenderText {#text} at (485,3) size 96x16
            text run at (485,3) width 96: "border-style"
        RenderText {#text} at (581,0) size 53x19
          text run at (581,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) (50px solid #000000)]
                RenderText {#text} at (50,3) size 671x39
                  text run at (50,3) width 671: "This element should have a left border width of 50 pixels, which will be more obvious if the element is more than"
                  text run at (50,23) width 79: "one line long."
              RenderBlock {P} at (4,138) size 747x26 [border: (3px solid #000000) (5px solid #000000)]
                RenderText {#text} at (5,3) size 713x19
                  text run at (5,3) width 713: "This element should have a thick left 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 731x19
                  text run at (3,3) width 731: "This element should have a medium left 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)]
                RenderText {#text} at (1,3) size 705x19
                  text run at (1,3) width 705: "This element should have a thin left 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 485x19
                  text run at (0,0) width 485: "This element should have no border and no extra \"padding\" on its left side, as no "
                RenderInline {CODE} at (0,0) size 96x16
                  RenderText {#text} at (485,3) size 96x16
                    text run at (485,3) width 96: "border-style"
                RenderText {#text} at (581,0) size 53x19
                  text run at (581,0) width 53: " was set."
