title: css/sass :not(:first-of-type) not working, is hiding all elements of type
body: <p>I have a sass block that i have tried several different ways:</p>
  
  <p>I've tried this:</p>
  
  <pre><code>.progress-body {
      display: none;
      &amp;:first-of-type {
          display: block;
      }
  }
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>.progress-body {
      &amp;:not(:first-of-type) {
          display: none;
      }
  }
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>.progress-body:not(:first-of-type) {
      display: none;
  }
  </code></pre>
  
  <p>when applied to HTML that looks like this:</p>
  
  <pre><code>&lt;div class="panel"&gt;
      &lt;div class="panel-heading"&gt;
      &lt;/div&gt;
      &lt;div class="panel-body progress-body"&gt;
              &lt;div class="row"&gt;
                  &lt;div class="col-md-12"&gt;
                      &lt;p class="lead"&gt;Step 1: Choose your template...&lt;/p&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="panel-body progress-body"&gt;
              &lt;div class="row"&gt;
                  &lt;div class="col-md-12"&gt;
                      &lt;p class="lead"&gt;Step 2: Compose your email...&lt;/p&gt;
                  &lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>the result is that it hides all the elements with the <code>progress-body</code> class. This is normally  pretty straight forward CSS so no idea what is wrong here...</p>