layer at (0,0) size 785x745
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x745
  RenderBlock {HTML} at (0,0) size 785x745
    RenderBody {BODY} at (8,8) size 769x729 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x80
        RenderText {#text} at (0,0) size 272x80
          text run at (0,0) width 224: ".ttn {text-transform: none;}"
          text run at (0,16) width 272: ".cap {text-transform: capitalize;}"
          text run at (0,32) width 264: ".upp {text-transform: uppercase;}"
          text run at (0,48) width 264: ".low {text-transform: lowercase;}"
          text run at (0,64) width 0: " "
      RenderBlock {HR} at (0,129) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,147) size 769x20
        RenderText {#text} at (0,0) size 740x19
          text run at (0,0) width 740: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear normal."
      RenderBlock {P} at (0,183) size 769x60
        RenderText {#text} at (0,0) size 764x59
          text run at (0,0) width 764: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words That Are In"
          text run at (0,20) width 744: "Uppercase In The Source (E.G. USA) Should Remain So. There Should Be A Capital Letter After A Non-Breaking Space"
          text run at (0,40) width 420: "(&Nbsp;). Both Those Characters Appear In The Previous Sentence."
      RenderBlock {P} at (0,259) size 769x40
        RenderText {#text} at (0,0) size 766x39
          text run at (0,0) width 766: "Words with inline elements inside them should only capitalize the first letter of the word. Therefore, the last word in this sentence"
          text run at (0,20) width 233: "should have one, and only one, capital "
        RenderInline {SPAN} at (0,0) size 36x19
          RenderText {#text} at (233,20) size 16x19
            text run at (233,20) width 16: "Le"
          RenderInline {SPAN} at (0,0) size 8x19
            RenderText {#text} at (249,20) size 8x19
              text run at (249,20) width 8: "tt"
          RenderText {#text} at (257,20) size 12x19
            text run at (257,20) width 12: "er"
        RenderText {#text} at (269,20) size 4x19
          text run at (269,20) width 4: "."
      RenderBlock {P} at (0,315) size 769x60
        RenderText {#text} at (0,0) size 749x39
          text run at (0,0) width 749: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5}) SHOULD"
          text run at (0,20) width 272: "THEREFORE APPEAR IN UPPERCASE. "
          text run at (272,20) width 269: "IN THE LAST SENTENCE, HOWEVER, "
        RenderInline {SPAN} at (0,0) size 742x39
          RenderText {#text} at (541,20) size 742x39
            text run at (541,20) width 201: "the last eight words should not be"
            text run at (0,40) width 62: "uppercase"
        RenderText {#text} at (62,40) size 4x19
          text run at (62,40) width 4: "."
      RenderBlock {P} at (0,391) size 769x20
        RenderText {#text} at (0,0) size 700x19
          text run at (0,0) width 700: "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,427) size 769x302 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x300
          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 767x272
            RenderTableCell {TD} at (0,150) 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 755x272 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x20
                RenderText {#text} at (0,0) size 740x19
                  text run at (0,0) width 740: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear normal."
              RenderBlock {P} at (4,40) size 747x60
                RenderText {#text} at (0,0) size 721x59
                  text run at (0,0) width 721: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words That"
                  text run at (0,20) width 691: "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,40) width 520: "Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
              RenderBlock {P} at (4,116) size 747x40
                RenderText {#text} at (0,0) size 710x39
                  text run at (0,0) width 710: "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,20) width 289: "sentence should have one, and only one, capital "
                RenderInline {SPAN} at (0,0) size 36x19
                  RenderText {#text} at (289,20) size 16x19
                    text run at (289,20) width 16: "Le"
                  RenderInline {SPAN} at (0,0) size 8x19
                    RenderText {#text} at (305,20) size 8x19
                      text run at (305,20) width 8: "tt"
                  RenderText {#text} at (313,20) size 12x19
                    text run at (313,20) width 12: "er"
                RenderText {#text} at (325,20) size 4x19
                  text run at (325,20) width 4: "."
              RenderBlock {P} at (4,172) size 747x60
                RenderText {#text} at (0,0) size 682x39
                  text run at (0,0) width 682: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
                  text run at (0,20) width 339: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
                  text run at (339,20) width 269: "IN THE LAST SENTENCE, HOWEVER, "
                RenderInline {SPAN} at (0,0) size 724x39
                  RenderText {#text} at (608,20) size 724x39
                    text run at (608,20) width 116: "the last eight words"
                    text run at (0,40) width 147: "should not be uppercase"
                RenderText {#text} at (147,40) size 4x19
                  text run at (147,40) width 4: "."
              RenderBlock {P} at (4,248) size 747x20
                RenderText {#text} at (0,0) size 700x19
                  text run at (0,0) width 700: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
