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 (218,0) width 1: " "
          text run at (0,15) width 266: ".two:first-line {font-size: 200%;}"
          text run at (265,15) width 1: " "
          text run at (0,30) width 352: ".three:first-line {font-variant: small-caps;}"
          text run at (351,30) width 1: " "
          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,3) size 4x20
                text run at (4,4) 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."
