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 (224,0) width 0: " "
          text run at (0,16) width 248: "P:first-letter {color: maroon;}"
          text run at (248,16) width 0: " "
          text run at (0,32) width 272: ".two:first-line {font-size: 200%;}"
          text run at (272,32) width 0: " "
          text run at (0,48) width 288: ".two:first-letter {font-size: 350%;}"
          text run at (288,48) width 0: " "
          text run at (0,64) width 312: "P.three:first-letter {font-size: 350%;}"
          text run at (312,64) width 0: " "
          text run at (0,80) width 368: "P.three:first-line {font-variant: small-caps;}"
          text run at (368,80) width 0: " "
          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."
