
I thought I was slowly improving... until



Thank you all for the advice. These are all the things I'm trying to pick up on I recognized that Bc4 was vulnerable to b5 while I was reviewing the game, but I didn't really know what to do during the game. I did think about the pawn chain on e6 f7, but I didn't know if this was enough to make Bc4 a bad placement. I have gone through a lot of my games with the computer analysis and found a lot of confusing bishop moves in the early stages of the game. I think this is certainly an area I need to focus on.
In regard to 10.e5, I didn't quite know what to do at that point in the game. I agree that it is in fact closing the center. What ideas/plans would you have in this situation?

Also, how can you determine that my lsb is valuable to my attack? Is it simply because of the diagonal that it is on, facing f7?

After 10 moves I already prefer black (well I prefer Black after move 7 but the position clarifies at move 10). Rather than his ...Bg5 he should have continued with ...c5, the typical break, followed by the other break ...f6 at the right moment - his pieces can flood into the game pretty fast if you're not careful.
That being said, although your opening play was maybe a bit stereotyped it was still a decent effort if you've not been studying chess for that long.
That's very interesting because it just looked to me like black had done little to improve his position. Is this simply because of my weak pawn on d4? Would my situation have been better if I had played Nd2--or not pushed the e pawn? I was actually pretty surprised that my opponent did not play c5, and was wondering how I had given him that move opportunity.
I also definitely agree that my opening is "stereotyped." This is mainly from lack of opening knowledge, in addition to everything else that's been said. Personally I strongly dislike this sort of bland symmetrical openings, but it seemed like the right thing to do to get my pieces out (and not knowing any better), without the center being contested.

@NMinSixMonths those are some great points... I really hadn't considered most of them (the only one being the weakness around his king--which I have little knowledge on how to exploit). These bits of advice that will help me make these decisions better are really helpful. Can't tell you how much I appreciate it.

Black played a pretty weak opening, but he barely created any weaknesses in his position, and you let him exchange two knights for two bishops. I'd say your 7th move was the first principal mistake: black knight moved twice, and that is the only black's developed piece - you shouldn't have allowed him to exchange this knight for your bishop, effectively gaining two tempos. 7. Be3 would be fine.
You also developed your pieces very stereotypically, not really responding to your opponent's moves. d4-e4-Nc3-Nf3-Bf4-Bc4 is not a bad setup, but you don't want to play it just about whenever you can. For example, on the 4th move 4. Bc4 is probably not a great move: the bishop has no business here, he just looks at the e6 pawn defended by the f7 pawn, with no real perspectives to be effective. Personally, I would strongly consider 4. c4 instead, taking a greater control over center - you can then put the bishop on d3 and look at black's white square weaknesses on the king side.
Things really went downhill after 18. Nf6+?, losing a pawn and leaving you with ugly double-isolated pawns.
Worry not! You will incorporate these things in your play with time. Chess is a lifetime study, there is always something new to learn, regardless of your level.

If your opponent makes a mistake in the opening like not developing its up to you to exploit it, sometimes you will have to make a 'mistake' yourself to exploit it as his non developing moves allow you to make one yourself. One idea youll see against this type of setup is to play f4 or c4 , since your opponent gives you the time, you eventually break the center early. If you play like this your opponent will have a much harder time doing nothing in the opening because something like f5 will create immediate problems for him to solve. Instead you put pieces on their 'textbook' good positions which are only general rules Bc4 Bf4 etc where when your opponent plays this way you need to change your approach to exploit the setup. If you dont exploit his bad ideas and he gets away with it you could be in a position where youve justified the bad play and you have alot of issues related to it. Dont worry about this too much and youll learn when to break general guidelines , having a good foundation for playing principled moves will get you much further in 9/10 situations than always playing the 1/10 non principled moves over your long term chess experience.