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