layer at (0,0) size 785x655
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x655
  RenderBlock {HTML} at (0,0) size 785x655
    RenderBody {BODY} at (8,8) size 769x639 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        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 769x60
        RenderText {#text} at (0,0) size 352x60
          text run at (0,0) width 219: "P:first-line {color: green;}"
          text run at (0,15) width 266: ".two:first-line {font-size: 200%;}"
          text run at (0,30) width 352: ".three:first-line {font-variant: small-caps;}"
          text run at (0,45) width 0: " "
      RenderBlock {HR} at (0,107) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,125) size 769x54
        RenderText {#text} at (0,0) size 757x54
          text run at (0,0) width 431: "The first line of this paragraph, and only that one, should be green. "
          text run at (430,0) width 327: "If this precise combination does not occur, then the"
          text run at (0,18) width 193: "user agent has failed this test. "
          text run at (192,18) width 550: "Remember that in order to ensure a complete test, the paragraph must be displayed on"
          text run at (0,36) width 124: "more than one line."
      RenderBlock {P} at (0,195) size 769x73
        RenderText {#text} at (0,0) size 766x73
          text run at (0,0) width 766: "The first line of this paragraph, and only that one, should be"
          text run at (0,37) width 221: "a larger font size as well as green. "
          text run at (220,37) width 520: "If this precise combination does not occur, then the user agent has failed this test."
          text run at (0,55) width 678: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
      RenderBlock {P} at (0,284) size 769x72
        RenderText {#text} at (0,0) size 762x54
          text run at (0,0) width 608: "The first line of this paragraph, and only that one, should be displayed in small-caps style. "
          text run at (607,0) width 155: "Thus, if the first line is"
          text run at (0,18) width 717: "not in small-caps style, OR if the entire paragraph turns out in small-caps, then the user agent has failed this test"
          text run at (0,36) width 235: "(although the problem might be that "
        RenderInline {CODE} at (0,0) size 79x15
          RenderText {#text} at (234,38) size 79x15
            text run at (234,38) width 79: "small-caps"
        RenderText {#text} at (312,36) size 754x36
          text run at (312,36) width 230: " is not supported by your browser). "
          text run at (541,36) width 213: "This is extra text included for the"
          text run at (0,54) width 480: "purposes of making the paragraph long enough to have more than one line."
      RenderTable {TABLE} at (0,372) size 769x267 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x265
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (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 767x239
            RenderTableCell {TD} at (0,132) size 12x27 [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,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x239 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x54
                RenderText {#text} at (0,0) size 746x54
                  text run at (0,0) width 431: "The first line of this paragraph, and only that one, should be green. "
                  text run at (430,0) width 304: "If this precise combination does not occur, then"
                  text run at (0,18) width 216: "the user agent has failed this test. "
                  text run at (215,18) width 531: "Remember that in order to ensure a complete test, the paragraph must be displayed"
                  text run at (0,36) width 144: "on more than one line."
              RenderBlock {P} at (4,74) size 747x73
                RenderText {#text} at (0,0) size 729x73
                  text run at (0,0) width 727: "The first line of this paragraph, and only that one, should"
                  text run at (0,37) width 240: "be a larger font size as well as green. "
                  text run at (239,37) width 490: "If this precise combination does not occur, then the user agent has failed this"
                  text run at (0,55) width 31: "test. "
                  text run at (30,55) width 678: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
              RenderBlock {P} at (4,163) size 747x72
                RenderText {#text} at (0,0) size 733x54
                  text run at (0,0) width 608: "The first line of this paragraph, and only that one, should be displayed in small-caps style. "
                  text run at (607,0) width 111: "Thus, if the first"
                  text run at (0,18) width 733: "line is not in small-caps style, OR if the entire paragraph turns out in small-caps, then the user agent has failed this"
                  text run at (0,36) width 261: "test (although the problem might be that "
                RenderInline {CODE} at (0,0) size 79x15
                  RenderText {#text} at (260,38) size 79x15
                    text run at (260,38) width 79: "small-caps"
                RenderText {#text} at (338,36) size 734x36
                  text run at (338,36) width 230: " is not supported by your browser). "
                  text run at (567,36) width 167: "This is extra text included"
                  text run at (0,54) width 526: "for the purposes of making the paragraph long enough to have more than one line."
