html,body,.box {
height:100%;
display:flex;
align-items:center;
justify-content:center;
}
body {
background-color:#222;
}
.box {
font-size:2.5em;
width:10em;
height:5em;
background-color:#111;
border-radius:0.5em;
text-align:center;
line-height:1.5em;
font-family:sans-serif;
position:relative;
animation:animate_text 2s linear infinite alternate;
}
.box::before {
content:'';
position:absolute;
width:calc(100% + 10%);
height:calc(100% + 20%);
border-radius:0.5em;
z-index:-1;
background-image:linear-gradient(60deg,aquamarine,cornflowerblue,goldenrod,hotpink,salmon,lightgreen,sandybrown,violet);
background-size:300%;
animation:animate_bg 5s infinite;
}
@keyframes animate_bg {
0%,100% {
background-position:0%,50%;
}
50% {
background-position:100%,50%;
}
}@keyframes animate_text {
from {
color:lime;
}
to {
color:yellow;
}
}