<div class="gradient"></div>
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.gradient {
--size: 750px;
--speed: 50s;
--easing: cubic-bezier(0.8, 0.2, 0.2, 0.8);
width: var(--size);
height: var(--size);
filter: blur(calc(var(--size) / 5));
background-image: linear-gradient(hsl(222, 84, 60, 100%), hsl(164, 79, 71));
animation: rotate var(--speed) var(--easing) alternate infinite;
border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}
@media (min-width: 720px) {
.gradient {
--size: 500px;
}
}
body {
background-color: #071c39;
position: absolute;
inset: 0;
display: flex;
place-content: center;
align-items: center;
overflow: hidden;
}
/* This is just to transition when you change the viewport size. */
* {
transition: all 0.5s ease-out;
}
View Compiled
// @todo Add an SVG grain texture to smooth out the gradient steps.
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.