1.Здравствуйте,что касается 1 вопроса, задавать можно и к body и к отдельному элементу,зависит от цели, если хочешь чтобы сайт перестал уменьшаться при достижении конкретного размера пиши для body,если такое действие требуется для отдельного элемента то задавайте для него.
2. Это резиновый дизайн и для него требуется задавать всё в процентах,задавайте height:100% для контейнера в котором находиться элемент,если это и есть контейнер содержащий ещё контейнеры,то задав для него height:100%,он и так будет на весь экран,так-как родитель для него body.
3. Задавайте отступы в процентах или в других относительных единицах ,верстка же резиновая.
4. Задайте для flex-контейнеров :
flex-wrap:wrap;
flex-direction:row;
judtify-content:space-between;
>
Вроде все,кстати неплохо было-бы вам прочитать про такие единицы как: vh, vw, vmin, vmax