layer at (0,0) size 785x1023
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1023
  RenderBlock {HTML} at (0,0) size 785x1023
    RenderBody {BODY} at (8,8) size 769x1007 [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 769x64
        RenderText {#text} at (0,0) size 320x64
          text run at (0,0) width 304: ".one {border-top: purple double 10px;}"
          text run at (0,16) width 296: ".two {border-top: purple thin solid;}"
          text run at (0,32) width 320: ".three {border-top: black medium solid;}"
          text run at (0,48) width 264: "TD {border-top: green 2px solid;}"
      RenderBlock {HR} at (0,113) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 769x40
        RenderText {#text} at (0,0) size 767x39
          text run at (0,0) width 606: "Note that all table cells on this page should have a two-pixel solid green border along their top sides. "
          text run at (606,0) width 161: "This border applies only to"
          text run at (0,20) width 254: "the cells, not the rows which contain them."
      RenderBlock {P} at (0,187) size 769x30 [border: (10px double #800080) none]
        RenderText {#text} at (0,10) size 398x19
          text run at (0,10) width 398: "This paragraph should have a purple, double, 10-pixel top border."
      RenderBlock {P} at (0,233) size 769x21 [border: (1px solid #800080) none]
        RenderText {#text} at (0,1) size 316x19
          text run at (0,1) width 316: "This paragraph should have a thin purple top border."
      RenderTable {TABLE} at (0,270) size 769x118 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x116
          RenderTableRow {TR} at (0,5) size 767x45
            RenderTableCell {TD} at (5,5) size 758x45 [border: (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (2,3) size 745x39
                text run at (2,3) width 408: "Every cell in this table should have a 2-pixel solid green top border. "
                text run at (410,3) width 337: "This is also true of the table-testing section in the second"
                text run at (2,23) width 121: "half of the test page."
          RenderTableRow {TR} at (0,55) size 767x56
            RenderTableCell {TD} at (5,70) size 191x26 [border: (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,3) size 50x20
                text run at (2,4) width 50: "Cell one"
            RenderTableCell {TD} at (200,55) size 563x56 [border: (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (2,3) size 558x20
                RenderText {#text} at (0,0) size 51x19
                  text run at (0,0) width 51: "Cell two"
              RenderTable {TABLE} at (2,23) size 155x31 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 153x29
                  RenderTableRow {TR} at (0,2) size 153x25
                    RenderTableCell {TD} at (2,2) size 149x25 [border: (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,3) size 145x19
                        text run at (2,3) width 145: "Nested single-cell table!"
      RenderBlock {UL} at (0,404) size 769x129
        RenderListItem {LI} at (40,0) size 729x83 [border: (3px solid #000000) none]
          RenderBlock (anonymous) at (0,3) size 729x20
            RenderListMarker at (-18,0) size 7x19: bullet
            RenderText {#text} at (0,0) size 110x19
              text run at (0,0) width 110: "This is a list item..."
          RenderBlock {UL} at (0,23) size 729x60
            RenderListItem {LI} at (40,0) size 689x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 70x19
                text run at (0,0) width 70: "...and this..."
            RenderListItem {LI} at (40,20) size 689x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 111x19
                text run at (0,0) width 111: "...is a second list..."
            RenderListItem {LI} at (40,40) size 689x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 165x19
                text run at (0,0) width 165: "...nested within the list item."
        RenderListItem {LI} at (40,83) size 729x23 [border: (3px solid #000000) none]
          RenderListMarker at (-18,3) size 7x19: bullet
          RenderText {#text} at (0,3) size 149x19
            text run at (0,3) width 149: "This is a second list item."
        RenderListItem {LI} at (40,106) size 729x23 [border: (3px solid #000000) none]
          RenderListMarker at (-18,3) size 7x19: bullet
          RenderText {#text} at (0,3) size 455x19
            text run at (0,3) width 455: "Each list item in this list should have a medium-width black border at its top."
      RenderTable {TABLE} at (0,549) size 769x458 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x456
          RenderTableRow {TR} at (0,0) size 767x29
            RenderTableCell {TD} at (0,0) size 767x29 [bgcolor=#C0C0C0] [border: (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,5) size 159x19
                  text run at (4,5) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,29) size 767x427
            RenderTableCell {TD} at (0,228) size 12x29 [bgcolor=#C0C0C0] [border: (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,5) size 4x19
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,29) size 755x427 [border: (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,5) size 747x40
                RenderText {#text} at (0,0) size 722x39
                  text run at (0,0) width 606: "Note that all table cells on this page should have a two-pixel solid green border along their top sides. "
                  text run at (606,0) width 116: "This border applies"
                  text run at (0,20) width 299: "only to the cells, not the rows which contain them."
              RenderBlock {P} at (4,61) size 747x30 [border: (10px double #800080) none]
                RenderText {#text} at (0,10) size 398x19
                  text run at (0,10) width 398: "This paragraph should have a purple, double, 10-pixel top border."
              RenderBlock {P} at (4,107) size 747x21 [border: (1px solid #800080) none]
                RenderText {#text} at (0,1) size 316x19
                  text run at (0,1) width 316: "This paragraph should have a thin purple top border."
              RenderTable {TABLE} at (4,144) size 747x118 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 745x116
                  RenderTableRow {TR} at (0,5) size 745x45
                    RenderTableCell {TD} at (5,5) size 736x45 [border: (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (2,3) size 698x39
                        text run at (2,3) width 408: "Every cell in this table should have a 2-pixel solid green top border. "
                        text run at (410,3) width 290: "This is also true of the table-testing section in the"
                        text run at (2,23) width 168: "second half of the test page."
                  RenderTableRow {TR} at (0,55) size 745x56
                    RenderTableCell {TD} at (5,70) size 186x26 [border: (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,3) size 50x20
                        text run at (2,4) width 50: "Cell one"
                    RenderTableCell {TD} at (195,55) size 546x56 [border: (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (2,3) size 541x20
                        RenderText {#text} at (0,0) size 51x19
                          text run at (0,0) width 51: "Cell two"
                      RenderTable {TABLE} at (2,23) size 155x31 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 153x29
                          RenderTableRow {TR} at (0,2) size 153x25
                            RenderTableCell {TD} at (2,2) size 149x25 [border: (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (2,3) size 145x19
                                text run at (2,3) width 145: "Nested single-cell table!"
              RenderBlock {UL} at (4,278) size 747x129
                RenderListItem {LI} at (40,0) size 707x83 [border: (3px solid #000000) none]
                  RenderBlock (anonymous) at (0,3) size 707x20
                    RenderListMarker at (-18,0) size 7x19: bullet
                    RenderText {#text} at (0,0) size 110x19
                      text run at (0,0) width 110: "This is a list item..."
                  RenderBlock {UL} at (0,23) size 707x60
                    RenderListItem {LI} at (40,0) size 667x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 70x19
                        text run at (0,0) width 70: "...and this..."
                    RenderListItem {LI} at (40,20) size 667x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 111x19
                        text run at (0,0) width 111: "...is a second list..."
                    RenderListItem {LI} at (40,40) size 667x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 165x19
                        text run at (0,0) width 165: "...nested within the list item."
                RenderListItem {LI} at (40,83) size 707x23 [border: (3px solid #000000) none]
                  RenderListMarker at (-18,3) size 7x19: bullet
                  RenderText {#text} at (0,3) size 149x19
                    text run at (0,3) width 149: "This is a second list item."
                RenderListItem {LI} at (40,106) size 707x23 [border: (3px solid #000000) none]
                  RenderListMarker at (-18,3) size 7x19: bullet
                  RenderText {#text} at (0,3) size 455x19
                    text run at (0,3) width 455: "Each list item in this list should have a medium-width black border at its top."
