Change CSS of headings to distinguish them better

I found it very hard to tell different heading levels apart, especially h2 and h3. I have changed their sizes and added a subtle line below h2s so that they are more distinguishable, but still readable and not too small.