Welcome to WebmasterWorld cb153 ;) ,
The issue is
specificity: The selector
p:first-letter
tells the browser to apply the style to the first letter of every single <p>ara it can find.
However, if I understand your HTML, you only want to apply the :first-letter style to <p>aras in div#cont. Do that by increasing the
specificity of the selector. (Only apply the style to
specific <p>'s.)
For example, <p>'s that are a descendent of an element with the id #cont:
#cont p:first-letter {styles here...}
For even more specificity, only apply the style to <p>'s that are a descendent of a <div>ision that has an id of #cont. (Longer to describe than write ;) )
div#cont p:first-letter {styles here...}
That would select:
<div id="cont" >
<p><b>At Joe's we are ...<b></p>
</div>
But not:
<div id="nav">
<p><a href="../html/home.html" target="_self">Home</a></p>
</div>
You didn't ask, but understanding specificity (and other ways of using selectors) can help reduce the amount of css and html. On the provided code, you could remove the <b>, and use a descendent selector to specifically target the <p>'s inside div#cont:
#cont p {font-weight:bold}
Hx are "bold" by default, so you could remove the <b> from the h1 text, but if the bold needs to be declared, you could reduce the existing css by doing this:
p, h1, h3 { font-family: Verdana, Arial, Helvetica, sans-serif; color: #003333; font-size: 12pt;} <-- "grouping" selectors
#cont h1, #cont p {font-weight:bold} <--descendent selectors
#cont p:first-letter { styles...} <--increasing specificity
The links in div#nav could be styled using the same technique - which avoids having to create a class then code it in for every individual <p> as well.
The forum library has a
CSS Crash Course [webmasterworld.com] with more information and lots more examples.