layer at (0,0) size 785x2341
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2341
  RenderBlock {HTML} at (0,0) size 785x2341
    RenderBody {BODY} at (8,8) size 769x2325 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x120
        RenderText {#text} at (0,0) size 504x120
          text run at (0,0) width 208: "IMG.one {display: inline;}"
          text run at (0,15) width 200: "IMG.two {display: block;}"
          text run at (0,30) width 208: "IMG.three {display: block;"
          text run at (0,45) width 504: "           margin-right: auto; margin-left: auto; width: auto;}"
          text run at (0,60) width 200: "IMG.four {display: block;"
          text run at (0,75) width 488: "          margin-right: auto; margin-left: auto; width: 50%;}"
          text run at (0,90) width 200: "IMG.five {display: block;"
          text run at (0,105) width 464: "          margin-right: 0; margin-left: auto; width: 50%;}"
      RenderBlock {HR} at (0,167) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,185) size 769x19
        RenderImage {IMG} at (0,0) size 15x15
        RenderText {#text} at (15,1) size 434x17
          text run at (15,1) width 434: "The image at the beginning of this sentence should be a 15px square."
      RenderImage {IMG} at (0,220) size 15x15
      RenderBlock {P} at (0,251) size 769x18
        RenderText {#text} at (0,0) size 489x17
          text run at (0,0) width 489: "The above image should be a 15px square with the same left edge as this text."
      RenderImage {IMG} at (377,285) size 15x15
      RenderBlock {P} at (0,316) size 769x18
        RenderText {#text} at (0,0) size 400x17
          text run at (0,0) width 400: "The above image should be a 15px square aligned at the center."
      RenderImage {IMG} at (192,350) size 385x385
      RenderBlock {P} at (0,751) size 769x36
        RenderText {#text} at (0,0) size 766x35
          text run at (0,0) width 766: "The above image should be a square resized so its width is 50% of the its parent element, and centered horizontally within"
          text run at (0,18) width 123: "the parent element: "
          text run at (123,18) width 395: "the document body in the first half, and the table in the second."
      RenderImage {IMG} at (384,803) size 385x385
      RenderBlock {P} at (0,1204) size 769x36
        RenderText {#text} at (0,0) size 758x35
          text run at (0,0) width 758: "The above image should be a square resized so its width is 50% of its parent element, and aligned at the right edge of the"
          text run at (0,18) width 100: "parent element: "
          text run at (100,18) width 395: "the document body in the first half, and the table in the second."
      RenderTable {TABLE} at (0,1256) size 769x1069 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x1067
          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 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x1041
            RenderTableCell {TD} at (0,533) size 12x27 [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,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x1041 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x19
                RenderImage {IMG} at (0,0) size 15x15
                RenderText {#text} at (15,1) size 434x17
                  text run at (15,1) width 434: "The image at the beginning of this sentence should be a 15px square."
              RenderImage {IMG} at (4,39) size 15x15
              RenderBlock {P} at (4,70) size 747x18
                RenderText {#text} at (0,0) size 489x17
                  text run at (0,0) width 489: "The above image should be a 15px square with the same left edge as this text."
              RenderImage {IMG} at (370,104) size 15x15
              RenderBlock {P} at (4,135) size 747x18
                RenderText {#text} at (0,0) size 400x17
                  text run at (0,0) width 400: "The above image should be a 15px square aligned at the center."
              RenderImage {IMG} at (190,169) size 375x374
              RenderBlock {P} at (4,559) size 747x36
                RenderText {#text} at (0,0) size 722x35
                  text run at (0,0) width 722: "The above image should be a square resized so its width is 50% of the its parent element, and centered horizontally"
                  text run at (0,18) width 167: "within the parent element: "
                  text run at (167,18) width 395: "the document body in the first half, and the table in the second."
              RenderImage {IMG} at (377,611) size 374x374
              RenderBlock {P} at (4,1001) size 747x36
                RenderText {#text} at (0,0) size 735x35
                  text run at (0,0) width 735: "The above image should be a square resized so its width is 50% of its parent element, and aligned at the right edge of"
                  text run at (0,18) width 123: "the parent element: "
                  text run at (123,18) width 395: "the document body in the first half, and the table in the second."
