** EDIT 2: It's almost impossible to move arrange elements using only HTML and CSS. There might probably be a solution for this, but the most efficient one would be to use the jQuery appendTo() function.
This article might be of great use to you: How to move an element into another element?
** EDIT: I figured out lately what you were looking for. I'll try to find an answer for your issue as soon as possible.
Based on your example, you can achieve this by creating 3 columns(in my code I used divs with "column" class) and applying display: inline-block; to them, making sure that the sum of the columns combined won't be higher than 99%.
The display: inline-block will try to use the whole width of the parent container, without the content to overflow it. When the width is larger than 99%, the last column is sent to the next row.
HTML
<div class="column one-fourth">
<div><p>1.1</p></div>
<div><p>1.2</p></div>
<div><p>1.3</p></div>
</div>
<div class="column two-fourth">
<div><p>2.1</p></div>
<div><p>2.2</p></div>
</div>
<div class="column one-fourth">
<div><p>3.1</p></div>
<div><p>3.2</p></div>
<div><p>3.3</p></div>
<div><p>3.4</p></div>
</div>
CSS
.column {
text-align: center;
vertical-align: top;
padding: 10px 0px;
display: inline-block;
width: 100%;
}
@media only screen and (min-width: 900px) {
.column.one-fourth { width: 24.75%; }
.column.two-fourth { width: 49.5%; }
}
.column div {
background: red;
margin: 10px;
}
.column p {
color: white;
font-weight: bold;
font-size: 50px;
margin: 0px;
}
Here's a codePen to see how it works: https://codepen.io/ialexandru/pen/NWPzRZj