<main>
<div class="grid"></div>
<div class="grid"></div>
<div class="grid"></div>
<div class="grid"></div>
</main>
<h1></h1>
<span id="shadow"></span>
<div id="line"></div>
<div id="double-circle"></div>
body {
min-height: 100vh;
overflow: hidden;
}
main {
position: relative;
display: grid;
width: 100vw;
height: 100vh;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
font-family: Helvetica;
}
.grid {
outline: 10px solid #2d2d2d;
background-color: #d8c292;
animation: background 1.5s linear infinite;
}
#shadow {
position: absolute;
z-index: 1;
background: transparent;
top: 50%;
left: 50%;
width: 100vw;
height: 100vh;
transform: translate(-50%, -50%);
box-shadow: inset 0 0 200px #000;
&:before {
position: absolute;
content: '';
z-index: 50;
background: transparent;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
transform: translate(-50%, -50%);
box-shadow: inset 0 0 200px #000;
}
&:after {
position: absolute;
content: '';
z-index: 50;
background: transparent;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
transform: translate(-50%, -50%);
box-shadow: inset 0 0 200px #000;
}
}
#double-circle {
position: absolute;
z-index: 150;
padding: 2rem;
top: 50%;
left: 50%;
width: 500px;
height: 500px;
background: transparent;
transform: translate(-50%, -50%);
border: 20px solid #f2f3f4;
box-shadow: 5px 5px 25px #f2f3f4;
border-radius: 50%;
&:before {
position: absolute;
content: "";
z-index: 150;
padding: 1rem;
top: 50%;
left: 50%;
width: 440px;
height: 440px;
background: transparent;
transform: translate(-50%, -50%);
border: 20px solid #f2f3f4;
box-shadow: 5px 5px 25px #f2f3f4;
border-radius: 50%;
}
}
#line {
position: absolute;
z-index: 160;
top: 49%;
left: 49%;
width: 10px;
height: 1000px;
background-color: #2d2d2d;
transform-origin: 50% 0;
animation: rotate 1s linear infinite;
}
h1 {
position: absolute;
z-index: 1000;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 32rem;
font-weight: 900;
color: #2d2d2d;
text-shadow: 4px 2px 15px #2d2d2d;
&:before {
position: absolute;
z-index: 1000;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
content: counter(count);
animation: counter 11s linear backwards infinite;
counter-reset: count;
}
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes counter {
0% {
counter-increment: count 10;
}
10% {
counter-increment: count 9;
}
20% {
counter-increment: count 8;
}
30% {
counter-increment: count 7;
}
40% {
counter-increment: count 6;
}
50% {
counter-increment: count 5;
}
60% {
counter-increment: count 4;
}
70% {
counter-increment: count 3;
}
80% {
counter-increment: count 2;
}
90% {
counter-increment: count 1;
}
100% {
counter-increment: count 0;
}
}
@keyframes background {
from {
background-color: darken(#d8c292, 30%);
}
to {
background-color: #d8c292;
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.