html, body {
margin: 0;
overflow: hidden;
color: #fff;
background-color: #222222;
background-attachment: fixed;
background-size: cover;
background-image: url("../img/gradient.webp"); }
a[href] {
color: transparent; }
.center {
display: flex;
overflow: hidden;
justify-content: center;
align-items: center;
min-height: 100vh; }
.box {
background-color: #0b0b0b80;
aspect-ratio: 1 / 1;
padding: 20px;
border-radius: 15%;
border: 3px solid #fff;
box-shadow: 0 0 15px rgba(255, 255, 255, 0.75);
text-align: center;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.box-404 {
background-color: #0b0b0b80;
aspect-ratio: 1 / 1;
padding: 20px;
border-radius: 15%;
border: 3px solid #fff;
box-shadow: 0 0 15px rgba(255, 255, 255, 0.75);
text-align: center;
display: flex;
align-items: center;
justify-content: center; }
.logo {
width: 65%;
align-self: center; }
.header {
font-size: 4vh;
margin-top: auto; }
.header-404 {
font-size: 6vh; }
.unselectable {
-webkit-user-select: none;
user-select: none; }
@media (max-width: 768px) {
.box {
width: 70%;
}
.box-404 {
width: 40%;
}
}
@media (min-width: 768px) {
.box {
width: 15%;
}
.box-404 {
width: 10%;
}
}
@keyframes fadeIn {
0% {
opacity: 0; }
100% {
opacity: 1; } }
.box {
animation: fadeIn 2s;
animation-fill-mode: forwards; }
.logo, .header {
opacity: 0;
animation: fadeIn 1.2s;
animation-fill-mode: forwards; }
.logo {
animation-delay: 1s; }
.header {
animation-delay: 1.35s; }
@keyframes snowfall {
0% {
transform: translateY(-10vh); }
100% {
transform: translateY(130vh); } }
.snowflake {
background: white;
border-radius: 50%;
position: fixed;
top: -5vh;
animation: snowfall infinite;
opacity: 0.1; }
@font-face {
font-family: 'SF-Regular';
src: url("../fonts/SF-Pro-Display-Regular.woff2") format("woff2");
font-weight: normal;
font-style: normal;
font-display: swap; }
h1, h2, h3, h4, h5, h6, summary, select, button, p {
font-family: 'SF-Regular', system-ui; }