Yeah, those are the parts I was not sure of. I saw similar problems elsewhere and followed their logic, but I'm unsure of how those two steps are using the Associative laws.
Maybe someone could shed some light.

That's correct. Do you see immediately how that applies to [itex]A\cap\left(B^c\cap C^c\right)=\left(A\cap B^c\right)\cap C^c[/itex]?

For [itex](A\cap C^c)\cap(B^c\cup C)=A\cap(C^c\cap(B^c\cup C))[/itex], rewrite that equality with [itex]D[/itex] written in place of [itex](B^c\cup C)[/itex]. Now do you see how the associative law applies here?