Код, естественно, не читал. Отвечаю на вопрос в заголовке:
"flex-grow
Применяется к: дочернему элементу / flex-элементу.
Определяет для flex-элемента возможность «вырастать» при необходимости. Принимает безразмерное значение, служащее в качестве пропорции. Оно определяет, какую долю свободного места внутри контейнера элемент может занять.
Если у всех элементов свойство flex-grow задано как 1, то каждый потомок получит внутри контейнера одинаковый размер. Если вы задали одному из потомков значение 2, то он заберёт в два раза больше места, чем другие.
flex-grow: (по умолчанию 0)
Отрицательные числа не принимаются." (с)
frontender.info/a-guide-to-flexbox
Пример на быструю руку:
https://jsfiddle.net/1q3d7j2y/