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 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x120
        RenderText {#text} at (0,0) size 492x120
          text run at (0,0) width 203: "IMG.one {display: inline;}"
          text run at (0,15) width 196: "IMG.two {display: block;}"
          text run at (0,30) width 203: "IMG.three {display: block;"
          text run at (0,45) width 492: "           margin-right: auto; margin-left: auto; width: auto;}"
          text run at (0,60) width 196: "IMG.four {display: block;"
          text run at (0,75) width 476: "          margin-right: auto; margin-left: auto; width: 50%;}"
          text run at (0,90) width 196: "IMG.five {display: block;"
          text run at (0,105) width 453: "          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 442x18
          text run at (15,1) width 442: "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 498x18
          text run at (0,0) width 498: "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 406x18
          text run at (0,0) width 406: "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 738x36
          text run at (0,0) width 738: "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 172: "within the parent element: "
          text run at (171,18) width 404: "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 750x36
          text run at (0,0) width 750: "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 127: "the parent element: "
          text run at (126,18) width 404: "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 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "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 4x19
                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 442x18
                  text run at (15,1) width 442: "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 498x18
                  text run at (0,0) width 498: "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 406x18
                  text run at (0,0) width 406: "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 738x36
                  text run at (0,0) width 738: "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 172: "within the parent element: "
                  text run at (171,18) width 404: "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 733x36
                  text run at (0,0) width 733: "The above image should be a square resized so its width is 50% of its parent element, and aligned at the right edge"
                  text run at (0,18) width 144: "of the parent element: "
                  text run at (143,18) width 404: "the document body in the first half, and the table in the second."
