<div class="row">
	<div class="wrapper" style="--width:220px; --height:100px;--duration: 14s; --offset:-6s">
		<div class="rotate">
			<a href="https://open.spotify.com/track/6oDjm30FUtB8GcckQEh3Tr?si=1s6UXE3qQr23q1Cs80ZR3A" target="_blank" class="front image-banner t-white">
				<img src="https://i.scdn.co/image/b36667408f857642df1af7b2279eec5aadf51d0c" alt="">
				<div class="text">
					<div class="b">Breakfast In Bed</div>
					<div>Dntel</div>
				</div>
			</a>
			<a href="https://open.spotify.com/track/0OvhFCkLYdLSypCNHITORc?si=8J_B3MIgTQKUYhJCUOUFuQ" target="_blank" class="bottom image-banner">
				<div class="text">
					<div class="b">Harrison Ford</div>
					<div>Darlingside</div>
				</div>
				<img src="https://i.scdn.co/image/912394b1b5a4ddee064db7dc6b53b9eac42a1314" alt="">
			</a>
			<a href="https://open.spotify.com/track/7FSqGltIongF1SGwvVXlzm?si=tdf5H1r8RJKhYcc5YI6-Mw" target="_blank" class="back image-banner t-white">
				<img src="https://i.scdn.co/image/c8136476534c35d60569b0be9f01b4587640073b" alt="">
				<div class="text">
					<div class="b">Monster</div>
					<div>Magic Bronson</div>
				</div>
			</a>
			<a href="https://open.spotify.com/track/4ebsjAw316emhy51exMQdK?si=GFus0NQKR2atvHBpOFnz9Q" target="_blank" class="top image-banner t-white">
				<div class="text">
					<div class="b">HEY YOU!</div>
					<div>Edu</div>
				</div>
				<img src="https://i.scdn.co/image/e77befa063c9f18a5710b56db88e9973b131a3da" alt="">
			</a>
		</div>
	</div>
	<div class="square"></div>
	<div class="square"></div>
</div>
<div class="row">
	<div class="column">
		<div class="square"></div>
		<div class="square"></div>
	</div>
	<div class="wrapper" style="--width:220px; --height:220px; --offset:-4s">
		<div class="rotate">
			<a href="https://codepen.io/z-/pen/XPQyMo" target="_blank" class="front backgroundimage" style="background-image:url(https://i.imgur.com/tyb17ct.png); background-color:#323133;"></a>
			<a href="https://codepen.io/z-/pen/ZMbLNM" target="_blank" class="bottom backgroundimage" style="background-image:url(https://i.imgur.com/i9LrIoq.png); background-color:#4A89DC;"></a>
			<a href="https://codepen.io/z-/pen/OBPJKK" target="_blank" class="back backgroundimage" style="background-image:url(https://i.imgur.com/Zj5MXDQ.png); background-color:#CCD1D9;"></a>
			<a href="https://codepen.io/z-/pen/MJKNJZ" target="_blank" class="top backgroundimage" style="background-image:url(https://i.imgur.com/KRdYPi8.png); background-color:#8067B7;"></a>
		</div>
	</div>
	<div class="column">
		<div class="square"></div>
		<div class="row">
			<div class="square small"></div>
			<div class="square small"></div>
		</div>
		<div class="row">
			<div class="square small"></div>
			<div class="square small"></div>
		</div>
	</div>
</div>

<div class="row">
	<div class="square long"></div>
	<div class="square"></div>
	<div class="wrapper" style="--width:100px; --height:100px; --offset:-14s; --duration: 20s;">
		<div class="rotate">
			<a href="https://codepen.io/z-" target="_blank" class="front icon t-white" style="font-size:3rem; background:#323133;"><i class="fab fa-codepen"></i></a>
			<a href="#thirdbottom" class="bottom icon t-white" style="font-size:3rem; background:#7289da;"><i class="fab fa-discord"></i></a>
			<a href="#thirdback" class="back icon t-white" style="font-size:3rem; background:#ff0000;"><i class="fab fa-youtube"></i></a>
			<a href="https://twitter.com/Osorpenke" target="_blank" class="top icon t-white" style="font-size:3rem; background:#1da1f2;"><i class="fab fa-twitter"></i></a>
		</div>
	</div>
