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 (0,14) width 305: ".one {border-left: purple double 10px;}"
          text run at (0,28) width 297: ".two {border-left: purple thin solid;}"
          text run at (0,42) width 328: ".threea {border-left: black medium solid;}"
          text run at (0,56) width 336: ".threeb {border-left: purple medium solid;}"
          text run at (0,70) width 320: ".threec {border-left: blue medium solid;}"
          text run at (0,84) width 266: "TD {border-left: green 2px solid;}"
      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."
