layer at (0,0) size 785x2912
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2912
  RenderBlock {HTML} at (0,0) size 785x2912
    RenderBody {BODY} at (8,16) size 769x2848 [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 769x2814
        RenderListItem {LI} at (40,0) size 616x213 [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 584x76 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "1"
            RenderText {#text} at (6,8) size 274x62
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,145) size 584x36
            RenderText {#text} at (0,0) size 555x35
              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,18) width 139: "element of this type"
        RenderListItem {LI} at (40,261) size 616x228 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x0
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x91 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "2"
            RenderText {#text} at (6,8) size 274x77
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 87: "<div></div>"
              text run at (92,54) width 1: " "
              text run at (6,69) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,160) size 584x36
            RenderText {#text} at (0,0) size 550x35
              text run at (0,0) width 550: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,18) width 139: "element of this type"
        RenderListItem {LI} at (40,537) size 616x228 [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 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x91 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "3"
            RenderText {#text} at (6,8) size 274x77
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,69) width 196: "<blockquote></blockquote>"
          RenderBlock {P} at (16,160) size 584x36
            RenderText {#text} at (0,0) size 550x35
              text run at (0,0) width 550: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,18) width 139: "element of this type"
        RenderListItem {LI} at (40,813) size 616x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {BLOCKQUOTE} at (0,0) size 584x24 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {DIV} at (0,24) size 584x0 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "4"
            RenderText {#text} at (6,8) size 297x107
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 95: "<blockquote>"
              text run at (100,54) 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,84) width 102: "</blockquote>"
              text run at (107,84) width 1: " "
              text run at (6,99) width 87: "<div></div>"
          RenderBlock {P} at (16,190) size 584x36
            RenderText {#text} at (0,0) size 550x35
              text run at (0,0) width 550: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,18) width 233: "element of this type in this scope"
        RenderListItem {LI} at (40,1119) size 616x243 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 584x24
          RenderBlock {PRE} at (16,53) size 584x106 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "5"
            RenderText {#text} at (6,8) size 297x92
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 40: "<div>"
              text run at (45,54) 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,84) width 48: "</div>"
          RenderBlock {P} at (16,175) size 584x36
            RenderText {#text} at (0,0) size 550x35
              text run at (0,0) width 550: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,18) width 284: "element of this type in the current scope"
        RenderListItem {LI} at (40,1410) 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 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 584x0
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "6"
            RenderText {#text} at (6,8) size 274x107
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,69) width 95: "<blockquote>"
              text run at (100,69) width 1: " "
              text run at (6,84) width 110: "   <div></div>"
              text run at (115,84) width 1: " "
              text run at (6,99) width 102: "</blockquote>"
          RenderBlock {P} at (16,190) size 584x36
            RenderText {#text} at (0,0) size 550x35
              text run at (0,0) width 550: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,18) width 284: "element of this type in the current scope"
        RenderListItem {LI} at (40,1716) size 616x228 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {DIV} at (0,24) size 584x0 [bgcolor=#990000]
          RenderBlock {PRE} at (16,53) size 584x91 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "7"
            RenderText {#text} at (6,8) size 274x77
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,69) width 87: "<div></div>"
          RenderBlock {P} at (16,160) size 584x36
            RenderText {#text} at (0,0) size 578x35
              text run at (0,0) width 578: "The CSS selector should not match the marked div element, because it is the first"
              text run at (0,18) width 139: "element of this type"
        RenderListItem {LI} at (40,1992) size 616x228 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {DIV} at (0,24) size 584x0 [bgcolor=#990000]
          RenderBlock {PRE} at (16,53) size 584x91 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "8"
            RenderText {#text} at (6,8) size 274x77
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,69) width 87: "<DIV></DIV>"
          RenderBlock {P} at (16,160) size 584x36
            RenderText {#text} at (0,0) size 578x35
              text run at (0,0) width 578: "The CSS selector should not match the marked div element, because it is the first"
              text run at (0,18) width 139: "element of this type"
        RenderListItem {LI} at (40,2268) size 616x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x0
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 18x18: "9"
            RenderText {#text} at (6,8) size 469x107
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 219: "<div id='insertAfter'></div>"
              text run at (224,54) width 1: " "
              text run at (6,69) width 1: " "
              text run at (6,84) width 375: "var ib = document.getElementById('insertAfter');"
              text run at (380,84) width 1: " "
              text run at (6,99) width 469: "ib.parentElement.appendChild(document.createElement(\"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 div element that is inserted by the Javascript"
              text run at (0,18) width 40: "code."
        RenderListItem {LI} at (40,2574) size 616x240 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {DIV} at (0,24) size 584x0 [bgcolor=#990000]
          RenderBlock {PRE} at (16,53) size 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-47,6) size 27x18: "10"
            RenderText {#text} at (6,8) size 469x107
              text run at (6,8) width 141: "div:last-of-type {"
              text run at (146,8) width 1: " "
              text run at (6,24) width 9: "}"
              text run at (14,24) width 1: " "
              text run at (6,39) width 1: " "
              text run at (6,54) width 219: "<div id='insertAfter'></div>"
              text run at (224,54) width 1: " "
              text run at (6,69) width 1: " "
              text run at (6,84) width 375: "var ib = document.getElementById('insertAfter');"
              text run at (380,84) width 1: " "
              text run at (6,99) width 469: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,190) size 584x18
            RenderText {#text} at (0,0) size 534x17
              text run at (0,0) width 534: "The original div element should not be a match for the :last-of-type selector."
