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 406x28
          text run at (0,0) width 398: ".one {margin-bottom: 25px; background-color: aqua;}"
          text run at (0,14) width 406: ".two {margin-bottom: -10px; background-color: aqua;}"
      RenderBlock {HR} at (0,77) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,95) size 784x60 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 490x19
          text run at (0,0) width 400: "This element is unstyled save for a background color of gray.. "
          text run at (399,0) width 91: "It contains an "
        RenderInline {SPAN} at (0,0) size 776x39 [bgcolor=#00FFFF]
          RenderText {#text} at (489,0) size 148x19
            text run at (489,0) width 148: "inline element of class "
          RenderInline {TT} at (0,0) size 25x14
            RenderText {#text} at (636,5) size 25x14
              text run at (636,5) width 25: "one"
          RenderText {#text} at (660,0) size 776x39
            text run at (660,0) width 116: ", giving it an aqua"
            text run at (0,20) width 249: "background and a 25px bottom margin"
        RenderText {#text} at (248,20) size 775x39
          text run at (248,20) width 9: ". "
          text run at (256,20) width 519: "Margins on inline elements does not affect line-height calculations, so all lines in"
          text run at (0,40) width 297: "this element should have the same line-height."
      RenderBlock {P} at (0,171) size 784x60 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 490x19
          text run at (0,0) width 400: "This element is unstyled save for a background color of gray.. "
          text run at (399,0) width 91: "It contains an "
        RenderInline {SPAN} at (0,0) size 776x39 [bgcolor=#00FFFF]
          RenderText {#text} at (489,0) size 148x19
            text run at (489,0) width 148: "inline element of class "
          RenderInline {TT} at (0,0) size 25x14
            RenderText {#text} at (636,5) size 25x14
              text run at (636,5) width 25: "two"
          RenderText {#text} at (660,0) size 776x39
            text run at (660,0) width 116: ", giving it an aqua"
            text run at (0,20) width 254: "background and a -10px bottom margin"
        RenderText {#text} at (253,20) size 781x39
          text run at (253,20) width 9: ". "
          text run at (261,20) width 520: "Margins on inline elements does not affect line-height calculations, so all lines in"
          text run at (0,40) width 297: "this element should have the same line-height."
      RenderTable {TABLE} at (0,247) size 784x174 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x172
          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 782x144
            RenderTableCell {TD} at (0,86) 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 770x144 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x60 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 490x19
                  text run at (0,0) width 400: "This element is unstyled save for a background color of gray.. "
                  text run at (399,0) width 91: "It contains an "
                RenderInline {SPAN} at (0,0) size 742x39 [bgcolor=#00FFFF]
                  RenderText {#text} at (489,0) size 148x19
                    text run at (489,0) width 148: "inline element of class "
                  RenderInline {TT} at (0,0) size 25x14
                    RenderText {#text} at (636,5) size 25x14
                      text run at (636,5) width 25: "one"
                  RenderText {#text} at (660,0) size 742x39
                    text run at (660,0) width 82: ", giving it an"
                    text run at (0,20) width 283: "aqua background and a 25px bottom margin"
                RenderText {#text} at (282,20) size 759x39
                  text run at (282,20) width 9: ". "
                  text run at (290,20) width 469: "Margins on inline elements does not affect line-height calculations, so all"
                  text run at (0,40) width 348: "lines in this element should have the same line-height."
              RenderBlock {P} at (4,80) size 762x60 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 490x19
                  text run at (0,0) width 400: "This element is unstyled save for a background color of gray.. "
                  text run at (399,0) width 91: "It contains an "
                RenderInline {SPAN} at (0,0) size 742x39 [bgcolor=#00FFFF]
                  RenderText {#text} at (489,0) size 148x19
                    text run at (489,0) width 148: "inline element of class "
                  RenderInline {TT} at (0,0) size 25x14
                    RenderText {#text} at (636,5) size 25x14
                      text run at (636,5) width 25: "two"
                  RenderText {#text} at (660,0) size 742x39
                    text run at (660,0) width 82: ", giving it an"
                    text run at (0,20) width 288: "aqua background and a -10px bottom margin"
                RenderText {#text} at (287,20) size 744x39
                  text run at (287,20) width 9: ". "
                  text run at (295,20) width 449: "Margins on inline elements does not affect line-height calculations, so"
                  text run at (0,40) width 368: "all lines in this element should have the same line-height."
