Создание динамических блоков: при скрытии одного — второй заполняет всю ширину?
для этого есть flex. либо сам пиши, либо бери 4 версию бутстрапа https://getbootstrap.com/docs/4.0/layout/grid/
Flex, но есть ещё дедовский способ - табличная вёрстка, и это не костыль.
При добавлении.cell.first {
  display: none;
}получаем ожидаемое.