staunch

Definition: (adjective) Firm and dependable, especially in loyalty.
Synonyms: steadfast, unswerving.
Usage: John is a staunch supporter of free speech, but it nonetheless pains him when hate groups abuse the privilege.
Discuss