Pause a Coroutine and Lerping of Color

I have got this coroutine tried to pause it with a boolean but the lerping of the color doesn’t seem to stop.

IEnumerator LerpColor()
	{
		float progress = 0; //This float will serve as the 3rd parameter of the lerp function.
		float increment = smoothness/duration; //The amount of change to apply.

			while (progress < 1) {
			
				gauntletBackground.GetComponent<SpriteRenderer> ().color = Color.Lerp (Color.black, Color.red, progress);
				progress += increment;
				yield return new WaitForSeconds (smoothness);
			
			}
			yield return true;

	}

Tried this? Pause and resume coroutine - Questions & Answers - Unity Discussions

EDIT: Try this.

IEnumerator LerpColor()
	{
		float progress = 0; //This float will serve as the 3rd parameter of the lerp function.
		float increment = smoothness/duration; //The amount of change to apply.
		
		while (progress < 1) {
			
			gauntletBackground.GetComponent<SpriteRenderer> ().color = Color.Lerp (Color.black, Color.red, progress);
			progress += increment;
			yield return new WaitForSeconds (smoothness);

			while (isPaused)
			{
				yield return null;
			}
			
		}
		yield return true;
		
	}