To achieve the desired effect of having the lower row expand and contract without wrapping, you can use the following HTML and CSS:
<html>
<head>
<style>
.container {
width: 100%;
height: 300px;
display: flex;
flex-direction: column;
}
.header {
display:inline-block;
flex: 1;
background-color: brown;
}
.group {
text-align:center;
flex: 5;
background-color: grey;
flex-direction: row;
}
.blue {
display:inline-block;
flex: 1;
width:33%;
background-color: blue;
}
.yellow {
display:inline-block;
flex: 3;
width:32%;
background-color: yellow;
}
.green {
display:inline-block;
flex: 1;
width:31%;
background-color: green;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h3>header</h3>
</div>
<div class="group">
<div class="blue">
<h3>blue</h3>
</div>
<div class="yellow">
<h3>yellow</h3>
</div>
<div class="green">
<h3>green</h3>
</div>
</div>
</div>
</body>
</html>