<!doctype html>
<html>
	<head>
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="/assets/reset.css" rel="stylesheet">
		<link href="setup.css" rel="stylesheet">
		<link href="style.css" rel="stylesheet">
	</head>
	<body>
		<ol>
			<li>
				<p>Item 1</p>
			</li>
			<li>
				<p>Item 2</p>
			</li>
			<li>
				<p>Item 3 has more text</p>
			</li>
			<li>
				<p>Item 4 longer</p>
			</li>
			<li>
				<p>Item 5 too</p>
			</li>
			<li>
				<p>Item 6</p>
			</li>
		</ol>
		<ol>
			<li>
				<p>Item 1</p>
			</li>
			<li>
				<p>Item 2</p>
			</li>
			<li>
				<p>Item 3 has more text</p>
			</li>
			<li>
				<p>Item 4 longer</p>
			</li>
			<li>
				<p>Item 5 too</p>
			</li>
			<li>
				<p>Item 6</p>
			</li>
		</ol>
		<ol>
			<li>
				<p>Item 1</p>
			</li>
			<li>
				<p>Item 2</p>
			</li>
			<li>
				<p>Item 3 has more text</p>
			</li>
			<li>
				<p>Item 4 longer</p>
			</li>
			<li>
				<p>Item 5 too</p>
			</li>
			<li>
				<p>Item 6</p>
			</li>
		</ol>
		<ol>
			<li>
				<p>Item 1</p>
			</li>
			<li>
				<p>Item 2</p>
			</li>
			<li>
				<p>Item 3 has more text</p>
			</li>
			<li>
				<p>Item 4 longer</p>
			</li>
			<li>
				<p>Item 5 too</p>
			</li>
			<li>
				<p>Item 6</p>
			</li>
		</ol>
	</body>
</html>

		
index.html
			body {
	font-family: sans-serif;
	padding: 20px;
}

ol { background-color: gold; }

ol:not(:first-child) { margin-top: 20px; }

li {
	background-color: tomato;
	border-bottom: 2px solid firebrick;
	border-right: 2px solid firebrick;
	padding: 5px;
}

		
setup.css
			ol {
	display: flex;
	flex-wrap: wrap-reverse;
	min-height: 120px;
}

ol:nth-child(2) { flex-direction: row-reverse; }

ol:nth-child(3) { flex-direction: column; }

ol:nth-child(4) {
	flex-direction: column-reverse;
	max-height: 120px; /* Force the wrap. */
}

		
style.css