layer at (0,0) size 800x1089
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1089
  RenderBlock {HTML} at (0,0) size 800x1089
    RenderBody {BODY} at (8,8) size 784x1073 [bgcolor=#CCCCCC]
      RenderBlock {P} at (20,0) size 764x20
        RenderText {#text} at (0,0) size 363x19
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x98
        RenderText {#text} at (0,0) size 336x98
          text run at (0,0) width 172: "P {margin-left: 20px;}"
          text run at (171,0) width 1: " "
          text run at (0,14) width 305: ".one {border-left: purple double 10px;}"
          text run at (304,14) width 1: " "
          text run at (0,28) width 297: ".two {border-left: purple thin solid;}"
          text run at (296,28) width 1: " "
          text run at (0,42) width 328: ".threea {border-left: black medium solid;}"
          text run at (327,42) width 1: " "
          text run at (0,56) width 336: ".threeb {border-left: purple medium solid;}"
          text run at (335,56) width 1: " "
          text run at (0,70) width 320: ".threec {border-left: blue medium solid;}"
          text run at (319,70) width 1: " "
          text run at (0,84) width 266: "TD {border-left: green 2px solid;}"
          text run at (265,84) width 1: " "
      RenderBlock {HR} at (0,147) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (20,165) size 764x40
        RenderText {#text} at (0,0) size 723x39
          text run at (0,0) width 649: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
          text run at (648,0) width 75: "This border"
          text run at (0,20) width 373: "applies only to the cells, not the rows which contain them."
      RenderBlock {P} at (20,221) size 764x20 [border: none (10px double #800080)]
        RenderText {#text} at (10,0) size 421x19
          text run at (10,0) width 421: "This paragraph should have a purple, double, 10-pixel left border."
      RenderBlock {P} at (20,257) size 764x20 [border: none (1px solid #800080)]
        RenderText {#text} at (1,0) size 337x19
          text run at (1,0) width 337: "This paragraph should have a thin purple left border."
      RenderTable {TABLE} at (0,293) size 784x115 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x113
          RenderTableRow {TR} at (0,5) size 782x44
            RenderTableCell {TD} at (5,5) size 773x44 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (3,2) size 754x39
                text run at (3,2) width 439: "Every cell in this table should have a 2-pixel solid green left border. "
                text run at (441,2) width 316: "This is also true of the table-testing section in the"
                text run at (3,22) width 179: "second half of the test page."
          RenderTableRow {TR} at (0,54) size 782x54
            RenderTableCell {TD} at (5,69) size 196x24 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (3,2) size 54x19
                text run at (3,2) width 54: "Cell one"
            RenderTableCell {TD} at (205,54) size 573x54 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (3,2) size 567x20
                RenderText {#text} at (0,0) size 55x19
                  text run at (0,0) width 55: "Cell two"
              RenderTable {TABLE} at (3,22) size 167x30 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 165x28
                  RenderTableRow {TR} at (0,2) size 165x24
                    RenderTableCell {TD} at (2,2) size 161x24 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 156x19
                        text run at (3,2) width 156: "Nested single-cell table!"
      RenderBlock {UL} at (0,424) size 784x160
        RenderListItem {LI} at (40,0) size 744x80 [border: none (3px solid #000000)]
          RenderBlock (anonymous) at (3,0) size 741x20
            RenderListMarker at (-21,0) size 7x19: bullet
            RenderText {#text} at (0,0) size 123x19
              text run at (0,0) width 123: "This is a list item..."
          RenderBlock {UL} at (3,20) size 741x60
            RenderListItem {LI} at (40,0) size 701x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 75x19
                text run at (0,0) width 75: "...and this..."
            RenderListItem {LI} at (40,20) size 701x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 118x19
                text run at (0,0) width 118: "...is a second list..."
            RenderListItem {LI} at (40,40) size 701x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 182x19
                text run at (0,0) width 182: "...nested within the list item."
        RenderListItem {LI} at (40,80) size 744x20 [border: none (3px solid #800080)]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (3,0) size 163x19
            text run at (3,0) width 163: "This is a second list item."
        RenderListItem {LI} at (40,100) size 744x60 [border: none (3px solid #0000FF)]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (3,0) size 738x59
            text run at (3,0) width 713: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors. "
            text run at (715,0) width 26: "The"
            text run at (3,20) width 738: "first item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested within"
            text run at (3,40) width 502: "the list item.\"), even though the nested list does not have any border styles set."
      RenderTable {TABLE} at (0,600) size 784x473 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x471
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (5,4) size 161x19
                  text run at (5,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x443
            RenderTableCell {TD} at (0,235) size 13x29 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (5,4) size 4x20
                text run at (5,5) width 4: " "
            RenderTableCell {TD} at (13,28) size 769x443 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (25,4) size 740x40
                RenderText {#text} at (0,0) size 723x39
                  text run at (0,0) width 649: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
                  text run at (648,0) width 75: "This border"
                  text run at (0,20) width 373: "applies only to the cells, not the rows which contain them."
              RenderBlock {P} at (25,60) size 740x20 [border: none (10px double #800080)]
                RenderText {#text} at (10,0) size 421x19
                  text run at (10,0) width 421: "This paragraph should have a purple, double, 10-pixel left border."
              RenderBlock {P} at (25,96) size 740x20 [border: none (1px solid #800080)]
                RenderText {#text} at (1,0) size 337x19
                  text run at (1,0) width 337: "This paragraph should have a thin purple left border."
              RenderTable {TABLE} at (5,132) size 760x115 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 758x113
                  RenderTableRow {TR} at (0,5) size 758x44
                    RenderTableCell {TD} at (5,5) size 749x44 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (3,2) size 730x39
                        text run at (3,2) width 439: "Every cell in this table should have a 2-pixel solid green left border. "
                        text run at (441,2) width 292: "This is also true of the table-testing section in"
                        text run at (3,22) width 203: "the second half of the test page."
                  RenderTableRow {TR} at (0,54) size 758x54
                    RenderTableCell {TD} at (5,69) size 190x24 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 54x19
                        text run at (3,2) width 54: "Cell one"
                    RenderTableCell {TD} at (199,54) size 555x54 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (3,2) size 549x20
                        RenderText {#text} at (0,0) size 55x19
                          text run at (0,0) width 55: "Cell two"
                      RenderTable {TABLE} at (3,22) size 167x30 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 165x28
                          RenderTableRow {TR} at (0,2) size 165x24
                            RenderTableCell {TD} at (2,2) size 161x24 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (3,2) size 156x19
                                text run at (3,2) width 156: "Nested single-cell table!"
              RenderBlock {UL} at (5,263) size 760x160
                RenderListItem {LI} at (40,0) size 720x80 [border: none (3px solid #000000)]
                  RenderBlock (anonymous) at (3,0) size 717x20
                    RenderListMarker at (-21,0) size 7x19: bullet
                    RenderText {#text} at (0,0) size 123x19
                      text run at (0,0) width 123: "This is a list item..."
                  RenderBlock {UL} at (3,20) size 717x60
                    RenderListItem {LI} at (40,0) size 677x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 75x19
                        text run at (0,0) width 75: "...and this..."
                    RenderListItem {LI} at (40,20) size 677x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 118x19
                        text run at (0,0) width 118: "...is a second list..."
                    RenderListItem {LI} at (40,40) size 677x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 182x19
                        text run at (0,0) width 182: "...nested within the list item."
                RenderListItem {LI} at (40,80) size 720x20 [border: none (3px solid #800080)]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (3,0) size 163x19
                    text run at (3,0) width 163: "This is a second list item."
                RenderListItem {LI} at (40,100) size 720x60 [border: none (3px solid #0000FF)]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (3,0) size 709x59
                    text run at (3,0) width 709: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors."
                    text run at (3,20) width 659: "The first item's border should travel the entire height the nested list (to end near the baseline of the line"
                    text run at (3,40) width 610: "\"...nested within the list item.\"), even though the nested list does not have any border styles set."
