layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x20
        RenderText {#text} at (0,0) size 363x19
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x28
        RenderText {#text} at (0,0) size 539x28
          text run at (0,0) width 539: ".one {margin-right: 25px; text-align: right; background-color: aqua;}"
          text run at (0,14) width 398: ".two {margin-right: -10px; background-color: aqua;}"
      RenderBlock {HR} at (0,77) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,95) size 784x40 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 551x19
          text run at (0,0) width 396: "This element is unstyled save for a background color of gray. "
          text run at (395,0) width 156: "However, it contains an "
        RenderInline {SPAN} at (0,0) size 172x19 [bgcolor=#00FFFF]
          RenderText {#text} at (550,0) size 149x19
            text run at (550,0) width 149: "inline element of class "
          RenderInline {TT} at (0,0) size 24x14
            RenderText {#text} at (698,5) size 24x14
              text run at (698,5) width 24: "one"
        RenderText {#text} at (746,0) size 751x39
          text run at (746,0) width 5: ","
          text run at (0,20) width 359: "which should result in 25-pixel right margin only in the "
        RenderInline {STRONG} at (0,0) size 25x19
          RenderText {#text} at (358,20) size 25x19
            text run at (358,20) width 25: "last"
        RenderText {#text} at (382,20) size 238x19
          text run at (382,20) width 238: " line in which the inline box appears."
      RenderBlock {P} at (0,151) size 784x40 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 551x19
          text run at (0,0) width 396: "This element is unstyled save for a background color of gray. "
          text run at (395,0) width 156: "However, it contains an "
        RenderInline {SPAN} at (0,0) size 172x19 [bgcolor=#00FFFF]
          RenderText {#text} at (550,0) size 149x19
            text run at (550,0) width 149: "inline element of class "
          RenderInline {TT} at (0,0) size 24x14
            RenderText {#text} at (698,5) size 24x14
              text run at (698,5) width 24: "two"
        RenderText {#text} at (711,0) size 759x39
          text run at (711,0) width 48: ", which"
          text run at (0,20) width 300: "should result in -10px right margin only in the "
        RenderInline {STRONG} at (0,0) size 25x19
          RenderText {#text} at (299,20) size 25x19
            text run at (299,20) width 25: "last"
        RenderText {#text} at (323,20) size 238x19
          text run at (323,20) width 238: " line in which the inline box appears."
      RenderTable {TABLE} at (0,207) size 784x134 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x132
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (4,4) size 161x19
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x104
            RenderTableCell {TD} at (0,66) 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 770x104 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x40 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 551x19
                  text run at (0,0) width 396: "This element is unstyled save for a background color of gray. "
                  text run at (395,0) width 156: "However, it contains an "
                RenderInline {SPAN} at (0,0) size 172x19 [bgcolor=#00FFFF]
                  RenderText {#text} at (550,0) size 149x19
                    text run at (550,0) width 149: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x14
                    RenderText {#text} at (698,5) size 24x14
                      text run at (698,5) width 24: "one"
                RenderText {#text} at (746,0) size 751x39
                  text run at (746,0) width 5: ","
                  text run at (0,20) width 359: "which should result in 25-pixel right margin only in the "
                RenderInline {STRONG} at (0,0) size 25x19
                  RenderText {#text} at (358,20) size 25x19
                    text run at (358,20) width 25: "last"
                RenderText {#text} at (382,20) size 238x19
                  text run at (382,20) width 238: " line in which the inline box appears."
              RenderBlock {P} at (4,60) size 762x40 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 551x19
                  text run at (0,0) width 396: "This element is unstyled save for a background color of gray. "
                  text run at (395,0) width 156: "However, it contains an "
                RenderInline {SPAN} at (0,0) size 172x19 [bgcolor=#00FFFF]
                  RenderText {#text} at (550,0) size 149x19
                    text run at (550,0) width 149: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x14
                    RenderText {#text} at (698,5) size 24x14
                      text run at (698,5) width 24: "two"
                RenderText {#text} at (711,0) size 759x39
                  text run at (711,0) width 48: ", which"
                  text run at (0,20) width 300: "should result in -10px right margin only in the "
                RenderInline {STRONG} at (0,0) size 25x19
                  RenderText {#text} at (299,20) size 25x19
                    text run at (299,20) width 25: "last"
                RenderText {#text} at (323,20) size 238x19
                  text run at (323,20) width 238: " line in which the inline box appears."
