layer at (0,0) size 785x1082
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1082
  RenderBlock {HTML} at (0,0) size 785x1082
    RenderBody {BODY} at (8,8) size 769x1066 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 749x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x105
        RenderText {#text} at (0,0) size 344x105
          text run at (0,0) width 180: "P {margin-right: 20px;}"
          text run at (0,15) width 313: ".one {border-right: purple double 10px;}"
          text run at (0,30) width 305: ".two {border-right: purple thin solid;}"
          text run at (0,45) width 336: ".threea {border-right: black medium solid;}"
          text run at (0,60) width 344: ".threeb {border-right: purple medium solid;}"
          text run at (0,75) width 328: ".threec {border-right: blue medium solid;}"
          text run at (0,90) width 274: "TD {border-right: green 2px solid;}"
      RenderBlock {HR} at (0,152) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,170) size 749x36
        RenderText {#text} at (0,0) size 732x36
          text run at (0,0) width 658: "Note that all table cells on this page should have a two-pixel solid green border along their right sides. "
          text run at (657,0) width 75: "This border"
          text run at (0,18) width 373: "applies only to the cells, not the rows which contain them."
      RenderBlock {P} at (0,222) size 749x18 [border: none (10px double #800080) none]
        RenderText {#text} at (0,0) size 430x18
          text run at (0,0) width 430: "This paragraph should have a purple, double, 10-pixel right border."
      RenderBlock {P} at (0,256) size 749x18 [border: none (1px solid #800080) none]
        RenderText {#text} at (0,0) size 346x18
          text run at (0,0) width 346: "This paragraph should have a thin purple right border."
      RenderTable {TABLE} at (0,290) size 769x107 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x105
          RenderTableRow {TR} at (0,5) size 767x40
            RenderTableCell {TD} at (5,5) size 758x40 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (2,2) size 739x36
                text run at (2,2) width 447: "Every cell in this table should have a 2-pixel solid green right border. "
                text run at (449,2) width 292: "This is also true of the table-testing section in"
                text run at (2,20) width 203: "the second half of the test page."
          RenderTableRow {TR} at (0,50) size 767x50
            RenderTableCell {TD} at (5,64) size 192x22 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (2,2) size 54x18
                text run at (2,2) width 54: "Cell one"
            RenderTableCell {TD} at (201,50) size 562x50 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (2,2) size 556x18
                RenderText {#text} at (0,0) size 55x18
                  text run at (0,0) width 55: "Cell two"
              RenderTable {TABLE} at (2,20) size 167x28 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 165x26
                  RenderTableRow {TR} at (0,2) size 165x22
                    RenderTableCell {TD} at (2,2) size 161x22 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 156x18
                        text run at (2,2) width 156: "Nested single-cell table!"
      RenderBlock {UL} at (0,413) size 769x162
        RenderListItem {LI} at (40,0) size 729x72 [border: none (3px solid #000000) none]
          RenderBlock (anonymous) at (0,0) size 726x18
            RenderListMarker at (-17,0) size 7x18: bullet
            RenderText {#text} at (0,0) size 123x18
              text run at (0,0) width 123: "This is a list item..."
          RenderBlock {UL} at (0,18) size 726x54
            RenderListItem {LI} at (40,0) size 686x18
              RenderListMarker at (-17,0) size 7x18: white bullet
              RenderText {#text} at (0,0) size 75x18
                text run at (0,0) width 75: "...and this..."
            RenderListItem {LI} at (40,18) size 686x18
              RenderListMarker at (-17,0) size 7x18: white bullet
              RenderText {#text} at (0,0) size 118x18
                text run at (0,0) width 118: "...is a second list..."
            RenderListItem {LI} at (40,36) size 686x18
              RenderListMarker at (-17,0) size 7x18: white bullet
              RenderText {#text} at (0,0) size 182x18
                text run at (0,0) width 182: "...nested within the list item."
        RenderListItem {LI} at (40,72) size 729x18 [border: none (3px solid #800080) none]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 163x18
            text run at (0,0) width 163: "This is a second list item."
        RenderListItem {LI} at (40,90) size 729x72 [border: none (3px solid #0000FF) none]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 722x72
            text run at (0,0) width 718: "Each list item in this 'parent' list should have a medium-width border along its right side, in each of three colors."
            text run at (0,18) width 721: "The first item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested"
            text run at (0,36) width 550: "within the list item.\"), even though the nested list does not have any border styles set. "
            text run at (549,36) width 173: "The borders should line up"
            text run at (0,54) width 633: "together at the right edge of the document's body, as each list element has a default width of 100%."
      RenderTable {TABLE} at (0,591) size 769x475 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x473
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x447
            RenderTableCell {TD} at (0,236) size 13x27 [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,5) width 4: " "
            RenderTableCell {TD} at (13,26) size 754x447 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 725x36
                RenderText {#text} at (0,0) size 687x36
                  text run at (0,0) width 658: "Note that all table cells on this page should have a two-pixel solid green border along their right sides. "
                  text run at (657,0) width 30: "This"
                  text run at (0,18) width 419: "border applies only to the cells, not the rows which contain them."
              RenderBlock {P} at (4,56) size 725x18 [border: none (10px double #800080) none]
                RenderText {#text} at (0,0) size 430x18
                  text run at (0,0) width 430: "This paragraph should have a purple, double, 10-pixel right border."
              RenderBlock {P} at (4,90) size 725x18 [border: none (1px solid #800080) none]
                RenderText {#text} at (0,0) size 346x18
                  text run at (0,0) width 346: "This paragraph should have a thin purple right border."
              RenderTable {TABLE} at (4,124) size 745x107 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 743x105
                  RenderTableRow {TR} at (0,5) size 743x40
                    RenderTableCell {TD} at (5,5) size 734x40 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (2,2) size 723x36
                        text run at (2,2) width 447: "Every cell in this table should have a 2-pixel solid green right border. "
                        text run at (449,2) width 276: "This is also true of the table-testing section"
                        text run at (2,20) width 219: "in the second half of the test page."
                  RenderTableRow {TR} at (0,50) size 743x50
                    RenderTableCell {TD} at (5,64) size 186x22 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 54x18
                        text run at (2,2) width 54: "Cell one"
                    RenderTableCell {TD} at (195,50) size 544x50 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (2,2) size 538x18
                        RenderText {#text} at (0,0) size 55x18
                          text run at (0,0) width 55: "Cell two"
                      RenderTable {TABLE} at (2,20) size 167x28 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 165x26
                          RenderTableRow {TR} at (0,2) size 165x22
                            RenderTableCell {TD} at (2,2) size 161x22 [border: (1px inset #808080) (2px solid #008000) (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (2,2) size 156x18
                                text run at (2,2) width 156: "Nested single-cell table!"
              RenderBlock {UL} at (4,247) size 745x180
                RenderListItem {LI} at (40,0) size 705x72 [border: none (3px solid #000000) none]
                  RenderBlock (anonymous) at (0,0) size 702x18
                    RenderListMarker at (-17,0) size 7x18: bullet
                    RenderText {#text} at (0,0) size 123x18
                      text run at (0,0) width 123: "This is a list item..."
                  RenderBlock {UL} at (0,18) size 702x54
                    RenderListItem {LI} at (40,0) size 662x18
                      RenderListMarker at (-17,0) size 7x18: white bullet
                      RenderText {#text} at (0,0) size 75x18
                        text run at (0,0) width 75: "...and this..."
                    RenderListItem {LI} at (40,18) size 662x18
                      RenderListMarker at (-17,0) size 7x18: white bullet
                      RenderText {#text} at (0,0) size 118x18
                        text run at (0,0) width 118: "...is a second list..."
                    RenderListItem {LI} at (40,36) size 662x18
                      RenderListMarker at (-17,0) size 7x18: white bullet
                      RenderText {#text} at (0,0) size 182x18
                        text run at (0,0) width 182: "...nested within the list item."
                RenderListItem {LI} at (40,72) size 705x18 [border: none (3px solid #800080) none]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 163x18
                    text run at (0,0) width 163: "This is a second list item."
                RenderListItem {LI} at (40,90) size 705x90 [border: none (3px solid #0000FF) none]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 677x90
                    text run at (0,0) width 671: "Each list item in this 'parent' list should have a medium-width border along its right side, in each of three"
                    text run at (0,18) width 48: "colors. "
                    text run at (47,18) width 630: "The first item's border should travel the entire height the nested list (to end near the baseline of the"
                    text run at (0,36) width 642: "line \"...nested within the list item.\"), even though the nested list does not have any border styles set. "
                    text run at (641,36) width 26: "The"
                    text run at (0,54) width 677: "borders should line up together at the right edge of the document's body, as each list element has a default"
                    text run at (0,72) width 100: "width of 100%."
