<div class="container">
	<div class="blob-c">
	<div class="shape-blob"></div>
	<div class="shape-blob one"></div>
	<div class="shape-blob two"></div>
	<div class="shape-blob three"></div>
    <div class="shape-blob four"></div>
    <div class="shape-blob five"></div>
    <div class="shape-blob six"></div>
	</div>
<h1>Undulating<br>Background<br>Blobs</h1>
</div>
@import url('https://fonts.googleapis.com/css?family=Playfair+Display:400,900');

body {
	margin: 0;
	padding: 0;
}

.container {
	background:#1F2024;
	min-height: 100vh;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.blob-c {
	min-height: 100vh;
	overflow: hidden;
	position:absolute;
	width: 100%;
	filter: blur(40px);
/*   background: rgba(255,255,255,0.1) */
}

.shape-blob {
	background:#26C3F9;
	height: 60px;
	width: 80px;
	border-radius: 40% 50% 30% 40%;
  	animation: 
		transform 18s ease-in-out infinite both alternate,
		movement_one 12s ease-in-out infinite both;
	opacity:.7;
	position: absolute;
	left: 75%;
	top: 40%;
}
.shape-blob.one{
	background:#0085FF;
	height: 150px;
	width: 200px;
	left: 10px;
	top: 10px;
	transform: rotate(-180deg);
	animation: transform 8s ease-in-out infinite both alternate, movement_two 20s ease-in-out infinite both;
}

.shape-blob.six{
	background:#0EAFFF;
	height: 70px;
	width: 100px;
	left: 160px;
	top: 200px;
	transform: rotate(-180deg);
	animation: transform 5s ease-in-out infinite both alternate, movement_two 5s ease-in-out infinite both;
}

.shape-blob.four{
	background:#4EAEFF;
	height: 100px;
	width: 80px;
	left: 350px;
	top: 60px;
	transform: rotate(-180deg);
	animation: transform 17s ease-in-out infinite both alternate, movement_two 13s ease-in-out infinite both;
}

.shape-blob.five{
	background:#0085FF;
	height: 100px;
	width: 80px;
	left: 480px;
	top: 30px;
	transform: rotate(-180deg);
	animation: transform 12s ease-in-out infinite both alternate, movement_two 18s ease-in-out infinite both;
}

.shape-blob.two{
	background:#4EAEFF;
	height: 150px;
	width: 150px;
	left: 600px;
	top: 150px;
	transform: rotate(-180deg);
	animation: transform 10s ease-in-out infinite both alternate, movement_two 10s ease-in-out infinite both;
}

.shape-blob.three{
	background:#0EAFFF;
	height: 150px;
	width: 150px;
	left: 800px;
	top: 30px;
	transform: rotate(-180deg);
	animation: transform 7s ease-in-out infinite both alternate, movement_two 23s ease-in-out infinite both;
}

@keyframes transform
{
    0%,
  100% { border-radius: 33% 67% 70% 30% / 30% 40% 70% 70%; } 
   20% { border-radius: 37% 63% 51% 49% / 37% 35% 35% 63%; } 
   40% { border-radius: 36% 64% 64% 36% / 64% 48% 52% 26%; } 
   60% { border-radius: 37% 63% 51% 49% / 30% 30% 70% 73%; } 
   80% { border-radius: 40% 60% 42% 58% / 51% 51% 49% 59%; } 
}


@keyframes movement_one
{
    0%,
  100% { transform: none; }
   50% { transform: translate(50%, 20%) rotateY(10deg) scale(1); }
}

@keyframes movement_two
{
    0%,
  500% { transform: none; }
   50% { transform: translate(50%, 20%) rotate(-200deg) scale(1.3);}
}

h1 {
	font-family: 'Playfair Display', serif;
	font-size: 5em;
	letter-spacing: 2px;
	font-weight: 900;
	color: white;
	line-height: .9em;
	position: absolute;
	z-index: 4;
	text-shadow: 2px 3px 15px rgba(0,0,0,.15);
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.