layer at (0,0) size 800x2924
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x2924
  RenderBlock {HTML} at (0,0) size 800x2924
    RenderBody {BODY} at (8,16) size 784x2860 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 784x20
        RenderText {#text} at (0,0) size 168x19
          text run at (0,0) width 168: "This page is part of the "
        RenderInline {A} at (0,0) size 73x19 [color=#0000EE]
          RenderText {#text} at (167,0) size 73x19
            text run at (167,0) width 73: "CSS3.info"
        RenderText {#text} at (239,0) size 5x19
          text run at (239,0) width 5: " "
        RenderInline {A} at (0,0) size 133x19 [color=#0000EE]
          RenderText {#text} at (243,0) size 133x19
            text run at (243,0) width 133: "CSS selectors test"
        RenderText {#text} at (375,0) size 136x19
          text run at (375,0) width 136: ". See more info on "
        RenderInline {A} at (0,0) size 111x19 [color=#0000EE]
          RenderText {#text} at (510,0) size 111x19
            text run at (510,0) width 111: "CSS3 selectors"
        RenderText {#text} at (620,0) size 6x19
          text run at (620,0) width 6: "."
      RenderBlock {DIV} at (0,36) size 784x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,36) size 784x2824
        RenderListItem {LI} at (40,0) size 628x216 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 596x75 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "1"
            RenderText {#text} at (6,11) size 274x58
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,144) size 596x40
            RenderText {#text} at (0,0) size 555x39
              text run at (0,0) width 555: "The CSS selector should match the marked div element, because it is the only"
              text run at (0,20) width 139: "element of this type"
        RenderListItem {LI} at (40,264) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,24) size 596x0
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "2"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 274: "<div>Does this element match?</div>"
              text run at (279,55) width 1: " "
              text run at (6,69) width 87: "<div></div>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 551x39
              text run at (0,0) width 551: "The CSS selector should match the marked div element, because it is the first"
              text run at (0,20) width 139: "element of this type"
        RenderListItem {LI} at (40,542) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {BLOCKQUOTE} at (0,0) size 596x0 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "3"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 196: "<blockquote></blockquote>"
              text run at (201,55) width 1: " "
              text run at (6,69) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 551x39
              text run at (0,0) width 551: "The CSS selector should match the marked div element, because it is the first"
              text run at (0,20) width 139: "element of this type"
        RenderListItem {LI} at (40,820) size 628x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x0 [bgcolor=#009900]
            RenderBlock {BLOCKQUOTE} at (0,0) size 596x24 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 596x24
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "4"
            RenderText {#text} at (6,11) size 297x100
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 87: "<div></div>"
              text run at (92,55) width 1: " "
              text run at (6,69) width 95: "<blockquote>"
              text run at (100,69) width 1: " "
              text run at (6,83) width 297: "   <div>Does this element match?</div>"
              text run at (302,83) width 1: " "
              text run at (6,97) width 102: "</blockquote>"
          RenderBlock {P} at (16,186) size 596x40
            RenderText {#text} at (0,0) size 551x39
              text run at (0,0) width 551: "The CSS selector should match the marked div element, because it is the first"
              text run at (0,20) width 233: "element of this type in this scope"
        RenderListItem {LI} at (40,1126) size 628x244 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 596x24
          RenderBlock {PRE} at (16,53) size 596x103 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "5"
            RenderText {#text} at (6,11) size 297x86
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 40: "<div>"
              text run at (45,55) width 1: " "
              text run at (6,69) width 297: "   <div>Does this element match?</div>"
              text run at (302,69) width 1: " "
              text run at (6,83) width 48: "</div>"
          RenderBlock {P} at (16,172) size 596x40
            RenderText {#text} at (0,0) size 551x39
              text run at (0,0) width 551: "The CSS selector should match the marked div element, because it is the first"
              text run at (0,20) width 284: "element of this type in the current scope"
        RenderListItem {LI} at (40,1418) size 628x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {BLOCKQUOTE} at (0,0) size 596x0 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 596x0
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "6"
            RenderText {#text} at (6,11) size 274x100
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 95: "<blockquote>"
              text run at (100,55) width 1: " "
              text run at (6,69) width 110: "   <div></div>"
              text run at (115,69) width 1: " "
              text run at (6,83) width 102: "</blockquote>"
              text run at (107,83) width 1: " "
              text run at (6,97) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,186) size 596x40
            RenderText {#text} at (0,0) size 551x39
              text run at (0,0) width 551: "The CSS selector should match the marked div element, because it is the first"
              text run at (0,20) width 284: "element of this type in the current scope"
        RenderListItem {LI} at (40,1724) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x0 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "7"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 87: "<div></div>"
              text run at (92,55) width 1: " "
              text run at (6,69) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 547x39
              text run at (0,0) width 547: "The CSS selector should not match the marked div element, because it is the"
              text run at (0,20) width 195: "second element of this type"
        RenderListItem {LI} at (40,2002) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x0 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "8"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 87: "<DIV></DIV>"
              text run at (92,55) width 1: " "
              text run at (6,69) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 547x39
              text run at (0,0) width 547: "The CSS selector should not match the marked div element, because it is the"
              text run at (0,20) width 195: "second element of this type"
        RenderListItem {LI} at (40,2280) size 628x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,24) size 596x0
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "9"
            RenderText {#text} at (6,11) size 508x100
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 227: "<div id='insertBefore'></div>"
              text run at (232,55) width 1: " "
              text run at (6,69) width 1: " "
              text run at (6,83) width 383: "var ib = document.getElementById('insertBefore');"
              text run at (388,83) width 1: " "
              text run at (6,97) width 508: "ib.parentElement.insertBefore(document.createElement(\"div\"), ib);"
          RenderBlock {P} at (16,186) size 596x40
            RenderText {#text} at (0,0) size 571x39
              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,20) width 40: "code."
        RenderListItem {LI} at (40,2586) size 628x238 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x0 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-48,6) size 27x20: "10"
            RenderText {#text} at (6,11) size 508x100
              text run at (6,11) width 149: "div:first-of-type {"
              text run at (154,11) width 1: " "
              text run at (6,27) width 9: "}"
              text run at (14,27) width 1: " "
              text run at (6,41) width 1: " "
              text run at (6,55) width 227: "<div id='insertBefore'></div>"
              text run at (232,55) width 1: " "
              text run at (6,69) width 1: " "
              text run at (6,83) width 383: "var ib = document.getElementById('insertBefore');"
              text run at (388,83) width 1: " "
              text run at (6,97) width 508: "ib.parentElement.insertBefore(document.createElement(\"div\"), ib);"
          RenderBlock {P} at (16,186) size 596x20
            RenderText {#text} at (0,0) size 535x19
              text run at (0,0) width 535: "The original div element should not be a match for the :first-of-type selector."
