layer at (0,0) size 785x2270
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2270
  RenderBlock {HTML} at (0,0) size 785x2270
    RenderBody {BODY} at (8,16) size 769x2206 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 168x17
          text run at (0,0) width 168: "This page is part of the "
        RenderInline {A} at (0,0) size 73x17 [color=#0000EE]
          RenderText {#text} at (167,0) size 73x17
            text run at (167,0) width 73: "CSS3.info"
        RenderText {#text} at (239,0) size 5x17
          text run at (239,0) width 5: " "
        RenderInline {A} at (0,0) size 133x17 [color=#0000EE]
          RenderText {#text} at (243,0) size 133x17
            text run at (243,0) width 133: "CSS selectors test"
        RenderText {#text} at (375,0) size 136x17
          text run at (375,0) width 136: ". See more info on "
        RenderInline {A} at (0,0) size 111x17 [color=#0000EE]
          RenderText {#text} at (510,0) size 111x17
            text run at (510,0) width 111: "CSS3 selectors"
        RenderText {#text} at (620,0) size 6x17
          text run at (620,0) width 6: "."
      RenderBlock {DIV} at (0,34) size 769x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,34) size 769x2172
        RenderListItem {LI} at (40,0) size 616x243 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x106 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "1"
            RenderText {#text} at (6,8) size 141x92
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 40: "<div>"
              text run at (45,55) width 1: " "
              text run at (6,70) width 110: "   <div></div>"
              text run at (115,70) width 1: " "
              text run at (6,85) width 48: "</div>"
          RenderBlock {P} at (16,175) size 584x36
            RenderText {#text} at (0,0) size 574x35
              text run at (0,0) width 574: "The CSS selector should match the inner div element, because it is the only child"
              text run at (0,18) width 168: "of the outer div element"
        RenderListItem {LI} at (40,291) size 616x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
            RenderBlock {BLOCKQUOTE} at (0,24) size 584x0
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "2"
            RenderText {#text} at (6,8) size 219x107
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 48: "<div> "
              text run at (53,55) width 1: " "
              text run at (6,70) width 110: "   <div></div>"
              text run at (115,70) width 1: " "
              text run at (6,85) width 219: "   <blockquote></blockquote>"
              text run at (224,85) width 1: " "
              text run at (6,100) width 48: "</div>"
          RenderBlock {P} at (16,190) size 584x36
            RenderText {#text} at (0,0) size 571x35
              text run at (0,0) width 571: "The CSS selector should match the inner div element, because it is the first child"
              text run at (0,18) width 168: "of the outer div element"
        RenderListItem {LI} at (40,597) size 616x276 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "3"
            RenderText {#text} at (6,8) size 204x107
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 48: "<div> "
              text run at (53,55) width 1: " "
              text run at (6,70) width 204: "   <!-- Just a comment -->"
              text run at (209,70) width 1: " "
              text run at (6,85) width 110: "   <div></div>"
              text run at (115,85) width 1: " "
              text run at (6,100) width 48: "</div>"
          RenderBlock {P} at (16,190) size 584x54
            RenderText {#text} at (0,0) size 571x53
              text run at (0,0) width 571: "The CSS selector should match the inner div element, because it is the first child"
              text run at (0,18) width 172: "of the outer div element "
              text run at (171,18) width 363: "Comments are not elements, so they should not be"
              text run at (0,36) width 308: "considered when determining the first child."
        RenderListItem {LI} at (40,921) size 616x291 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x42 [bgcolor=#990000]
            RenderBlock (anonymous) at (0,0) size 584x18
              RenderListMarker at (-38,0) size 18x17: "4"
              RenderText {#text} at (0,0) size 5x17
                text run at (0,0) width 5: "."
            RenderBlock {DIV} at (0,18) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,71) size 584x118 [bgcolor=#FFFFFF]
            RenderText {#text} at (6,7) size 219x105
              text run at (6,7) width 141: "div :first-child {"
              text run at (146,7) width 1: " "
              text run at (6,22) width 9: "}"
              text run at (14,22) width 1: " "
              text run at (6,37) width 1: " "
              text run at (6,52) width 48: "<div> "
              text run at (53,52) width 1: " "
              text run at (6,67) width 219: "   How about regular text..."
              text run at (224,67) width 1: " "
              text run at (6,82) width 110: "   <div></div>"
              text run at (115,82) width 1: " "
              text run at (6,97) width 48: "</div>"
          RenderBlock {P} at (16,205) size 584x54
            RenderText {#text} at (0,0) size 571x53
              text run at (0,0) width 571: "The CSS selector should match the inner div element, because it is the first child"
              text run at (0,18) width 177: "of the outer div element. "
              text run at (176,18) width 352: "Regular text is not an element, so it should not be"
              text run at (0,36) width 308: "considered when determining the first child."
        RenderListItem {LI} at (40,1260) size 616x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {BLOCKQUOTE} at (0,0) size 584x0 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "5"
            RenderText {#text} at (6,8) size 219x107
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 48: "<div> "
              text run at (53,55) width 1: " "
              text run at (6,70) width 219: "   <blockquote></blockquote>"
              text run at (224,70) width 1: " "
              text run at (6,85) width 110: "   <div></div>"
              text run at (115,85) width 1: " "
              text run at (6,100) width 48: "</div>"
          RenderBlock {P} at (16,190) size 584x36
            RenderText {#text} at (0,0) size 530x35
              text run at (0,0) width 530: "The CSS selector should not match the inner div element, because it is the"
              text run at (0,18) width 261: "second child of the outer div element"
        RenderListItem {LI} at (40,1566) size 616x288 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,24) size 584x0
          RenderBlock {PRE} at (16,53) size 584x151 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "6"
            RenderText {#text} at (6,8) size 508x137
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 40: "<div>"
              text run at (45,55) width 1: " "
              text run at (6,70) width 251: "   <div id='insertBefore'></div>"
              text run at (256,70) width 1: " "
              text run at (6,85) width 48: "</div>"
              text run at (53,85) width 1: " "
              text run at (6,100) width 1: " "
              text run at (6,115) width 383: "var ib = document.getElementById('insertBefore');"
              text run at (388,115) width 1: " "
              text run at (6,130) width 508: "ib.parentElement.insertBefore(document.createElement(\"div\"), ib);"
          RenderBlock {P} at (16,220) size 584x36
            RenderText {#text} at (0,0) size 571x35
              text run at (0,0) width 571: "The CSS selector should match the div element that is inserted by the Javascript"
              text run at (0,18) width 40: "code."
        RenderListItem {LI} at (40,1902) size 616x270 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x0 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24
          RenderBlock {PRE} at (16,53) size 584x151 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "7"
            RenderText {#text} at (6,8) size 508x137
              text run at (6,8) width 141: "div :first-child {"
              text run at (146,8) width 1: " "
              text run at (6,25) width 9: "}"
              text run at (14,25) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,55) width 40: "<div>"
              text run at (45,55) width 1: " "
              text run at (6,70) width 251: "   <div id='insertBefore'></div>"
              text run at (256,70) width 1: " "
              text run at (6,85) width 48: "</div>"
              text run at (53,85) width 1: " "
              text run at (6,100) width 1: " "
              text run at (6,115) width 383: "var ib = document.getElementById('insertBefore');"
              text run at (388,115) width 1: " "
              text run at (6,130) width 508: "ib.parentElement.insertBefore(document.createElement(\"div\"), ib);"
          RenderBlock {P} at (16,220) size 584x18
            RenderText {#text} at (0,0) size 519x17
              text run at (0,0) width 519: "The original div element should not be a match for the :first-child selector."
