title: :not(:first-child) and :not(:first-of-type) not working
body: <p>I have sort of a tree system. What I'm trying to do is give all the parents a margin except for the first one. This is my HTML:</p>
  
  <pre><code>&lt;div id="someDivID"&gt;
      &lt;div class="theBody"&gt;
          &lt;div class="someContainer"&gt;
              &lt;div id="someItem" class="someItemClass"&gt;
                  Test
              &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class="someContainer"&gt;
              &lt;div id="someItem2" class="someItemClass"&gt;
                  Test2
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>And my CSS:</p>
  
  <pre><code>#someDivID
  {
      width: 400px;
  }
  
  #someItem,
  #someItem2
  {
      border: 1px solid #000;
      padding: 1px;
      margin-bottom: 2px;
      clear: both;
      overflow: auto;
  }
  
  .someItemClass
  {
      background-color: #0077FF;
  }
  
  .someItemClass:not(:first-of-type)
  {
      margin-top: 50px;
  }
  </code></pre>
  
  <p>Now, my <code>.someContainer</code> has got the background color but the 2nd <code>.someContainer</code> doesn't have a top margin. If I remove the <code>:first-of-type</code> it works. <code>:first-child</code> doesn't work either.</p>
  
  <p>Here's my jsfiddles:</p>
  
  <p>With <code>first-of-type</code>: <a href="http://jsfiddle.net/JoshB1997/zsu2o3cg/" rel="noreferrer">http://jsfiddle.net/JoshB1997/zsu2o3cg/</a></p>
  
  <p>With <code>first-child</code>: <a href="http://jsfiddle.net/JoshB1997/zsu2o3cg/1/" rel="noreferrer">http://jsfiddle.net/JoshB1997/zsu2o3cg/1/</a></p>