Artificial intelligent assistant

Laws of equivalence needed to prove $\;q \leftrightarrow (¬p ∨ ¬q) ≡ (¬p ∧ q)\;?$ I'm not sure which laws should be applied and how I can tell for myself how to discern which laws I should use - any and all help is appreciated.

$$\begin{align} q\iff (\lnot p \lor \lnot q) &\equiv [q \rightarrow (\lnot p \lor \lnot q)] \land [(\lnot p \lor \lnot q ) \rightarrow q]\\\ \\\ &\equiv (\lnot q \lor \lnot p\lor \lnot q) \land [\lnot(p \land q) \rightarrow q)]\\\ \\\ & \equiv (\lnot q \lor \lnot p) \land [(p \land q) \lor q]\\\ \\\ &\equiv \lnot (q \land p) \land [(p \land q) \lor q]\\\ \\\ & \equiv [\lnot(q \land p) \land (p \land q)] \lor [\lnot (q \land p) \land q]\\\ \\\ &\equiv \lnot (q \land p) \land q\\\ \\\ &\equiv (\lnot q \lor \lnot p) \land q\\\ \\\ &\equiv (\lnot q \land q) \lor (\lnot p \land q)\\\ \\\ &\equiv \lnot p \land q \end{align}$$

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 8a20b223179df3f5631f054125344d78