layer at (0,0) size 800x1457
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1457
  RenderBlock {HTML} at (0,0) size 800x1457
    RenderBody {BODY} at (8,8) size 784x1441 [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 784x126
        RenderText {#text} at (0,0) size 266x126
          text run at (0,0) width 266: ".one {border: medium black solid;}"
          text run at (0,14) width 258: ".two {border: thin maroon ridge;}"
          text run at (0,28) width 266: ".three {border: 10px teal outset;}"
          text run at (0,42) width 258: ".four {border: 10px olive inset;}"
          text run at (0,56) width 219: ".five {border: 10px maroon;}"
          text run at (0,70) width 227: ".six {border: maroon double;}"
          text run at (0,84) width 250: ".seven {border: left red solid;}"
          text run at (0,98) width 164: ".eight {border: 0px;}"
          text run at (0,112) width 227: "TD {border: 2px solid green;}"
      RenderBlock {HR} at (0,175) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,193) size 784x40
        RenderText {#text} at (0,0) size 765x39
          text run at (0,0) width 641: "Note that all table cells on this page should have a two-pixel solid green border along all four sides. "
          text run at (640,0) width 125: "This border applies"
          text run at (0,20) width 324: "only to the cells, not the rows which contain them."
      RenderBlock {P} at (0,249) size 784x26 [border: (3px solid #000000)]
        RenderText {#text} at (3,3) size 491x19
          text run at (3,3) width 491: "This paragraph should have a medium black solid border all the way around."
      RenderBlock {P} at (0,291) size 784x22 [border: (1px ridge #800000)]
        RenderText {#text} at (1,1) size 488x19
          text run at (1,1) width 488: "This paragraph should have a thin maroon ridged border all the way around."
      RenderBlock {P} at (0,329) size 784x40 [border: (10px outset #008080)]
        RenderText {#text} at (10,10) size 528x19
          text run at (10,10) width 528: "This paragraph should have a ten-pixel-wide teal outset border all the way around."
      RenderBlock {P} at (0,385) size 784x40 [border: (10px inset #808000)]
        RenderText {#text} at (10,10) size 529x19
          text run at (10,10) width 529: "This paragraph should have a ten-pixel-wide olive inset border all the way around."
      RenderBlock {P} at (0,441) size 784x20
        RenderText {#text} at (0,0) size 354x19
          text run at (0,0) width 354: "This paragraph should have no border around it, as the "
        RenderInline {TT} at (0,0) size 94x14
          RenderText {#text} at (353,5) size 94x14
            text run at (353,5) width 94: "border-style"
        RenderText {#text} at (446,0) size 328x19
          text run at (446,0) width 328: " was not set, and it should not be offset in any way."
      RenderBlock {P} at (0,477) size 784x46 [border: (3px double #800000)]
        RenderText {#text} at (3,3) size 543x19
          text run at (3,3) width 543: "This paragraph should have a medium maroon double border around it, even though "
        RenderInline {CODE} at (0,0) size 95x14
          RenderText {#text} at (545,8) size 95x14
            text run at (545,8) width 95: "border-width"
        RenderText {#text} at (639,3) size 755x39
          text run at (639,3) width 119: " was not explicitly"
          text run at (3,23) width 22: "set."
      RenderBlock {P} at (0,539) size 784x20
        RenderText {#text} at (0,0) size 633x19
          text run at (0,0) width 633: "This paragraph should have no border around it, as its declaration is invalid and should be ignored."
      RenderBlock {P} at (0,575) size 784x20
        RenderInline {A} at (0,0) size 25x19
          RenderText {#text} at (0,0) size 25x19
            text run at (0,0) width 25: "The"
        RenderText {#text} at (24,0) size 730x19
          text run at (24,0) width 730: " following image is also an anchor which points to a target on this page, but it should not have a border around it: "
        RenderInline {A} at (0,0) size 16x19 [color=#0000FF]
          RenderImage {IMG} at (753,0) size 16x15
        RenderText {#text} at (768,0) size 5x19
          text run at (768,0) width 5: "."
      RenderTable {TABLE} at (0,611) size 784x121 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x119
          RenderTableRow {TR} at (0,5) size 782x46
            RenderTableCell {TD} at (5,5) size 773x46 [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (3,3) size 728x39
                text run at (3,3) width 413: "Every cell in this table should have a 2-pixel solid green border. "
                text run at (415,3) width 316: "This is also true of the table-testing section in the"
                text run at (3,23) width 179: "second half of the test page."
          RenderTableRow {TR} at (0,56) size 782x58
            RenderTableCell {TD} at (5,72) size 197x26 [border: (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (3,3) size 54x19
                text run at (3,3) width 54: "Cell one"
            RenderTableCell {TD} at (206,56) size 572x58 [border: (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (3,3) size 565x20
                RenderText {#text} at (0,0) size 55x19
                  text run at (0,0) width 55: "Cell two"
              RenderTable {TABLE} at (3,23) size 168x32 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 166x30
                  RenderTableRow {TR} at (0,2) size 166x26
                    RenderTableCell {TD} at (2,2) size 162x26 [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,3) size 156x19
                        text run at (3,3) width 156: "Nested single-cell table!"
      RenderBlock {P} at (0,748) size 784x20
        RenderText {#text} at (0,0) size 180x19
          text run at (0,0) width 180: "This is an unstyled element."
      RenderTable {TABLE} at (0,784) size 784x657 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x655
          RenderTableRow {TR} at (0,0) size 782x30
            RenderTableCell {TD} at (0,0) size 782x30 [bgcolor=#C0C0C0] [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (5,5) size 161x19
                  text run at (5,5) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,30) size 782x625
            RenderTableCell {TD} at (0,327) size 14x31 [bgcolor=#C0C0C0] [border: (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (5,5) size 4x20
                text run at (5,6) width 4: " "
            RenderTableCell {TD} at (14,30) size 768x625 [border: (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (5,5) size 758x40
                RenderText {#text} at (0,0) size 715x39
                  text run at (0,0) width 641: "Note that all table cells on this page should have a two-pixel solid green border along all four sides. "
                  text run at (640,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 (5,61) size 758x26 [border: (3px solid #000000)]
                RenderText {#text} at (3,3) size 491x19
                  text run at (3,3) width 491: "This paragraph should have a medium black solid border all the way around."
              RenderBlock {P} at (5,103) size 758x22 [border: (1px ridge #800000)]
                RenderText {#text} at (1,1) size 488x19
                  text run at (1,1) width 488: "This paragraph should have a thin maroon ridged border all the way around."
              RenderBlock {P} at (5,141) size 758x40 [border: (10px outset #008080)]
                RenderText {#text} at (10,10) size 528x19
                  text run at (10,10) width 528: "This paragraph should have a ten-pixel-wide teal outset border all the way around."
              RenderBlock {P} at (5,197) size 758x40 [border: (10px inset #808000)]
                RenderText {#text} at (10,10) size 529x19
                  text run at (10,10) width 529: "This paragraph should have a ten-pixel-wide olive inset border all the way around."
              RenderBlock {P} at (5,253) size 758x40
                RenderText {#text} at (0,0) size 354x19
                  text run at (0,0) width 354: "This paragraph should have no border around it, as the "
                RenderInline {TT} at (0,0) size 94x14
                  RenderText {#text} at (353,5) size 94x14
                    text run at (353,5) width 94: "border-style"
                RenderText {#text} at (446,0) size 740x39
                  text run at (446,0) width 294: " was not set, and it should not be offset in any"
                  text run at (0,20) width 30: "way."
              RenderBlock {P} at (5,309) size 758x46 [border: (3px double #800000)]
                RenderText {#text} at (3,3) size 543x19
                  text run at (3,3) width 543: "This paragraph should have a medium maroon double border around it, even though "
                RenderInline {CODE} at (0,0) size 95x14
                  RenderText {#text} at (545,8) size 95x14
                    text run at (545,8) width 95: "border-width"
                RenderText {#text} at (639,3) size 690x39
                  text run at (639,3) width 54: " was not"
                  text run at (3,23) width 87: "explicitly set."
              RenderBlock {P} at (5,371) size 758x20
                RenderText {#text} at (0,0) size 633x19
                  text run at (0,0) width 633: "This paragraph should have no border around it, as its declaration is invalid and should be ignored."
              RenderBlock {P} at (5,407) size 758x40
                RenderInline {A} at (0,0) size 25x19
                  RenderText {#text} at (0,0) size 25x19
                    text run at (0,0) width 25: "The"
                RenderText {#text} at (24,0) size 730x19
                  text run at (24,0) width 730: " following image is also an anchor which points to a target on this page, but it should not have a border around it: "
                RenderInline {A} at (0,0) size 15x19 [color=#0000FF]
                  RenderImage {IMG} at (0,20) size 15x15
                RenderText {#text} at (15,20) size 4x19
                  text run at (15,20) width 4: "."
              RenderTable {TABLE} at (5,463) size 758x121 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 756x119
                  RenderTableRow {TR} at (0,5) size 756x46
                    RenderTableCell {TD} at (5,5) size 747x46 [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (3,3) size 728x39
                        text run at (3,3) width 413: "Every cell in this table should have a 2-pixel solid green border. "
                        text run at (415,3) width 316: "This is also true of the table-testing section in the"
                        text run at (3,23) width 179: "second half of the test page."
                  RenderTableRow {TR} at (0,56) size 756x58
                    RenderTableCell {TD} at (5,72) size 190x26 [border: (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,3) size 54x19
                        text run at (3,3) width 54: "Cell one"
                    RenderTableCell {TD} at (199,56) size 553x58 [border: (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (3,3) size 546x20
                        RenderText {#text} at (0,0) size 55x19
                          text run at (0,0) width 55: "Cell two"
                      RenderTable {TABLE} at (3,23) size 168x32 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 166x30
                          RenderTableRow {TR} at (0,2) size 166x26
                            RenderTableCell {TD} at (2,2) size 162x26 [border: (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (3,3) size 156x19
                                text run at (3,3) width 156: "Nested single-cell table!"
              RenderBlock {P} at (5,600) size 758x20
                RenderText {#text} at (0,0) size 180x19
                  text run at (0,0) width 180: "This is an unstyled element."