</div>


body {
	--animation-duration: 16s;
	--tile-width: 200px;
	--tile-height: 100px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	min-height:100vh;
	font-family: 'Roboto', sans-serif;
	.row {
		display:flex;
		flex-direction:row;
		>*:not(.row):not(.column), .row>*:not(.row):not(.column), .column>*:not(.row):not(.column) {
			margin:10px;
		}
	}
	.column {
		display:flex;
		flex-direction:column;
	}
	.wrapper .rotate >*, .square {
		box-shadow:0 0 0 0px rgba(255, 255, 255, 0.3);
		&:hover {
			box-shadow:inset 0 0 0 2px rgba(255, 255, 255, 0.5);
		}
	}
	.wrapper {
		width: var(--width);
		height: var(--height);
		display:inline-block;
		perspective: 0px;
		perspective-origin: 50% 50%;
		cursor: pointer;
		.rotate {
			position: relative;
			width: var(--width);
			transform-style: preserve-3d;
			transform-origin: 0 calc(var(--height)/2);
			animation: spin var(--duration, var(--animation-duration)) infinite ease var(--offset, 0s);
			&:hover { //On hover the animation is paused, pointer events is disabled while rotating
				animation-play-state:paused;
			}
			>a {
				color:inherit;
				text-decoration:none;
			}
			.front {
				background:#ED5565;
				transform: translateZ(calc(var(--height)/2));
			}
			.bottom {
				background:#FFCE54;
				transform: rotateX(-90deg) translateY(calc(var(--height)/2));
				transform-origin: bottom center;
			}
			.back {
				background:#2ECC71;
				transform: translateZ(calc(var(--height)/-2)) rotateX(180deg);
			}
			.top {
				background:#5D9CEC;
				transform: rotateX(-270deg) translateY(calc(var(--height)/-2));
				transform-origin: top center;
			}
			>* {
				position: absolute;
				width: var(--width);
				height: var(--height);
				transition:.25s -.1s;
				&.t-white {
					color:white;
				}
				&.image-banner {
					display:flex;
					flex-direction:row;
					align-items:center;
					>*:not(img) {
						flex-grow:1;
					}
					>* {
						margin:10px 0 10px 10px;
						&:first-child {
							margin-left:10px;
						}
						&:last-child {
							margin-right:10px;
						}
					}
					img {
						height:calc(100% - 20px);
					}
					.text {
						display:flex;
						flex-direction:column;
						.b {
							font-weight:bold;
						}
					}
				}
				&.backgroundimage {
					background-size:200px 200px;
					background-position:center;
					background-repeat:no-repeat;
				}
				&.icon {
					line-height:var(--height);
					text-align:center;
				}
			}
		}
	}
	.square {
		background:#CCD1D9;
		width: var(--tile-height);
		height: var(--tile-height);
		cursor: pointer;
		transition:.25s -.1s;
		&.small {
			width: calc(var(--tile-height)/2 - 10px);
			height: calc(var(--tile-height)/2 - 10px);
		}
		&.long {
			width: calc(var(--tile-height) * 2 + 20px);
			height: var(--tile-height);
		}
	}
}

@keyframes spin {
	10.001%, 15%, 35.001%, 40%, 60.001%, 65%, 85.001%, 90% {
		pointer-events: none; //Cannot hover while rotating
	}
	0%, 10% {
		transform: rotateX(0);
		pointer-events: initial;
	}
	15.001%, 25%, 35% {
		transform: rotateX(90deg);
		pointer-events: initial;
	}
	40.001%, 50%, 60% {
		transform: rotateX(180deg);
		pointer-events: initial;
	}
	65.001%, 75%, 85% {
		transform: rotateX(270deg);
		pointer-events: initial;
	}
	90.001%, 100% {
		transform: rotateX(360deg);
		pointer-events: initial;
	}
}
View Compiled
Run Pen

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css
  2. https://fonts.googleapis.com/css?family=Roboto&amp;display=swap
  3. https://pro.fontawesome.com/releases/v5.10.2/css/all.css

External JavaScript

  1. https://codepen.io/z-/pen/a8e37caf2a04602ea5815e5acedab458.js