Files
monkeygg2.github.io/css/loading.css
T
2023-08-09 16:50:51 +05:30

214 lines
3.5 KiB
CSS

:root {
--hue: 223;
--bg: hsl(var(--hue), 90%, 5%);
--infinity-dur: 0.3s;
}
html {
background: var(--bg);
}
body {
margin: 0;
padding: 0;
box-sizing: border-box;
animation: fadein 1s;
}
.loading {
min-height: 100vh;
display: flex;
position: relative;
justify-content: center;
align-items: center;
z-index: 6;
pointer-events: none;
}
.loading-icon {
justify-self: center;
display: block;
position: absolute;
}
.loading-icon img {
width: 256;
height: 256;
scale: 0.6;
pointer-events: visiblePainted;
}
.loading-tip {
font-family: 'Flexi IBM VGA True (437)';
font-weight: 400;
text-rendering: optimizelegibility;
color: #009400;
font-size: 40px;
min-height: 50px;
display: flex;
margin-bottom: 12rem;
}
.loading-infinity {
display: flex;
align-items: center;
justify-content: center;
}
.infinity {
width: 16em;
height: 8em;
padding-top: 10em;
background-color: rgba(0, 0, 0, 0);
}
.infinity-track {
stroke: hsl(var(--hue), 90%, 90%);
transition: stroke var(--infinity-dur);
}
.worm1,
.worm2 {
animation: worm1 2s linear infinite;
}
.worm2 {
animation-name: worm2;
}
.stopped {
animation-play-state: paused;
}
@keyframes worm1 {
from {
stroke-dashoffset: 0;
}
50% {
animation-timing-function: steps(1);
stroke-dashoffset: -358;
}
50.01% {
animation-timing-function: linear;
stroke-dashoffset: 358;
}
to {
stroke-dashoffset: 0;
}
}
@keyframes worm2 {
from {
stroke-dashoffset: 358;
}
50% {
stroke-dashoffset: 0;
}
to {
stroke-dashoffset: -358;
}
}
@keyframes fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@font-face {
font-family: 'Flexi IBM VGA True (437)';
src: url('../fonts/Flexi_IBM_VGA_True_437.woff2') format('woff2'),
url('../fonts/Flexi_IBM_VGA_True_437.woff') format('woff'),
url('../fonts/Flexi_IBM_VGA_True_437.svg#Flexi_IBM_VGA_True_437') format('svg');
font-weight: normal;
font-style: normal;
font-display: swap;
}
section {
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
.particles {
background: var(--bg);
}
.hexagonGrid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 1;
/* this makes browser use GPU acceleration for blur */
will-change: contents;
filter: blur(2.5px);
}
.hexagonGrid .row {
display: inline-flex;
margin-top: -32px;
margin-left: -50px;
}
.hexagonGrid .row:nth-child(even) {
margin-left: 2px;
}
.hexagonGrid .row .hexagon {
position: relative;
width: 100px;
height: 110px;
margin: 4px 2px;
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.hexagonGrid .row .hexagon::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--bg);
opacity: 0.95;
transition: 1s;
}
.hexagonGrid .row .hexagon::after {
content: "";
position: absolute;
top: 4px;
right: 4px;
bottom: 4px;
left: 4px;
background: var(--bg);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.hexagonGrid .row .hexagon:hover::before {
background: #72acb1;
opacity: 1;
transition: 0s;
}
.hexagonGrid .row .hexagon:hover::after {
background: var(--bg);
}