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 355x18
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x60
        RenderText {#text} at (0,0) size 360x60
          text run at (0,0) width 224: "P:first-line {color: green;}"
          text run at (0,15) width 272: ".two:first-line {font-size: 200%;}"
          text run at (0,30) width 360: ".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 761x54
          text run at (0,0) width 423: "The first line of this paragraph, and only that one, should be green. "
          text run at (423,0) width 320: "If this precise combination does not occur, then the"
          text run at (0,18) width 187: "user agent has failed this test. "
          text run at (187,18) width 574: "Remember that in order to ensure a complete test, the paragraph must be displayed on more"
          text run at (0,36) width 85: "than one line."
      RenderBlock {P} at (0,195) size 769x73
        RenderText {#text} at (0,0) size 767x73
          text run at (0,0) width 767: "The first line of this paragraph, and only that one, should be"
          text run at (0,37) width 216: "a larger font size as well as green. "
          text run at (216,37) width 507: "If this precise combination does not occur, then the user agent has failed this test."
          text run at (0,55) width 663: "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 (608,0) width 154: "Thus, if the first line is"
          text run at (0,18) width 762: "not in small-caps style, OR if the entire paragraph turns out in small-caps, then the user agent has failed this test (although"
          text run at (0,36) width 165: "the problem might be that "
        RenderInline {CODE} at (0,0) size 80x15
          RenderText {#text} at (165,38) size 80x15
            text run at (165,38) width 80: "small-caps"
        RenderText {#text} at (245,36) size 754x36
          text run at (245,36) width 225: " is not supported by your browser). "
          text run at (470,36) width 284: "This is extra text included for the purposes of"
          text run at (0,54) width 395: "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 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "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 743x54
                  text run at (0,0) width 423: "The first line of this paragraph, and only that one, should be green. "
                  text run at (423,0) width 320: "If this precise combination does not occur, then the"
                  text run at (0,18) width 187: "user agent has failed this test. "
                  text run at (187,18) width 538: "Remember that in order to ensure a complete test, the paragraph must be displayed on"
                  text run at (0,36) width 121: "more than one line."
              RenderBlock {P} at (4,74) size 747x73
                RenderText {#text} at (0,0) size 742x73
                  text run at (0,0) width 729: "The first line of this paragraph, and only that one, should"
                  text run at (0,37) width 235: "be a larger font size as well as green. "
                  text run at (235,37) width 507: "If this precise combination does not occur, then the user agent has failed this test."
                  text run at (0,55) width 663: "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 739x54
                  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 (608,0) width 110: "Thus, if the first"
                  text run at (0,18) width 739: "line is 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 229: "(although the problem might be that "
                RenderInline {CODE} at (0,0) size 80x15
                  RenderText {#text} at (229,38) size 80x15
                    text run at (229,38) width 80: "small-caps"
                RenderText {#text} at (309,36) size 741x36
                  text run at (309,36) width 225: " is not supported by your browser). "
                  text run at (534,36) width 207: "This is extra text included for the"
                  text run at (0,54) width 472: "purposes of making the paragraph long enough to have more than one line."
