layer at (0,0) size 785x823
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x823
  RenderBlock {HTML} at (0,0) size 785x823
    RenderBody {BODY} at (8,8) size 769x807 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x90
        RenderText {#text} at (0,0) size 448x90
          text run at (0,0) width 440: ".zero {background-color: silver; border-left-width: 0;}"
          text run at (0,15) width 416: ".one {border-left-width: 50px; border-style: solid;}"
          text run at (0,30) width 424: ".two {border-left-width: thick; border-style: solid;}"
          text run at (0,45) width 448: ".three {border-left-width: medium; border-style: solid;}"
          text run at (0,60) width 424: ".four {border-left-width: thin; border-style: solid;}"
          text run at (0,75) width 256: ".five {border-left-width: 25px;}"
      RenderBlock {HR} at (0,137) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,155) size 769x18
        RenderText {#text} at (0,0) size 157x17
          text run at (0,0) width 157: "(These will only work if "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (157,3) size 96x15
            text run at (157,3) width 96: "border-style"
        RenderText {#text} at (253,0) size 89x17
          text run at (253,0) width 89: " is supported.)"
      RenderBlock {P} at (0,189) size 769x18 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 203x17
          text run at (0,0) width 203: "This element has a class of zero."
      RenderBlock {P} at (0,223) size 769x42 [border: (3px solid #000000) (50px solid #000000)]
        RenderText {#text} at (50,3) size 713x35
          text run at (50,3) width 713: "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,21) width 86: "one line long."
      RenderBlock {P} at (0,281) size 769x24 [border: (3px solid #000000) (5px solid #000000)]
        RenderText {#text} at (5,3) size 760x17
          text run at (5,3) width 760: "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,321) size 769x42 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 744x35
          text run at (3,3) width 744: "This element should have a medium left border width, which will be more obvious if the element is more than one line"
          text run at (3,21) width 32: "long."
      RenderBlock {P} at (0,379) size 769x24 [border: (3px solid #000000) (1px solid #000000)]
        RenderText {#text} at (1,3) size 753x17
          text run at (1,3) width 753: "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,419) size 769x18
        RenderText {#text} at (0,0) size 513x17
          text run at (0,0) width 513: "This element should have no border and no extra \"padding\" on its left side, as no "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (513,3) size 96x15
            text run at (513,3) width 96: "border-style"
        RenderText {#text} at (609,0) size 54x17
          text run at (609,0) width 54: " was set."
      RenderTable {TABLE} at (0,453) 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 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "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 4x17
                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 157x17
                  text run at (0,0) width 157: "(These will only work if "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (157,3) size 96x15
                    text run at (157,3) width 96: "border-style"
                RenderText {#text} at (253,0) size 89x17
                  text run at (253,0) width 89: " is supported.)"
              RenderBlock {P} at (4,38) size 747x18 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 203x17
                  text run at (0,0) width 203: "This element has a class of zero."
              RenderBlock {P} at (4,72) size 747x42 [border: (3px solid #000000) (50px solid #000000)]
                RenderText {#text} at (50,3) size 682x35
                  text run at (50,3) width 682: "This element should have a left border width of 50 pixels, which will be more obvious if the element is more"
                  text run at (50,21) width 117: "than one line long."
              RenderBlock {P} at (4,130) size 747x42 [border: (3px solid #000000) (5px solid #000000)]
                RenderText {#text} at (5,3) size 724x35
                  text run at (5,3) width 724: "This element should have a thick left border width, which will be more obvious if the element is more than one line"
                  text run at (5,21) width 32: "long."
              RenderBlock {P} at (4,188) size 747x42 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 717x35
                  text run at (3,3) width 717: "This element should have a medium left border width, which will be more obvious if the element is more than one"
                  text run at (3,21) width 59: "line long."
              RenderBlock {P} at (4,246) size 747x42 [border: (3px solid #000000) (1px solid #000000)]
                RenderText {#text} at (1,3) size 717x35
                  text run at (1,3) width 717: "This element should have a thin left border width, which will be more obvious if the element is more than one line"
                  text run at (1,21) width 32: "long."
              RenderBlock {P} at (4,304) size 747x18
                RenderText {#text} at (0,0) size 513x17
                  text run at (0,0) width 513: "This element should have no border and no extra \"padding\" on its left side, as no "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (513,3) size 96x15
                    text run at (513,3) width 96: "border-style"
                RenderText {#text} at (609,0) size 54x17
                  text run at (609,0) width 54: " was set."
