layer at (0,0) size 800x1055
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1055
  RenderBlock {HTML} at (0,0) size 800x1055
    RenderBody {BODY} at (8,8) size 784x1039 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x20
        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 784x56
        RenderText {#text} at (0,0) size 336x56
          text run at (0,0) width 320: ".one {border-bottom: purple double 10px;}"
          text run at (319,0) width 1: " "
          text run at (0,14) width 313: ".two {border-bottom: purple thin solid;}"
          text run at (312,14) width 1: " "
          text run at (0,28) width 336: ".three {border-bottom: black medium solid;}"
          text run at (335,28) width 1: " "
          text run at (0,42) width 281: "TD {border-bottom: green 2px solid;}"
          text run at (280,42) width 1: " "
      RenderBlock {HR} at (0,105) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,123) size 784x40
        RenderText {#text} at (0,0) size 747x39
          text run at (0,0) width 673: "Note that all table cells on this page should have a two-pixel solid green border along their bottom sides. "
          text run at (672,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 (0,179) size 784x30 [border: none (10px double #800080) none]
        RenderText {#text} at (0,0) size 445x19
          text run at (0,0) width 445: "This paragraph should have a purple, double, 10-pixel bottom border."
      RenderBlock {P} at (0,225) size 784x21 [border: none (1px solid #800080) none]
        RenderText {#text} at (0,0) size 361x19
          text run at (0,0) width 361: "This paragraph should have a thin purple bottom border."
      RenderTable {TABLE} at (0,262) size 784x118 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x116
          RenderTableRow {TR} at (0,5) size 782x45
            RenderTableCell {TD} at (5,5) size 773x45 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (2,2) size 754x39
                text run at (2,2) width 463: "Every cell in this table should have a 2-pixel solid green bottom border. "
                text run at (464,2) width 292: "This is also true of the table-testing section in"
                text run at (2,22) width 203: "the second half of the test page."
          RenderTableRow {TR} at (0,55) size 782x56
            RenderTableCell {TD} at (5,70) size 195x26 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,1) size 54x21
                text run at (2,2) width 54: "Cell one"
            RenderTableCell {TD} at (204,55) size 574x56 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (2,2) size 569x20
                RenderText {#text} at (0,0) size 55x19
                  text run at (0,0) width 55: "Cell two"
              RenderTable {TABLE} at (2,22) size 166x31 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 164x29
                  RenderTableRow {TR} at (0,2) size 164x25
                    RenderTableCell {TD} at (2,2) size 160x25 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 156x19
                        text run at (2,2) width 156: "Nested single-cell table!"
      RenderBlock {UL} at (0,396) size 784x149
        RenderListItem {LI} at (40,0) size 744x83 [border: none (3px solid #000000) none]
          RenderBlock (anonymous) at (0,0) size 744x20
            RenderListMarker at (-18,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 (0,20) size 744x60
            RenderListItem {LI} at (40,0) size 704x20
              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 704x20
              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 704x20
              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,83) size 744x23 [border: none (3px solid #000000) none]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 163x19
            text run at (0,0) width 163: "This is a second list item."
        RenderListItem {LI} at (40,106) size 744x43 [border: none (3px solid #000000) none]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 743x39
            text run at (0,0) width 743: "Each list item in this list should have a medium-width black border at its bottom, which for the first item means that"
            text run at (0,20) width 107: "it should appear "
          RenderInline {EM} at (0,0) size 51x19
            RenderText {#text} at (106,20) size 51x19
              text run at (106,20) width 51: "beneath"
          RenderText {#text} at (156,20) size 401x19
            text run at (156,20) width 401: " the nested list (below the line \"...nested within the list item.\")."
      RenderTable {TABLE} at (0,561) size 784x478 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x476
          RenderTableRow {TR} at (0,0) size 782x29
            RenderTableCell {TD} at (0,0) size 782x29 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (4,4) size 161x19
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,29) size 782x447
            RenderTableCell {TD} at (0,238) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000) (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,29) size 770x447 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x40
                RenderText {#text} at (0,0) size 747x39
                  text run at (0,0) width 673: "Note that all table cells on this page should have a two-pixel solid green border along their bottom sides. "
                  text run at (672,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 (4,60) size 762x30 [border: none (10px double #800080) none]
                RenderText {#text} at (0,0) size 445x19
                  text run at (0,0) width 445: "This paragraph should have a purple, double, 10-pixel bottom border."
              RenderBlock {P} at (4,106) size 762x21 [border: none (1px solid #800080) none]
                RenderText {#text} at (0,0) size 361x19
                  text run at (0,0) width 361: "This paragraph should have a thin purple bottom border."
              RenderTable {TABLE} at (4,143) size 762x118 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 760x116
                  RenderTableRow {TR} at (0,5) size 760x45
                    RenderTableCell {TD} at (5,5) size 751x45 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (2,2) size 738x39
                        text run at (2,2) width 463: "Every cell in this table should have a 2-pixel solid green bottom border. "
                        text run at (464,2) width 276: "This is also true of the table-testing section"
                        text run at (2,22) width 219: "in the second half of the test page."
                  RenderTableRow {TR} at (0,55) size 760x56
                    RenderTableCell {TD} at (5,70) size 190x26 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,1) size 54x21
                        text run at (2,2) width 54: "Cell one"
                    RenderTableCell {TD} at (199,55) size 557x56 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (2,2) size 552x20
                        RenderText {#text} at (0,0) size 55x19
                          text run at (0,0) width 55: "Cell two"
                      RenderTable {TABLE} at (2,22) size 166x31 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 164x29
                          RenderTableRow {TR} at (0,2) size 164x25
                            RenderTableCell {TD} at (2,2) size 160x25 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (2,2) size 156x19
                                text run at (2,2) width 156: "Nested single-cell table!"
              RenderBlock {UL} at (4,277) size 762x149
                RenderListItem {LI} at (40,0) size 722x83 [border: none (3px solid #000000) none]
                  RenderBlock (anonymous) at (0,0) size 722x20
                    RenderListMarker at (-18,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 (0,20) size 722x60
                    RenderListItem {LI} at (40,0) size 682x20
                      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 682x20
                      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 682x20
                      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,83) size 722x23 [border: none (3px solid #000000) none]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (0,0) size 163x19
                    text run at (0,0) width 163: "This is a second list item."
                RenderListItem {LI} at (40,106) size 722x43 [border: none (3px solid #000000) none]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (0,0) size 715x39
                    text run at (0,0) width 715: "Each list item in this list should have a medium-width black border at its bottom, which for the first item means"
                    text run at (0,20) width 135: "that it should appear "
                  RenderInline {EM} at (0,0) size 51x19
                    RenderText {#text} at (134,20) size 51x19
                      text run at (134,20) width 51: "beneath"
                  RenderText {#text} at (184,20) size 401x19
                    text run at (184,20) width 401: " the nested list (below the line \"...nested within the list item.\")."
