layer at (0,0) size 785x732
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x732
  RenderBlock {HTML} at (0,0) size 785x732
    RenderBody {BODY} at (8,8) size 769x716 [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 769x75
        RenderText {#text} at (0,0) size 272x75
          text run at (0,0) width 224: ".ttn {text-transform: none;}"
          text run at (0,15) width 272: ".cap {text-transform: capitalize;}"
          text run at (0,30) width 264: ".upp {text-transform: uppercase;}"
          text run at (0,45) width 264: ".low {text-transform: lowercase;}"
          text run at (0,60) width 0: " "
      RenderBlock {HR} at (0,122) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,140) size 769x36
        RenderText {#text} at (0,0) size 718x36
          text run at (0,0) width 718: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
          text run at (0,18) width 48: "normal."
      RenderBlock {P} at (0,192) size 769x54
        RenderText {#text} at (0,0) size 750x54
          text run at (0,0) width 750: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words That"
          text run at (0,18) width 722: "Are In Uppercase In The Source (E.G. USA) Should Remain So. There Should Be A Capital Letter After A Non-"
          text run at (0,36) width 538: "Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
      RenderBlock {P} at (0,262) size 769x36
        RenderText {#text} at (0,0) size 753x36
          text run at (0,0) width 753: "Words with inline elements inside them should only capitalize the first letter of the word. Therefore, the last word in this"
          text run at (0,18) width 304: "sentence should have one, and only one, capital "
        RenderInline {SPAN} at (0,0) size 37x18
          RenderText {#text} at (304,18) size 17x18
            text run at (304,18) width 17: "Le"
          RenderInline {SPAN} at (0,0) size 8x18
            RenderText {#text} at (321,18) size 8x18
              text run at (321,18) width 8: "tt"
          RenderText {#text} at (329,18) size 12x18
            text run at (329,18) width 12: "er"
        RenderText {#text} at (341,18) size 4x18
          text run at (341,18) width 4: "."
      RenderBlock {P} at (0,314) size 769x54
        RenderText {#text} at (0,0) size 721x36
          text run at (0,0) width 721: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
          text run at (0,18) width 359: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
          text run at (359,18) width 284: "IN THE LAST SENTENCE, HOWEVER, "
        RenderInline {SPAN} at (0,0) size 765x36
          RenderText {#text} at (643,18) size 765x36
            text run at (643,18) width 122: "the last eight words"
            text run at (0,36) width 152: "should not be uppercase"
        RenderText {#text} at (152,36) size 4x18
          text run at (152,36) width 4: "."
      RenderBlock {P} at (0,384) size 769x18
        RenderText {#text} at (0,0) size 726x18
          text run at (0,0) width 726: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
      RenderTable {TABLE} at (0,418) size 769x298 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x296
          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 767x270
            RenderTableCell {TD} at (0,148) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x270 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x36
                RenderText {#text} at (0,0) size 718x36
                  text run at (0,0) width 718: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
                  text run at (0,18) width 48: "normal."
              RenderBlock {P} at (4,56) size 747x54
                RenderText {#text} at (0,0) size 718x54
                  text run at (0,0) width 717: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words"
                  text run at (0,18) width 718: "That Are In Uppercase In The Source (E.G. USA) Should Remain So. There Should Be A Capital Letter After A"
                  text run at (0,36) width 571: "Non-Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
              RenderBlock {P} at (4,126) size 747x36
                RenderText {#text} at (0,0) size 727x36
                  text run at (0,0) width 727: "Words with inline elements inside them should only capitalize the first letter of the word. Therefore, the last word in"
                  text run at (0,18) width 330: "this sentence should have one, and only one, capital "
                RenderInline {SPAN} at (0,0) size 37x18
                  RenderText {#text} at (330,18) size 17x18
                    text run at (330,18) width 17: "Le"
                  RenderInline {SPAN} at (0,0) size 8x18
                    RenderText {#text} at (347,18) size 8x18
                      text run at (347,18) width 8: "tt"
                  RenderText {#text} at (355,18) size 12x18
                    text run at (355,18) width 12: "er"
                RenderText {#text} at (367,18) size 4x18
                  text run at (367,18) width 4: "."
              RenderBlock {P} at (4,178) size 747x54
                RenderText {#text} at (0,0) size 721x36
                  text run at (0,0) width 721: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
                  text run at (0,18) width 359: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
                  text run at (359,18) width 284: "IN THE LAST SENTENCE, HOWEVER, "
                RenderInline {SPAN} at (0,0) size 722x36
                  RenderText {#text} at (643,18) size 722x36
                    text run at (643,18) width 79: "the last eight"
                    text run at (0,36) width 195: "words should not be uppercase"
                RenderText {#text} at (195,36) size 4x18
                  text run at (195,36) width 4: "."
              RenderBlock {P} at (4,248) size 747x18
                RenderText {#text} at (0,0) size 726x18
                  text run at (0,0) width 726: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
