layer at (0,0) size 785x2990
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x2990
  RenderBlock {HTML} at (0,0) size 785x2990
    RenderBody {BODY} at (8,16) size 769x2926 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 769x19
        RenderText {#text} at (0,0) size 162x18
          text run at (0,0) width 162: "This page is part of the "
        RenderInline {A} at (0,0) size 72x18 [color=#0000EE]
          RenderText {#text} at (162,0) size 72x18
            text run at (162,0) width 72: "CSS3.info"
        RenderText {#text} at (234,0) size 4x18
          text run at (234,0) width 4: " "
        RenderInline {A} at (0,0) size 130x18 [color=#0000EE]
          RenderText {#text} at (238,0) size 130x18
            text run at (238,0) width 130: "CSS selectors test"
        RenderText {#text} at (368,0) size 131x18
          text run at (368,0) width 131: ". See more info on "
        RenderInline {A} at (0,0) size 110x18 [color=#0000EE]
          RenderText {#text} at (499,0) size 110x18
            text run at (499,0) width 110: "CSS3 selectors"
        RenderText {#text} at (609,0) size 4x18
          text run at (609,0) width 4: "."
      RenderBlock {DIV} at (0,35) size 769x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,35) size 769x2891
        RenderListItem {LI} at (40,0) size 616x219 [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 584x80 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "1"
            RenderText {#text} at (6,9) size 281x65
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 281: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,149) size 584x38
            RenderText {#text} at (0,0) size 535x37
              text run at (0,0) width 535: "The CSS selector should match the marked div element, because it is the only"
              text run at (0,19) width 133: "element of this type"
        RenderListItem {LI} at (40,267) size 616x235 [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 584x96 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "2"
            RenderText {#text} at (6,9) size 281x81
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 89: "<div></div>"
              text run at (94,58) width 1: " "
              text run at (6,74) width 281: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,165) size 584x38
            RenderText {#text} at (0,0) size 532x37
              text run at (0,0) width 532: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,19) width 133: "element of this type"
        RenderListItem {LI} at (40,550) size 616x235 [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 584x96 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "3"
            RenderText {#text} at (6,9) size 281x81
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 281: "<div>Does this element match?</div>"
              text run at (286,58) width 1: " "
              text run at (6,74) width 201: "<blockquote></blockquote>"
          RenderBlock {P} at (16,165) size 584x38
            RenderText {#text} at (0,0) size 532x37
              text run at (0,0) width 532: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,19) width 133: "element of this type"
        RenderListItem {LI} at (40,833) size 616x267 [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 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "4"
            RenderText {#text} at (6,9) size 305x113
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 97: "<blockquote>"
              text run at (102,58) width 1: " "
              text run at (6,74) width 305: "   <div>Does this element match?</div>"
              text run at (310,74) width 1: " "
              text run at (6,90) width 105: "</blockquote>"
              text run at (110,90) width 1: " "
              text run at (6,106) width 89: "<div></div>"
          RenderBlock {P} at (16,197) size 584x38
            RenderText {#text} at (0,0) size 532x37
              text run at (0,0) width 532: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,19) width 224: "element of this type in this scope"
        RenderListItem {LI} at (40,1148) size 616x251 [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 584x112 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "5"
            RenderText {#text} at (6,9) size 305x97
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 41: "<div>"
              text run at (46,58) width 1: " "
              text run at (6,74) width 305: "   <div>Does this element match?</div>"
              text run at (310,74) width 1: " "
              text run at (6,90) width 49: "</div>"
          RenderBlock {P} at (16,181) size 584x38
            RenderText {#text} at (0,0) size 532x37
              text run at (0,0) width 532: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,19) width 272: "element of this type in the current scope"
        RenderListItem {LI} at (40,1447) size 616x267 [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 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "6"
            RenderText {#text} at (6,9) size 281x113
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 281: "<div>Does this element match?</div>"
              text run at (286,58) width 1: " "
              text run at (6,74) width 97: "<blockquote>"
              text run at (102,74) width 1: " "
              text run at (6,90) width 113: "   <div></div>"
              text run at (118,90) width 1: " "
              text run at (6,106) width 105: "</blockquote>"
          RenderBlock {P} at (16,197) size 584x38
            RenderText {#text} at (0,0) size 532x37
              text run at (0,0) width 532: "The CSS selector should match the marked div element, because it is the last"
              text run at (0,19) width 272: "element of this type in the current scope"
        RenderListItem {LI} at (40,1762) size 616x235 [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 584x96 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "7"
            RenderText {#text} at (6,9) size 281x81
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 281: "<div>Does this element match?</div>"
              text run at (286,58) width 1: " "
              text run at (6,74) width 89: "<div></div>"
          RenderBlock {P} at (16,165) size 584x38
            RenderText {#text} at (0,0) size 558x37
              text run at (0,0) width 558: "The CSS selector should not match the marked div element, because it is the first"
              text run at (0,19) width 133: "element of this type"
        RenderListItem {LI} at (40,2045) size 616x235 [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 584x96 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "8"
            RenderText {#text} at (6,9) size 281x81
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 281: "<div>Does this element match?</div>"
              text run at (286,58) width 1: " "
              text run at (6,74) width 89: "<DIV></DIV>"
          RenderBlock {P} at (16,165) size 584x38
            RenderText {#text} at (0,0) size 558x37
              text run at (0,0) width 558: "The CSS selector should not match the marked div element, because it is the first"
              text run at (0,19) width 133: "element of this type"
        RenderListItem {LI} at (40,2328) size 616x267 [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 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "9"
            RenderText {#text} at (6,9) size 481x113
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 225: "<div id='insertAfter'></div>"
              text run at (230,58) width 1: " "
              text run at (6,74) width 1: " "
              text run at (6,90) width 385: "var ib = document.getElementById('insertAfter');"
              text run at (390,90) width 1: " "
              text run at (6,106) width 481: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,197) size 584x38
            RenderText {#text} at (0,0) size 551x37
              text run at (0,0) width 551: "The CSS selector should match the div element that is inserted by the Javascript"
              text run at (0,19) width 39: "code."
        RenderListItem {LI} at (40,2643) size 616x248 [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 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-47,6) size 26x19: "10"
            RenderText {#text} at (6,9) size 481x113
              text run at (6,9) width 145: "div:last-of-type {"
              text run at (150,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 225: "<div id='insertAfter'></div>"
              text run at (230,58) width 1: " "
              text run at (6,74) width 1: " "
              text run at (6,90) width 385: "var ib = document.getElementById('insertAfter');"
              text run at (390,90) width 1: " "
              text run at (6,106) width 481: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,197) size 584x19
            RenderText {#text} at (0,0) size 513x18
              text run at (0,0) width 513: "The original div element should not be a match for the :last-of-type selector."
