Vamos por parte, en tu hoja de estilo hay una especie de "reset.css" los selectores de este tipo suelen ser ineficientes porque suelen estar dirigidos a todos los elementos de un documento, por ejemplo:
Código CSS:
Ver originalhtml,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
background:transparent;
border:0;
font-size:100%;
margin:0;
outline:0;
padding:0;
vertical-align:baseline;
}
Contra esto no hay mucho por hacer, uno tiene que decidir, cual es su mayor objetivo si el rendimiento de la página (rapidez de los selectores) o la interoperabilidad de la misma (minimizar diferencias entre browsers).
Por otro lado, veo que luego vuelves a definir estilos para ciertos elementos:
Código CSS:
Ver originalbody {
background:url(../images/bg.jpg) repeat;
color:#4d4d4d;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
line-height:20px;
margin:0;
padding:0;
}
h1 {
font-size:24px;
}
h2 {
font-size:22px;
}
h3 {
font-size:20px;
}
h4 {
font-size:18px;
}
h6 {
font-size:14px;
}
Entonces, estás enfrentando la doble penalización. Hay un movimiento que se llama "Normalize" (
http://necolas.github.com/normalize.css/) que su objetivo es en lugar de resetear todos los estilos a cero como lo hace ("reset.css") lo que hace normalizarlos a un punto común. Muchas veces yo parto de este proyecto para adaptarlo al mío y parto de esa base común a todos pero a la cual ya le puse mi base y no requiero redefinición.
Otras cosas a optimizar son por ejemplo:
Código CSS:
Ver original#topnav ul.topRight span {
display:block;
float:left;
padding-right:5px;
}
En este caso "ul.topRight" el "ul" es redundante ya estas clasificando al elemento. A menos que este aplicando esa a otro elemento, ejemplo "div" pero no es tu caso.
También en tu documento hay mucho de esto:
Código CSS:
Ver original.dd ul li a {
background:url(../images/navSep.png) no-repeat 100% 0;
color:#d9d9d9;
display:block;
float:left;
font-size:10px;
font-weight:700;
padding:7px 25px 8px;
text-transform:uppercase;
}
Tres selectores de elementos HTML seguidos, esta clase de selectores son muy poco eficientes. Estas obligando al navegador, a buscar todos los "a" luego todos los "a" que sean hijos, nietos, etc de un "li" y a su vez ese "li" sea hijo, nieto, etc de algún "ul" y que a su vez sea hijo, nieto, etc de un elemento con clase "dd". Recuerda siempre que el navegador aplica estilo de derecha a izquierda y no de izquierda a derecha como estamos acostrumbrados a leer. Esta clase de selectores debes de revisarlo.
Los demás selectores sufren los problemas antes nombrados