To be brutally frank, you should do a lot more than "look into it" -- with the number of errors in that code you do not even have HTML - you have GIBBERISH. I'm not sure where you learned HTML or from what source, but it seems that you missed most of the syntax rules in regards to which tags can go inside which and the distinction between inline-level and block-level elements.
LI is block-level, anchors are inline-level... inline-level CANNOT wrap block-level. LIST tags (UL, OL, and the deprecated DIR and MENU) can only have LI as their direct descendants -- so you cannot put ANY other tag between <ul><li>, between </li><li> or between </li></ul>
From there you are using <style> with @import like it's still 1998 and we care about nyetscape 4, paragraph tags on elements that semantically look like they should be numbered headings, and I'm not sure what that script is supposed to accomplish... but I suspect that should be handled SERVER side, not with a client side script.
Without seeing it live someplace with the COMPLETE code it's hard to say, but I suspect that about two thirds of your DIV, most of your classes, and the majority of the long URL's aren't even necessary.
Oh, and those local file links are a hoot too -- just what WYSIWYG is producing this code? I ask because the 'tell tales' of drag and drop coding are all there... and that's NOT a good thing.