layer at (0,0) size 785x1063
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1063
  RenderBlock {HTML} at (0,0) size 785x1063
    RenderBody {BODY} at (8,8) size 769x1047 [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 344x64
          text run at (0,0) width 328: ".one {border-bottom: purple double 10px;}"
          text run at (328,0) width 0: " "
          text run at (0,16) width 320: ".two {border-bottom: purple thin solid;}"
          text run at (320,16) width 0: " "
          text run at (0,32) width 344: ".three {border-bottom: black medium solid;}"
          text run at (344,32) width 0: " "
          text run at (0,48) width 288: "TD {border-bottom: green 2px solid;}"
          text run at (288,48) width 0: " "
      RenderBlock {HR} at (0,113) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 769x40
        RenderText {#text} at (0,0) size 745x39
          text run at (0,0) width 629: "Note that all table cells on this page should have a two-pixel solid green border along their bottom sides. "
          text run at (629,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 (0,187) size 769x30 [border: none (10px double #800080) none]
        RenderText {#text} at (0,0) size 421x19
          text run at (0,0) width 421: "This paragraph should have a purple, double, 10-pixel bottom border."
      RenderBlock {P} at (0,233) size 769x21 [border: none (1px solid #800080) none]
        RenderText {#text} at (0,0) size 339x19
          text run at (0,0) width 339: "This paragraph should have a thin purple bottom 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: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (2,2) size 721x39
                text run at (2,2) width 431: "Every cell in this table should have a 2-pixel solid green bottom border. "
                text run at (433,2) width 290: "This is also true of the table-testing section in the"
                text run at (2,22) width 168: "second half of the test page."
          RenderTableRow {TR} at (0,55) size 767x56
            RenderTableCell {TD} at (5,70) size 191x26 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,1) size 50x21
                text run at (2,2) width 50: "Cell one"
            RenderTableCell {TD} at (200,55) size 563x56 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (2,2) size 558x20
                RenderText {#text} at (0,0) size 51x19
                  text run at (0,0) width 51: "Cell two"
              RenderTable {TABLE} at (2,22) 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: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 145x19
                        text run at (2,2) width 145: "Nested single-cell table!"
      RenderBlock {UL} at (0,404) size 769x149
        RenderListItem {LI} at (40,0) size 729x83 [border: none (3px solid #000000) none]
          RenderBlock (anonymous) at (0,0) 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,20) 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: none (3px solid #000000) none]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 149x19
            text run at (0,0) width 149: "This is a second list item."
        RenderListItem {LI} at (40,106) size 729x43 [border: none (3px solid #000000) none]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 694x39
            text run at (0,0) width 694: "Each list item in this list should have a medium-width black border at its bottom, which for the first item means that it"
            text run at (0,20) width 89: "should appear "
          RenderInline {EM} at (0,0) size 51x19
            RenderText {#text} at (89,20) size 51x19
              text run at (89,20) width 51: "beneath"
          RenderText {#text} at (140,20) size 365x19
            text run at (140,20) width 365: " the nested list (below the line \"...nested within the list item.\")."
      RenderTable {TABLE} at (0,569) size 769x478 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x476
          RenderTableRow {TR} at (0,0) size 767x29
            RenderTableCell {TD} at (0,0) size 767x29 [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 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,29) size 767x447
            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 755x447 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x40
                RenderText {#text} at (0,0) size 745x39
                  text run at (0,0) width 629: "Note that all table cells on this page should have a two-pixel solid green border along their bottom sides. "
                  text run at (629,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,60) size 747x30 [border: none (10px double #800080) none]
                RenderText {#text} at (0,0) size 421x19
                  text run at (0,0) width 421: "This paragraph should have a purple, double, 10-pixel bottom border."
              RenderBlock {P} at (4,106) size 747x21 [border: none (1px solid #800080) none]
                RenderText {#text} at (0,0) size 339x19
                  text run at (0,0) width 339: "This paragraph should have a thin purple bottom border."
              RenderTable {TABLE} at (4,143) 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: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (2,2) size 721x39
                        text run at (2,2) width 431: "Every cell in this table should have a 2-pixel solid green bottom border. "
                        text run at (433,2) width 290: "This is also true of the table-testing section in the"
                        text run at (2,22) width 168: "second half of the test page."
                  RenderTableRow {TR} at (0,55) size 745x56
                    RenderTableCell {TD} at (5,70) size 186x26 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,1) size 50x21
                        text run at (2,2) width 50: "Cell one"
                    RenderTableCell {TD} at (195,55) size 546x56 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (2,2) size 541x20
                        RenderText {#text} at (0,0) size 51x19
                          text run at (0,0) width 51: "Cell two"
                      RenderTable {TABLE} at (2,22) 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: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (2,2) size 145x19
                                text run at (2,2) width 145: "Nested single-cell table!"
              RenderBlock {UL} at (4,277) size 747x149
                RenderListItem {LI} at (40,0) size 707x83 [border: none (3px solid #000000) none]
                  RenderBlock (anonymous) at (0,0) 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,20) 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: none (3px solid #000000) none]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (0,0) size 149x19
                    text run at (0,0) width 149: "This is a second list item."
                RenderListItem {LI} at (40,106) size 707x43 [border: none (3px solid #000000) none]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (0,0) size 694x39
                    text run at (0,0) width 694: "Each list item in this list should have a medium-width black border at its bottom, which for the first item means that it"
                    text run at (0,20) width 89: "should appear "
                  RenderInline {EM} at (0,0) size 51x19
                    RenderText {#text} at (89,20) size 51x19
                      text run at (89,20) width 51: "beneath"
                  RenderText {#text} at (140,20) size 365x19
                    text run at (140,20) width 365: " the nested list (below the line \"...nested within the list item.\")."
