layer at (0,0) size 800x3002
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x3002
  RenderBlock {HTML} at (0,0) size 800x3002
    RenderBody {BODY} at (8,8) size 784x2986 [bgcolor=#CCCCCC]
      RenderBlock (floating) {P} at (0,0) size 392x40 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 392x39
          text run at (0,0) width 392: "This paragraph is of class \"one\". It has a width of 50% and is"
          text run at (0,20) width 114: "floated to the left."
      RenderBlock {P} at (0,0) size 784x100
        RenderText {#text} at (392,0) size 784x99
          text run at (392,0) width 392: "This paragraph should start on the right side of a yellow box"
          text run at (392,20) width 392: "which contains the previous paragraph. Since the text of this"
          text run at (0,40) width 784: "element is much longer than the text in the previous element, the text will wrap around the yellow box. There is no"
          text run at (0,60) width 784: "padding, border or margins on this and the previous element, so the text of the two elements should be very close to each"
          text run at (0,80) width 36: "other."
      RenderBlock (anonymous) at (0,100) size 784x20
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock {HR} at (0,128) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (0,138) size 784x80 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 784x79
          text run at (0,0) width 784: "This paragraph is of class \"two\". Since the width has been set to 100%, it should automatically be as wide as its parent"
          text run at (0,20) width 784: "element allows it to be. Therefore, even though the element is floated, there is no room for other content on the sides and"
          text run at (0,40) width 784: "a orange square image should be seen AFTER the paragraph, not next to it. A yellow background has been added to this"
          text run at (0,60) width 222: "paragraph for diagnostic purposes."
      RenderBlock (anonymous) at (0,138) size 784x100
        RenderImage {IMG} at (0,80) size 15x15
        RenderText {#text} at (15,80) size 4x19
          text run at (15,80) width 4: " "
        RenderBR {BR} at (19,80) size 0x19
      RenderBlock {HR} at (0,246) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (0,256) size 392x120 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 392x119
          text run at (0,0) width 392: "This paragraph is floated to the left and the orange square"
          text run at (0,20) width 392: "image should appear to the right of the paragraph. This"
          text run at (0,40) width 392: "paragraph has a yellow background and no padding, margin"
          text run at (0,60) width 392: "or border. The right edge of this yellow box should be"
          text run at (0,80) width 392: "horizontally aligned with the left edge of the yellow box"
          text run at (0,100) width 81: "undernearth."
      RenderBlock (anonymous) at (0,256) size 784x120
        RenderImage {IMG} at (392,0) size 15x15
        RenderText {#text} at (407,0) size 4x19
          text run at (407,0) width 4: " "
        RenderBR {BR} at (411,0) size 0x19
      RenderBlock {HR} at (0,384) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (392,394) size 392x120 [bgcolor=#FFFF00]
        RenderText {#text} at (0,0) size 392x119
          text run at (0,0) width 392: "This paragraph is floated to the right (using a STYLE"
          text run at (0,20) width 392: "attribute) and the orange square image should appear to the"
          text run at (0,40) width 392: "left of the paragraph. This paragraph has a yellow"
          text run at (0,60) width 392: "background and no padding, margin or border. The left edge"
          text run at (0,80) width 392: "of this yellow box should be horizonally aligned with the"
          text run at (0,100) width 228: "right edge of the yellow box above."
      RenderBlock (anonymous) at (0,394) size 784x120
        RenderImage {IMG} at (0,0) size 15x15
        RenderText {#text} at (15,0) size 4x19
          text run at (15,0) width 4: " "
        RenderBR {BR} at (19,0) size 0x19
      RenderBlock {HR} at (0,522) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,532) size 784x60
        RenderBlock (floating) {SPAN} at (0,0) size 48x38 [bgcolor=#C0C0C0]
          RenderText {#text} at (0,1) size 22x36
            text run at (0,1) width 22: "T"
        RenderText {#text} at (48,0) size 784x59
          text run at (48,0) width 736: "he first letter (a \"T\") of this paragraph should float left and be twice the font-size of the rest of the paragraph, as"
          text run at (48,20) width 507: "well as bold, with a content width of 1.5em and a background-color of silver. "
          text run at (554,20) width 230: "The top of the big letter \"T\" should"
          text run at (0,40) width 689: "be vertically aligned with the top of the first line of this paragraph. This is commonly known as \"drop-cap\"."
      RenderBlock (anonymous) at (0,592) size 784x20
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock {HR} at (0,620) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {P} at (438,640) size 336x236 [bgcolor=#FFFF00] [border: (3px solid #FF0000)]
        RenderText {#text} at (8,8) size 320x219
          text run at (8,8) width 320: "This paragraph should be floated to the right, sort"
          text run at (8,28) width 320: "of like a 'sidebar' in a magazine article. Its width"
          text run at (8,48) width 320: "is 20em so the box should not be reformatted"
          text run at (8,68) width 320: "when the size of the viewport is changed (e.g."
          text run at (8,88) width 320: "when the window is resized). The background"
          text run at (8,108) width 320: "color of the element is yellow, and there should"
          text run at (8,128) width 320: "be a 3px solid red border outside a 5px wide"
          text run at (8,148) width 320: "padding. Also, the element has a 10px wide"
          text run at (8,168) width 320: "margin around it where the blue background of"
          text run at (8,188) width 320: "the paragraph in the normal flow should shine"
          text run at (8,208) width 54: "through."
      RenderBlock {P} at (0,630) size 784x220 [bgcolor=#66CCFF]
        RenderText {#text} at (0,0) size 428x219
          text run at (0,0) width 428: "This paragraph is not floating. If there is enough room, the textual"
          text run at (0,20) width 428: "content of the paragraph should appear on the left side of the"
          text run at (0,40) width 200: "yellow \"sidebar\" on the right. "
          text run at (199,40) width 229: "The content of this element should"
          text run at (0,60) width 230: "flow around the floated element. "
          text run at (229,60) width 199: "However, the floated element"
          text run at (0,80) width 428: "may or may not be obscured by the blue background of this"
          text run at (0,100) width 428: "element, as the specification does not say which is drawn \"on top.\""
          text run at (0,120) width 428: "Even if the floated element is obscured, it still forces the content"
          text run at (0,140) width 237: "of this element to flow around it. "
          text run at (236,140) width 192: "If the floated element is not"
          text run at (0,160) width 428: "obscured, then the blue rectangle of this paragraph should extend"
          text run at (0,180) width 428: "10px above and to the right of the sidebar's red border, due to the"
          text run at (0,200) width 261: "margin styles set for the floated element."
      RenderBlock (anonymous) at (0,850) size 784x36
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock {HR} at (0,894) size 784x2 [border: (1px inset #000000)]
      RenderBlock {DIV} at (0,904) size 784x28 [bgcolor=#66CCFF] [border: (4px solid #FF0000)]
        RenderBlock (floating) {DIV} at (440,14) size 330x270 [bgcolor=#FFFF00]
          RenderBlock {P} at (5,5) size 320x260
            RenderText {#text} at (0,0) size 320x259
              text run at (0,0) width 320: "This paragraph is placed inside a DIV element"
              text run at (0,20) width 320: "which is floated to the right. The width of the"
              text run at (0,40) width 320: "DIV element is 20em. The background is yellow"
              text run at (0,60) width 320: "and there is a 5px padding, a 10px margin and no"
              text run at (0,80) width 320: "border. Since it is floated, the yellow box should"
              text run at (0,100) width 320: "be rendered on top of the background and borders"
              text run at (0,120) width 320: "of adjacent non-floated elements. To the left of"
              text run at (0,140) width 320: "this yellow box there should be a short paragraph"
              text run at (0,160) width 320: "with a blue background and a red border. The"
              text run at (0,180) width 320: "yellow box should be rendered on top of the"
              text run at (0,200) width 320: "bottom red border. I.e., the bottom red border will"
              text run at (0,220) width 320: "appear broken where it's overlaid by the yellow"
              text run at (0,240) width 63: "rectangle."
        RenderBlock {P} at (4,4) size 776x20
          RenderText {#text} at (0,0) size 274x19
            text run at (0,0) width 274: "See description in the box on the right side"
      RenderBlock (anonymous) at (0,932) size 784x266
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock {HR} at (0,1206) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {DIV} at (0,1216) size 196x80 [bgcolor=#66CCFF]
        RenderBlock {P} at (0,0) size 196x80
          RenderText {#text} at (0,0) size 196x79
            text run at (0,0) width 196: "This paragraph is inside a"
            text run at (0,20) width 196: "DIV which is floated left. Its"
            text run at (0,40) width 196: "background is blue and the"
            text run at (0,60) width 89: "width is 25%."
      RenderBlock (floating) {DIV} at (588,1216) size 196x80 [bgcolor=#FFFF00]
        RenderBlock {P} at (0,0) size 196x80
          RenderText {#text} at (0,0) size 196x79
            text run at (0,0) width 196: "This paragraph is inside a"
            text run at (0,20) width 196: "DIV which is floated right. Its"
            text run at (0,40) width 196: "background is yellow and the"
            text run at (0,60) width 89: "width is 25%."
      RenderBlock {P} at (0,1216) size 784x40
        RenderText {#text} at (196,0) size 392x39
          text run at (196,0) width 392: "This paragraph should appear between a blue box (on the"
          text run at (196,20) width 31: "left) "
          text run at (226,20) width 203: "and a yellow box (on the right)."
      RenderBlock (anonymous) at (0,1256) size 784x40
        RenderBR {BR} at (196,0) size 0x19
      RenderBlock {HR} at (0,1304) size 784x2 [border: (1px inset #000000)]
      RenderBlock (floating) {DIV} at (0,1314) size 588x140 [bgcolor=#66CCFF]
        RenderBlock (floating) {DIV} at (431,0) size 147x40 [bgcolor=#FFFF00]
          RenderBlock {P} at (0,0) size 147x40
            RenderText {#text} at (0,0) size 147x39
              text run at (0,0) width 147: "See description in the"
              text run at (0,20) width 127: "box on the left side."
        RenderBlock {P} at (0,0) size 588x140
          RenderText {#text} at (0,0) size 588x139
            text run at (0,0) width 431: "This paragraph is inside a DIV which is floated left. The"
            text run at (0,20) width 431: "background of the DIV element is blue and its width is 75%. This"
            text run at (0,40) width 373: "text should all be inside the blue rectangle. The blue DIV "
            text run at (372,40) width 216: "element has another DIV element"
            text run at (0,60) width 170: "as a child. It has a yellow "
            text run at (169,60) width 370: "background color and is floated to the right. Since it is a "
            text run at (538,60) width 50: "child of"
            text run at (0,80) width 381: "the blue DIV, the yellow DIV should appear inside the "
            text run at (380,80) width 208: "blue rectangle. Due to it being"
            text run at (0,100) width 199: "floated to the right and having "
            text run at (198,100) width 390: "a 10px right margin, the yellow rectange should have a 10px"
            text run at (0,120) width 32: "blue "
            text run at (31,120) width 144: "stripe on its right side."
      RenderBlock (anonymous) at (0,1314) size 784x140
        RenderBR {BR} at (588,0) size 0x19
      RenderBlock {HR} at (0,1462) size 784x2 [border: (1px inset #000000)]
      RenderTable {TABLE} at (0,1472) size 784x1514 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x1512
          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 782x1484
            RenderTableCell {TD} at (0,756) 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 770x1484 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (floating) {P} at (4,4) size 381x40 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 381x39
                  text run at (0,0) width 381: "This paragraph is of class \"one\". It has a width of 50% and"
                  text run at (0,20) width 129: "is floated to the left."
              RenderBlock {P} at (4,4) size 762x100
                RenderText {#text} at (381,0) size 762x99
                  text run at (381,0) width 381: "This paragraph should start on the right side of a yellow"
                  text run at (381,20) width 381: "box which contains the previous paragraph. Since the text"
                  text run at (0,40) width 762: "of this element is much longer than the text in the previous element, the text will wrap around the yellow box. There is"
                  text run at (0,60) width 762: "no padding, border or margins on this and the previous element, so the text of the two elements should be very close to"
                  text run at (0,80) width 70: "each other."
              RenderBlock (anonymous) at (4,104) size 762x20
                RenderBR {BR} at (0,0) size 0x19
              RenderBlock {HR} at (4,132) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (4,142) size 762x80 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 762x79
                  text run at (0,0) width 762: "This paragraph is of class \"two\". Since the width has been set to 100%, it should automatically be as wide as its parent"
                  text run at (0,20) width 762: "element allows it to be. Therefore, even though the element is floated, there is no room for other content on the sides"
                  text run at (0,40) width 762: "and a orange square image should be seen AFTER the paragraph, not next to it. A yellow background has been added"
                  text run at (0,60) width 265: "to this paragraph for diagnostic purposes."
              RenderBlock (anonymous) at (4,142) size 762x100
                RenderImage {IMG} at (0,80) size 15x15
                RenderText {#text} at (15,80) size 4x19
                  text run at (15,80) width 4: " "
                RenderBR {BR} at (19,80) size 0x19
              RenderBlock {HR} at (4,250) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (4,260) size 381x120 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 381x119
                  text run at (0,0) width 381: "This paragraph is floated to the left and the orange square"
                  text run at (0,20) width 381: "image should appear to the right of the paragraph. This"
                  text run at (0,40) width 381: "paragraph has a yellow background and no padding,"
                  text run at (0,60) width 381: "margin or border. The right edge of this yellow box should"
                  text run at (0,80) width 381: "be horizontally aligned with the left edge of the yellow box"
                  text run at (0,100) width 81: "undernearth."
              RenderBlock (anonymous) at (4,260) size 762x120
                RenderImage {IMG} at (381,0) size 15x15
                RenderText {#text} at (396,0) size 4x19
                  text run at (396,0) width 4: " "
                RenderBR {BR} at (400,0) size 0x19
              RenderBlock {HR} at (4,388) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (385,398) size 381x120 [bgcolor=#FFFF00]
                RenderText {#text} at (0,0) size 381x119
                  text run at (0,0) width 381: "This paragraph is floated to the right (using a STYLE"
                  text run at (0,20) width 381: "attribute) and the orange square image should appear to the"
                  text run at (0,40) width 381: "left of the paragraph. This paragraph has a yellow"
                  text run at (0,60) width 381: "background and no padding, margin or border. The left"
                  text run at (0,80) width 381: "edge of this yellow box should be horizonally aligned with"
                  text run at (0,100) width 251: "the right edge of the yellow box above."
              RenderBlock (anonymous) at (4,398) size 762x120
                RenderImage {IMG} at (0,0) size 15x15
                RenderText {#text} at (15,0) size 4x19
                  text run at (15,0) width 4: " "
                RenderBR {BR} at (19,0) size 0x19
              RenderBlock {HR} at (4,526) size 762x2 [border: (1px inset #000000)]
              RenderBlock {P} at (4,536) size 762x60
                RenderBlock (floating) {SPAN} at (0,0) size 48x38 [bgcolor=#C0C0C0]
                  RenderText {#text} at (0,1) size 22x36
                    text run at (0,1) width 22: "T"
                RenderText {#text} at (48,0) size 762x59
                  text run at (48,0) width 714: "he first letter (a \"T\") of this paragraph should float left and be twice the font-size of the rest of the paragraph,"
                  text run at (48,20) width 530: "as well as bold, with a content width of 1.5em and a background-color of silver. "
                  text run at (577,20) width 185: "The top of the big letter \"T\""
                  text run at (0,40) width 736: "should be vertically aligned with the top of the first line of this paragraph. This is commonly known as \"drop-cap\"."
              RenderBlock (anonymous) at (4,596) size 762x20
                RenderBR {BR} at (0,0) size 0x19
              RenderBlock {HR} at (4,624) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {P} at (420,644) size 336x236 [bgcolor=#FFFF00] [border: (3px solid #FF0000)]
                RenderText {#text} at (8,8) size 320x219
                  text run at (8,8) width 320: "This paragraph should be floated to the right, sort"
                  text run at (8,28) width 320: "of like a 'sidebar' in a magazine article. Its width"
                  text run at (8,48) width 320: "is 20em so the box should not be reformatted"
                  text run at (8,68) width 320: "when the size of the viewport is changed (e.g."
                  text run at (8,88) width 320: "when the window is resized). The background"
                  text run at (8,108) width 320: "color of the element is yellow, and there should"
                  text run at (8,128) width 320: "be a 3px solid red border outside a 5px wide"
                  text run at (8,148) width 320: "padding. Also, the element has a 10px wide"
                  text run at (8,168) width 320: "margin around it where the blue background of"
                  text run at (8,188) width 320: "the paragraph in the normal flow should shine"
                  text run at (8,208) width 54: "through."
              RenderBlock {P} at (4,634) size 762x240 [bgcolor=#66CCFF]
                RenderText {#text} at (0,0) size 406x239
                  text run at (0,0) width 406: "This paragraph is not floating. If there is enough room, the"
                  text run at (0,20) width 406: "textual content of the paragraph should appear on the left side"
                  text run at (0,40) width 270: "of the yellow \"sidebar\" on the right. "
                  text run at (269,40) width 137: "The content of this"
                  text run at (0,60) width 320: "element should flow around the floated element. "
                  text run at (319,60) width 87: "However, the"
                  text run at (0,80) width 406: "floated element may or may not be obscured by the blue"
                  text run at (0,100) width 406: "background of this element, as the specification does not say"
                  text run at (0,120) width 191: "which is drawn \"on top.\" "
                  text run at (190,120) width 216: "Even if the floated element is"
                  text run at (0,140) width 406: "obscured, it still forces the content of this element to flow"
                  text run at (0,160) width 68: "around it. "
                  text run at (67,160) width 339: "If the floated element is not obscured, then the blue"
                  text run at (0,180) width 406: "rectangle of this paragraph should extend 10px above and to"
                  text run at (0,200) width 406: "the right of the sidebar's red border, due to the margin styles set"
                  text run at (0,220) width 150: "for the floated element."
              RenderBlock (anonymous) at (4,874) size 762x20
                RenderBR {BR} at (0,0) size 0x19
              RenderBlock {HR} at (4,902) size 762x2 [border: (1px inset #000000)]
              RenderBlock {DIV} at (4,912) size 762x28 [bgcolor=#66CCFF] [border: (4px solid #FF0000)]
                RenderBlock (floating) {DIV} at (418,14) size 330x270 [bgcolor=#FFFF00]
                  RenderBlock {P} at (5,5) size 320x260
                    RenderText {#text} at (0,0) size 320x259
                      text run at (0,0) width 320: "This paragraph is placed inside a DIV element"
                      text run at (0,20) width 320: "which is floated to the right. The width of the"
                      text run at (0,40) width 320: "DIV element is 20em. The background is yellow"
                      text run at (0,60) width 320: "and there is a 5px padding, a 10px margin and no"
                      text run at (0,80) width 320: "border. Since it is floated, the yellow box should"
                      text run at (0,100) width 320: "be rendered on top of the background and borders"
                      text run at (0,120) width 320: "of adjacent non-floated elements. To the left of"
                      text run at (0,140) width 320: "this yellow box there should be a short paragraph"
                      text run at (0,160) width 320: "with a blue background and a red border. The"
                      text run at (0,180) width 320: "yellow box should be rendered on top of the"
                      text run at (0,200) width 320: "bottom red border. I.e., the bottom red border will"
                      text run at (0,220) width 320: "appear broken where it's overlaid by the yellow"
                      text run at (0,240) width 63: "rectangle."
                RenderBlock {P} at (4,4) size 754x20
                  RenderText {#text} at (0,0) size 274x19
                    text run at (0,0) width 274: "See description in the box on the right side"
              RenderBlock (anonymous) at (4,940) size 762x266
                RenderBR {BR} at (0,0) size 0x19
              RenderBlock {HR} at (4,1214) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {DIV} at (4,1224) size 191x80 [bgcolor=#66CCFF]
                RenderBlock {P} at (0,0) size 191x80
                  RenderText {#text} at (0,0) size 191x79
                    text run at (0,0) width 191: "This paragraph is inside a"
                    text run at (0,20) width 191: "DIV which is floated left. Its"
                    text run at (0,40) width 191: "background is blue and the"
                    text run at (0,60) width 89: "width is 25%."
              RenderBlock (floating) {DIV} at (575,1224) size 191x80 [bgcolor=#FFFF00]
                RenderBlock {P} at (0,0) size 191x80
                  RenderText {#text} at (0,0) size 191x79
                    text run at (0,0) width 191: "This paragraph is inside a"
                    text run at (0,20) width 191: "DIV which is floated right."
                    text run at (0,40) width 22: "Its "
                    text run at (21,40) width 170: "background is yellow and"
                    text run at (0,60) width 112: "the width is 25%."
              RenderBlock {P} at (4,1224) size 762x40
                RenderText {#text} at (190,0) size 382x39
                  text run at (190,0) width 382: "This paragraph should appear between a blue box (on the"
                  text run at (190,20) width 32: "left) "
                  text run at (221,20) width 203: "and a yellow box (on the right)."
              RenderBlock (anonymous) at (4,1264) size 762x40
                RenderBR {BR} at (190,0) size 1x19
              RenderBlock {HR} at (4,1312) size 762x2 [border: (1px inset #000000)]
              RenderBlock (floating) {DIV} at (4,1322) size 572x140 [bgcolor=#66CCFF]
                RenderBlock (floating) {DIV} at (418,0) size 144x40 [bgcolor=#FFFF00]
                  RenderBlock {P} at (0,0) size 143x40
                    RenderText {#text} at (0,0) size 143x39
                      text run at (0,0) width 143: "See description in the"
                      text run at (0,20) width 127: "box on the left side."
                RenderBlock {P} at (0,0) size 572x140
                  RenderText {#text} at (0,0) size 572x139
                    text run at (0,0) width 419: "This paragraph is inside a DIV which is floated left. The"
                    text run at (0,20) width 419: "background of the DIV element is blue and its width is 75%."
                    text run at (0,40) width 34: "This "
                    text run at (33,40) width 377: "text should all be inside the blue rectangle. The blue DIV "
                    text run at (409,40) width 163: "element has another DIV"
                    text run at (0,60) width 223: "element as a child. It has a yellow "
                    text run at (222,60) width 350: "background color and is floated to the right. Since it is"
                    text run at (0,80) width 12: "a "
                    text run at (11,80) width 407: "child of the blue DIV, the yellow DIV should appear inside the "
                    text run at (417,80) width 155: "blue rectangle. Due to it"
                    text run at (0,100) width 252: "being floated to the right and having "
                    text run at (251,100) width 321: "a 10px right margin, the yellow rectange should"
                    text run at (0,120) width 113: "have a 10px blue "
                    text run at (112,120) width 144: "stripe on its right side."
              RenderBlock (anonymous) at (4,1322) size 762x140
                RenderBR {BR} at (571,0) size 1x19
              RenderBlock {HR} at (4,1470) size 762x2 [border: (1px inset #000000)]
