layer at (0,0) size 785x1069
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1069
  RenderBlock {HTML} at (0,0) size 785x1069
    RenderBody {BODY} at (8,8) size 769x1053 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderInline (generated) at (0,0) size 9x19 [color=#800000]
          RenderText at (0,0) size 9x19
            text run at (0,0) width 9: "T"
        RenderText {#text} at (9,0) size 328x19
          text run at (9,0) width 328: "he style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x112
        RenderText {#text} at (0,0) size 368x112
          text run at (0,0) width 224: "P:first-line {color: green;}"
          text run at (0,16) width 248: "P:first-letter {color: maroon;}"
          text run at (0,32) width 272: ".two:first-line {font-size: 200%;}"
          text run at (0,48) width 288: ".two:first-letter {font-size: 350%;}"
          text run at (0,64) width 312: "P.three:first-letter {font-size: 350%;}"
          text run at (0,80) width 368: "P.three:first-line {font-variant: small-caps;}"
          text run at (0,96) width 0: " "
      RenderBlock {HR} at (0,161) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,179) size 769x60
        RenderInline (generated) at (0,0) size 9x19 [color=#800000]
          RenderText at (0,0) size 9x19
            text run at (0,0) width 9: "T"
        RenderText {#text} at (9,0) size 769x59
          text run at (9,0) width 727: "he first letter of this paragraph, and only that one, should be maroon (dark red), while the entire first line should be green. "
          text run at (736,0) width 33: "If this"
          text run at (0,20) width 451: "precise combination does not occur, then the user agent has failed this test. "
          text run at (451,20) width 301: "Remember that in order to ensure a complete test,"
          text run at (0,40) width 332: "the paragraph must be displayed on more than one line."
      RenderBlock {P} at (0,255) size 769x192
        RenderInline (generated) at (0,0) size 68x127 [color=#800000]
          RenderText at (0,2) size 68x127
            text run at (0,2) width 68: "T"
        RenderText {#text} at (68,74) size 762x117
          text run at (68,74) width 621: "he first letter of this paragraph, and only that one,"
          text run at (0,132) width 762: "should be 350% bigger than the rest of the first line of this paragraph and maroon (dark red), while the entire first line should be"
          text run at (0,152) width 223: "200% bigger than normal and green. "
          text run at (223,152) width 484: "If this precise combination does not occur, then the user agent has failed this test."
          text run at (0,172) width 637: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
      RenderBlock {P} at (0,463) size 769x126
        RenderInline (generated) at (0,0) size 75x64 [color=#800000]
          RenderText at (0,1) size 75x64
            text run at (0,1) width 75: "\"W"
        RenderText {#text} at (75,36) size 769x89
          text run at (75,36) width 337: "e should check for quotation support,\" it was said. "
          text run at (412,36) width 305: "The first two characters in this paragraph-- a"
          text run at (0,66) width 711: "double-quote mark and a capital 'W'-- should be 350% bigger than the rest of the paragraph, and maroon (dark red). "
          text run at (711,66) width 57: "Note that"
          text run at (0,86) width 757: "the inclusion of both the quotation mark and the 'W' in the first-letter style is not required under CSS1, but it is recommended. "
          text run at (757,86) width 12: "In"
          text run at (0,106) width 410: "addition, the entire first line should be in a small-caps font and green."
      RenderTable {TABLE} at (0,605) size 769x448 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x446
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (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,28) size 767x418
            RenderTableCell {TD} at (0,223) size 12x28 [bgcolor=#C0C0C0] [border: (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,28) size 755x418 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x60
                RenderInline (generated) at (0,0) size 9x19 [color=#800000]
                  RenderText at (0,0) size 9x19
                    text run at (0,0) width 9: "T"
                RenderText {#text} at (9,0) size 747x59
                  text run at (9,0) width 727: "he first letter of this paragraph, and only that one, should be maroon (dark red), while the entire first line should be green. "
                  text run at (736,0) width 9: "If"
                  text run at (0,20) width 475: "this precise combination does not occur, then the user agent has failed this test. "
                  text run at (475,20) width 272: "Remember that in order to ensure a complete"
                  text run at (0,40) width 361: "test, the paragraph must be displayed on more than one line."
              RenderBlock {P} at (4,80) size 747x192
                RenderInline (generated) at (0,0) size 68x127 [color=#800000]
                  RenderText at (0,2) size 68x127
                    text run at (0,2) width 68: "T"
                RenderText {#text} at (68,74) size 743x117
                  text run at (68,74) width 621: "he first letter of this paragraph, and only that one,"
                  text run at (0,132) width 743: "should be 350% bigger than the rest of the first line of this paragraph and maroon (dark red), while the entire first line should"
                  text run at (0,152) width 242: "be 200% bigger than normal and green. "
                  text run at (242,152) width 484: "If this precise combination does not occur, then the user agent has failed this test."
                  text run at (0,172) width 637: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
              RenderBlock {P} at (4,288) size 747x126
                RenderInline (generated) at (0,0) size 75x64 [color=#800000]
                  RenderText at (0,1) size 75x64
                    text run at (0,1) width 75: "\"W"
                RenderText {#text} at (75,36) size 742x89
                  text run at (75,36) width 337: "e should check for quotation support,\" it was said. "
                  text run at (412,36) width 305: "The first two characters in this paragraph-- a"
                  text run at (0,66) width 711: "double-quote mark and a capital 'W'-- should be 350% bigger than the rest of the paragraph, and maroon (dark red). "
                  text run at (711,66) width 31: "Note"
                  text run at (0,86) width 685: "that the inclusion of both the quotation mark and the 'W' in the first-letter style is not required under CSS1, but it is"
                  text run at (0,106) width 94: "recommended. "
                  text run at (94,106) width 426: "In addition, the entire first line should be in a small-caps font and green."
