title: Why does .class:last-of-type not work as I expect?
body: <p>Why does this not work? <a href="http://jsfiddle.net/84C5W/1/" rel="noreferrer">http://jsfiddle.net/84C5W/1/</a></p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>p{
      display: none;
  }
  p.visible:last-of-type {
      display: block;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div&gt;
    &lt;p class="visible"&gt;This should be hidden&lt;/p&gt;
    &lt;p class="visible"&gt;This should be displayed&lt;/p&gt;
    &lt;p class=""&gt;This should be hidden&lt;/p&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>In fact, none of my <code>&lt;p&gt;</code> elements are visible. If I remove the reference to <code>.visible</code> in my selector, this does show the last <code>&lt;p&gt;</code> in the div, but this is not what I want.</p>
  
  <p>Of course I could only keep one <code>.visible</code> at all times, but this is for a reveal.js presentation and I do not have control over the JavaScript.</p>
  
  <p>How can I select the last element inside the div WITH the class <code>.visible</code>? I do NOT want to use JavaScript for this.</p>