layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x557
  RenderBlock {HTML} at (0,0) size 800x557 [bgcolor=#00FF99]
    RenderBody {BODY} at (57,64) size 686x429 [bgcolor=#99FFCC] [border: (3px solid #000000)]
      RenderBlock {P} at (3,3) size 680x64
        RenderText {#text} at (0,5) size 631x53
          text run at (0,5) width 593: "These links are in an element with display table-row, and the li elements "
          text run at (592,5) width 39: "have"
          text run at (0,37) width 155: "display: table-cell. "
          text run at (154,37) width 131: "They disappear:"
      RenderTable at (3,67) size 302x21
        RenderTableSection (anonymous) at (0,0) size 302x21
          RenderTableRow {UL} at (0,0) size 302x21 [bgcolor=#00CC99]
            RenderTableCell {LI} at (0,0) size 76x21 [r=0 c=0 rs=1 cs=1]
              RenderInline {A} at (0,0) size 54x21 [color=#0000EE]
                RenderText {#text} at (11,0) size 54x21
                  text run at (11,0) width 54: "people"
            RenderTableCell {LI} at (75,0) size 76x21 [r=0 c=1 rs=1 cs=1]
              RenderInline {A} at (0,0) size 51x21 [color=#0000EE]
                RenderText {#text} at (12,0) size 51x21
                  text run at (12,0) width 51: "places"
            RenderTableCell {LI} at (150,0) size 76x21 [r=0 c=2 rs=1 cs=1]
              RenderInline {A} at (0,0) size 76x21 [color=#0000EE]
                RenderText {#text} at (0,0) size 76x21
                  text run at (0,0) width 76: "members"
            RenderTableCell {LI} at (225,0) size 77x21 [r=0 c=3 rs=1 cs=1]
              RenderInline {A} at (0,0) size 38x21 [color=#0000EE]
                RenderText {#text} at (19,0) size 38x21
                  text run at (19,0) width 38: "links"
      RenderBlock {DIV} at (3,88) size 680x338
        RenderBlock (anonymous) at (16,16) size 648x21
          RenderText {#text} at (0,0) size 510x21
            text run at (0,0) width 227: "This text is not in the form. "
            text run at (226,0) width 284: "The form should be indented 40px."
        RenderBlock {FORM} at (96,37) size 568x285
          RenderBlock {P} at (0,0) size 568x64
            RenderText {#text} at (0,5) size 541x53
              text run at (0,5) width 195: "This is text in the form. "
              text run at (194,5) width 230: "It should be indented 40px. "
              text run at (423,5) width 118: "The form itself"
              text run at (0,37) width 373: "has the same table-row/table-cell problem as "
              text run at (372,37) width 55: "above."
          RenderBlock {P} at (0,64) size 568x63
            RenderTable {SPAN} at (0,3) size 134x60
              RenderTableSection (anonymous) at (0,0) size 134x60
                RenderTableRow {SPAN} at (0,0) size 134x28
                  RenderTableCell (anonymous) at (0,0) size 134x28 [r=0 c=0 rs=1 cs=1]
                    RenderText {#text} at (0,6) size 134x16
                      text run at (0,6) width 134: "First Name (required)"
                RenderTableRow (anonymous) at (0,28) size 134x32
                  RenderTableCell (anonymous) at (0,28) size 134x32 [r=1 c=0 rs=1 cs=1]
                    RenderTextControl {INPUT} at (2,8) size 111x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderText {#text} at (133,5) size 6x21
              text run at (133,5) width 6: " "
            RenderTable {SPAN} at (138,3) size 133x60
              RenderTableSection (anonymous) at (0,0) size 133x60
                RenderTableRow {SPAN} at (0,0) size 133x28
                  RenderTableCell (anonymous) at (0,0) size 133x28 [r=0 c=0 rs=1 cs=1]
                    RenderText {#text} at (0,6) size 133x16
                      text run at (0,6) width 133: "Last Name (required)"
                RenderTableRow (anonymous) at (0,28) size 133x32
                  RenderTableCell (anonymous) at (0,28) size 133x32 [r=1 c=0 rs=1 cs=1]
                    RenderTextControl {INPUT} at (2,8) size 111x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderText {#text} at (0,0) size 0x0
          RenderBlock {P} at (0,127) size 568x63
            RenderTable {SPAN} at (0,3) size 262x60
              RenderTableSection (anonymous) at (0,0) size 262x60
                RenderTableRow {SPAN} at (0,0) size 262x28
                  RenderTableCell (anonymous) at (0,0) size 262x28 [r=0 c=0 rs=1 cs=1]
                    RenderText {#text} at (0,6) size 91x16
                      text run at (0,6) width 91: "Email Address"
                RenderTableRow (anonymous) at (0,28) size 262x32
                  RenderTableCell (anonymous) at (0,28) size 262x32 [r=1 c=0 rs=1 cs=1]
                    RenderTextControl {INPUT} at (2,8) size 258x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderText {#text} at (0,0) size 0x0
          RenderBlock {P} at (0,190) size 568x63
            RenderTable {SPAN} at (0,3) size 115x60
              RenderTableSection (anonymous) at (0,0) size 115x60
                RenderTableRow {SPAN} at (0,0) size 115x28
                  RenderTableCell (anonymous) at (0,0) size 115x28 [r=0 c=0 rs=1 cs=1]
                    RenderText {#text} at (0,6) size 102x16
                      text run at (0,6) width 102: "Company Name"
                RenderTableRow (anonymous) at (0,28) size 115x32
                  RenderTableCell (anonymous) at (0,28) size 115x32 [r=1 c=0 rs=1 cs=1]
                    RenderTextControl {INPUT} at (2,8) size 111x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderText {#text} at (114,5) size 7x21
              text run at (114,5) width 7: " "
            RenderTable {SPAN} at (120,3) size 116x60
              RenderTableSection (anonymous) at (0,0) size 115x60
                RenderTableRow {SPAN} at (0,0) size 115x28
                  RenderTableCell (anonymous) at (0,0) size 115x28 [r=0 c=0 rs=1 cs=1]
                    RenderText {#text} at (0,6) size 26x16
                      text run at (0,6) width 26: "Title"
                RenderTableRow (anonymous) at (0,28) size 115x32
                  RenderTableCell (anonymous) at (0,28) size 115x32 [r=1 c=0 rs=1 cs=1]
                    RenderTextControl {INPUT} at (2,8) size 111x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
            RenderText {#text} at (0,0) size 0x0
          RenderBlock {P} at (0,253) size 568x32
            RenderButton {INPUT} at (2,8) size 62x20 [bgcolor=#FFFFFF02] [border: (1px solid #4C4C4C)]
              RenderBlock (anonymous) at (12,3) size 38x14
                RenderText at (0,0) size 38x14
                  text run at (0,0) width 38: "Submit!"
            RenderText {#text} at (65,5) size 6x21
              text run at (65,5) width 6: " "
            RenderButton {INPUT} at (72,8) size 80x20 [bgcolor=#FFFFFF02] [border: (1px solid #4C4C4C)]
              RenderBlock (anonymous) at (12,3) size 56x14
                RenderText at (0,0) size 56x14
                  text run at (0,0) width 56: "Clear Form"
            RenderText {#text} at (0,0) size 0x0
layer at (165,295) size 97x14
  RenderBlock {DIV} at (6,3) size 99x15
layer at (303,295) size 97x14
  RenderBlock {DIV} at (6,3) size 99x15
layer at (165,358) size 244x14
  RenderBlock {DIV} at (6,3) size 246x15
layer at (165,421) size 97x14
  RenderBlock {DIV} at (6,3) size 99x15
layer at (285,421) size 97x14
  RenderBlock {DIV} at (6,3) size 99x15
