pages/style.css
2024-05-05 21:07:24 -04:00

2371 lines
51 KiB
CSS

/* cantarell-regular - latin */
@font-face {
font-family: 'Cantarell';
font-style: normal;
font-weight: 400;
src: local(''), url("fonts/cantarell-v17-latin-regular.woff2") format('woff2'), url("fonts/cantarell-v17-latin-regular.woff") format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* cantarell-700 - latin */
@font-face {
font-family: 'Cantarell';
font-style: normal;
font-weight: 700;
src: local(''), url("fonts/cantarell-v17-latin-700.woff2") format('woff2'), url("fonts/cantarell-v17-latin-700.woff") format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
font-family: "Cantarell-VF";
src: local(''), url("fonts/Cantarell-VF.otf") format('opentype-variations');
}
:root {
--bg: #080011;
--fg: #fff;
--fg-invert: #fff;
--bg-invert: var(--accent);
--accent: #ff6b00;
--accent-2: #ff964a;
--border: rgba(120,120,120,0.3);
--elevated: rgba(100,100,100,0.2);
--shadow-hover: var(--accent);
--radius: 12px;
--radius-small: 6px;
--pg-width: 90em;
--padding: 60px;
}
@media (prefers-color-scheme: light) {
:root {
--bg: #f5e7e7;
--fg: #333;
--bg-invert: #000;
--fg-invert: #fff;
--shadow-hover: #000;
}
:root h3 {
color: var(--accent);
}
}
@media (max-width: 600px) {
:root {
--padding: 30px !important;
}
}
::-webkit-scrollbar {
background: none;
}
::-webkit-scrollbar-thumb {
background-color: var(--accent);
border-radius: 100px;
transition: background-color 0.2s;
}
:not(:hover):not(:focus-within)::-webkit-scrollbar-thumb {
background-color: transparent;
}
html {
scrollbar-color: var(--accent) transparent;
transition: scrollbar-color 0.2s;
background: var(--bg);
accent-color: var(--accent);
}
body {
display: flex;
justify-content: center;
margin: 0;
font-family: Cantarell, sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
html,
body {
overflow: hidden;
overscroll-behavior: contain;
}
.scroller {
perspective: 10px;
perspective-origin: top;
-webkit-perspective: unset;
-moz-perspective: 10px;
height: 100vh;
overflow: hidden auto;
margin: 0 auto;
color: var(--fg);
line-height: 1.5;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
scroll-padding: 60px;
transition: opacity 0.2s;
}
.scroller > * {
width: var(--pg-width);
max-width: 100%;
}
.scroller > .spacer {
display: block;
min-height: 50vh;
}
* {
box-sizing: border-box;
transition: opacity 0.4s;
}
:not(:hover) {
scrollbar-color: transparent transparent;
}
::selection {
background: var(--accent);
color: #fff;
}
hr.invis {
width: 100%;
border: 0;
margin: 0;
}
h2,
h3,
h4,
h5,
h6,
p {
margin-block: 0.4em;
}
h1,
h2,
h3,
h4,
h5,
h6 {
letter-spacing: -0.05em;
}
p {
letter-spacing: -0.05em;
}
p .hide {
color: var(--accent);
font-size: 0;
opacity: 0;
transition: font-size 0.2s 0.1s, opacity 0.2s;
transition-timing-function: cubic-bezier(0.5, 0.5, 0, 1) !important;
}
p:hover .hide {
font-size: 0.7em;
opacity: 1;
transition: font-size 0.9s 1s, opacity 0.2s 1.6s;
}
h1 {
display: block !important;
color: var(--accent);
font-size: 2em;
line-height: 1;
margin-bottom: 1.5em;
}
h3 {
color: var(--accent);
line-height: 1.4;
margin-bottom: 0.2em;
}
a {
color: var(--accent);
text-underline-offset: 0.4em;
}
ul {
margin: 0;
}
#warning {
position: fixed;
margin-inline: 10px;
max-width: calc(100% - 30px);
bottom: 60px;
z-index: 9999;
width: max-content;
padding: 1em 3em;
padding-bottom: 1.4em;
padding-left: 5em;
background: var(--bg);
font-weight: 700;
border-radius: 2.5em;
display: none;
align-items: center;
gap: 0.4em 1.7em;
box-shadow: 0 12px 48px -24px var(--accent), 0 40px 200px 100px var(--bg);
border-bottom: 4px solid var(--accent);
color: var(--accent);
color: #ff8933;
flex-wrap: wrap;
font-size: 20px;
transform: translateY(200px);
filter: opacity(0);
animation: transform 2s 1s forwards cubic-bezier(0, 0.9, 0, 1);
transition: font-size, border-radius, padding, bottom;
transition-duration: 1s;
transition-timing-function: cubic-bezier(0.5, 0, 0, 1);
}
#warning,
#warning * {
text-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
}
#warning::after {
content: "";
position: absolute;
inset: 0;
background: rgba(255,255,255,0.07);
z-index: -1;
border-radius: inherit;
}
#warning small {
display: block;
text-align: left;
font-size: 0.8em;
}
#warning > a {
font-size: 0.9em;
}
#warning .button .tooltip {
margin-top: -6px;
font-size: 0.7em;
}
#warning .img-container {
position: absolute;
left: -0.2em;
bottom: -0.15em;
width: 4em;
height: 4em;
animation: bounceSmall 4s infinite alternate cubic-bezier(0.5, 0, 0.5, 1);
}
#warning .img-container img {
width: 100%;
height: 100%;
transform: scaleX(-1) rotate(10deg);
}
@media (max-width: 1400px) {
#warning {
font-size: 16px;
}
}
@media (max-width: 1100px) {
#warning {
bottom: 0;
max-width: 100%;
margin: 0;
border-radius: 24px 24px 0 0;
padding-right: 1em;
font-size: 16px;
text-align: right;
justify-content: flex-end;
}
#warning small {
text-align: right;
}
}
@media (max-width: 600px) {
#warning {
padding-left: 1em;
display: none;
font-size: 0.8em;
}
}
.links {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0 12px;
margin-bottom: -8px;
font-size: 0.85rem;
transition: opacity 0.4s;
}
.links .button {
margin-bottom: 8px;
}
.links details {
display: contents;
}
@media (pointer: fine) {
.links details[open] summary .tooltip {
display: none;
}
}
.links details[open] a {
animation: popIn 0.7s 0.77s cubic-bezier(0, 0.5, 0, 2) backwards;
}
.links details[open] a:nth-of-type(1) {
animation-delay: 0.07s;
}
.links details[open] a:nth-of-type(2) {
animation-delay: 0.14s;
}
.links details[open] a:nth-of-type(3) {
animation-delay: 0.21s;
}
.links details[open] a:nth-of-type(4) {
animation-delay: 0.28s;
}
.links details[open] a:nth-of-type(5) {
animation-delay: 0.35s;
}
.links details[open] a:nth-of-type(6) {
animation-delay: 0.42s;
}
.links details[open] a:nth-of-type(7) {
animation-delay: 0.49s;
}
.links details[open] a:nth-of-type(8) {
animation-delay: 0.56s;
}
.links details[open] a:nth-of-type(9) {
animation-delay: 0.63s;
}
.links details[open] a:nth-of-type(10) {
animation-delay: 0.7s;
}
.links:hover > .button,
.links:focus-within > .button,
.links:hover fieldset,
.links:focus-within fieldset,
.links:hover > a,
.links:focus-within > a {
opacity: 0.4;
}
.links:hover > .button:hover,
.links:focus-within > .button:hover,
.links:hover fieldset:hover,
.links:focus-within fieldset:hover,
.links:hover > a:hover,
.links:focus-within > a:hover,
.links:hover > .button:focus,
.links:focus-within > .button:focus,
.links:hover fieldset:focus,
.links:focus-within fieldset:focus,
.links:hover > a:focus,
.links:focus-within > a:focus {
opacity: 1;
}
.links:hover > .button:hover ~ details .button,
.links:focus-within > .button:hover ~ details .button,
.links:hover fieldset:hover ~ details .button,
.links:focus-within fieldset:hover ~ details .button,
.links:hover > a:hover ~ details .button,
.links:focus-within > a:hover ~ details .button,
.links:hover > .button:focus ~ details .button,
.links:focus-within > .button:focus ~ details .button,
.links:hover fieldset:focus ~ details .button,
.links:focus-within fieldset:focus ~ details .button,
.links:hover > a:focus ~ details .button,
.links:focus-within > a:focus ~ details .button,
.links:hover > .button:hover ~ details > :not(.button),
.links:focus-within > .button:hover ~ details > :not(.button),
.links:hover fieldset:hover ~ details > :not(.button),
.links:focus-within fieldset:hover ~ details > :not(.button),
.links:hover > a:hover ~ details > :not(.button),
.links:focus-within > a:hover ~ details > :not(.button),
.links:hover > .button:focus ~ details > :not(.button),
.links:focus-within > .button:focus ~ details > :not(.button),
.links:hover fieldset:focus ~ details > :not(.button),
.links:focus-within fieldset:focus ~ details > :not(.button),
.links:hover > a:focus ~ details > :not(.button),
.links:focus-within > a:focus ~ details > :not(.button) {
opacity: 0.4 !important;
}
.links:hover summary.button:hover ~ .links,
.links:focus-within summary.button:hover ~ .links,
.links:hover summary.button:focus ~ .links,
.links:focus-within summary.button:focus ~ .links {
opacity: 1 !important;
}
.links:hover ~ *,
.links:focus-within ~ * {
opacity: 0.4;
}
.links details > div {
transition: opacity 0.2s;
width: 100%;
}
.links details > div > div {
pointer-events: all;
position: absolute;
animation: fadeIn 0.4s;
width: calc(var(--pg-width));
max-width: calc(100vw - (var(--padding) * 2));
right: 0;
}
.links details > div > div::before,
.links details > div > div::after {
content: "";
position: absolute;
inset: -10px;
top: 140px;
border-radius: var(--radius);
left: -200px;
background: var(--bg);
z-index: -1;
opacity: 0.5;
box-shadow: 0 0 120px 120px var(--bg);
}
.links details > div > div::before {
inset-inline: -100vw;
bottom: -400px;
opacity: 0.9;
}
.links details .links:not(.smoll-buttons) {
width: max-content;
max-width: 100%;
margin-left: auto;
}
.links details h3 {
width: 100%;
margin-block: 1em 0;
transition: opacity 0.2s;
font-size: 1.5em;
}
.links details p img,
.links details span img {
width: 1.6em;
height: 1.6em;
display: inline;
vertical-align: middle;
}
.hidden {
display: none;
}
.break {
width: 100%;
}
.filter-glow {
filter: drop-shadow(0 0 40px var(--accent));
}
.filter-glow.low {
filter: drop-shadow(0 0 40px rgba(255,70,0,0.8));
}
.glow {
position: relative;
width: max-content;
max-width: 100%;
text-shadow: 0 0 40px rgba(255,70,0,0.8), 0 0 120px rgba(255,0,0,0.5);
}
.full-width {
width: 100vw;
min-width: 100vw;
padding-inline: 0 !important;
}
.normal-width {
width: 100%;
max-width: var(--pg-width);
margin: 0 auto;
}
.flow {
display: flex;
flex-wrap: wrap;
}
.column {
flex-direction: column;
}
.sections {
position: relative;
z-index: 4;
animation: slideUpFade 3s 1s cubic-bezier(0, 0.5, 0, 1) backwards;
}
.sections:focus-within {
z-index: 11;
}
@media (prefers-reduced-motion: no-preference) {
body:has(#info details[open]) .sections > .section:first-child:not(:focus-within) {
transform: translateY(10px);
transition: opacity 0.7s, transform 0.7s, visibility 0s 0.7s;
}
}
body:has(.sections > .section:first-child:focus-within) #info details > div {
display: none;
}
.section {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
padding: 50px var(--padding);
z-index: 4;
transition: opacity 0.4s, transform 1.2s cubic-bezier(0, 0.5, 0, 1), visibility 0s;
}
.section * {
pointer-events: all;
}
.section > style {
display: block;
width: 100%;
height: auto;
padding: 1em;
border: 1px solid var(--border);
border-radius: var(--radius);
white-space: break-spaces;
}
.section > h4 {
margin-top: -1em;
margin-bottom: 2em;
}
.section:first-child {
padding-top: 0;
}
.section:hover {
z-index: 4 !important;
}
.section:hover ~ .section:not(:focus-within) {
opacity: 0.8;
}
.card-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
gap: 2em 3em;
pointer-events: none;
}
.card-list.three > * {
min-width: 30%;
}
.card-list > article,
.card-list fieldset {
transition: transform 1s cubic-bezier(0, 0, 0, 1), opacity 0.2s, flex-grow 0.7s, border-color 0.7s;
pointer-events: all;
}
.card-list:hover > article,
.card-list:focus-within > article,
.card-list:hover > fieldset,
.card-list:focus-within > fieldset {
opacity: 0.5;
}
@media (prefers-reduced-motion) {
.card-list:hover > article:hover,
.card-list:focus-within > article:hover,
.card-list:hover > fieldset:hover,
.card-list:focus-within > fieldset:hover,
.card-list:hover > article:focus-within,
.card-list:focus-within > article:focus-within,
.card-list:hover > fieldset:focus-within,
.card-list:focus-within > fieldset:focus-within {
opacity: 1 !important;
}
}
@media (prefers-reduced-motion: no-preference) {
.card-list:hover > article,
.card-list:focus-within > article,
.card-list:hover > fieldset,
.card-list:focus-within > fieldset {
transform: translateY(5px);
}
.card-list:hover > article:hover,
.card-list:focus-within > article:hover,
.card-list:hover > fieldset:hover,
.card-list:focus-within > fieldset:hover,
.card-list:hover > article:focus-within,
.card-list:focus-within > article:focus-within,
.card-list:hover > fieldset:focus-within,
.card-list:focus-within > fieldset:focus-within {
transform: translateY(-5px) !important;
opacity: 1 !important;
transition: transform 0.2s cubic-bezier(0, 0, 0, 1), opacity 0.2s, flex-grow 0.7s, border-color 0.4s;
z-index: 10;
}
}
.card,
fieldset {
padding: 20px 24px 24px;
border: 1px solid var(--border);
border-radius: var(--radius);
flex: 1 1 31.5em;
max-width: 31.5em;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
.card legend,
fieldset legend {
color: var(--accent);
font-weight: 700;
}
fieldset {
flex: unset;
padding: 15px;
overflow: visible;
pointer-events: none !important;
}
.card::before,
fieldset::before {
content: "";
position: absolute;
inset: 0;
opacity: 0;
border-radius: inherit;
transform: opacity 0.2s;
box-shadow: 0 8px 48px -24px var(--accent);
pointer-events: none;
}
.card h3,
fieldset h3,
.card h5,
fieldset h5 {
margin-block: 0;
}
.card .content,
fieldset .content {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
flex-grow: 1;
}
.card .content::before,
fieldset .content::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, var(--bg) 50%, transparent);
z-index: -1;
opacity: 0.5;
}
.card .content > div,
fieldset .content > div {
font-size: 0.9em;
width: 200px;
flex-grow: 1;
display: flex;
flex-direction: column;
}
.card .content > div > p,
fieldset .content > div > p {
flex-grow: 1;
}
.card .content > img,
fieldset .content > img {
bottom: 0;
border-radius: var(--radius) var(--radius) 0 0;
width: 250px;
height: auto;
background: var(--elevated);
margin-bottom: -24px;
margin-inline: -100px -5px;
align-self: flex-end;
z-index: -2;
transform: translateY(20px) scale(0.98);
opacity: 0.7;
transition: transform 0.5s cubic-bezier(0.4, 0.2, 0, 1), opacity 0.2s;
}
.card ul,
fieldset ul {
padding-left: 0;
margin-top: 0.2em;
}
.card ul li::before,
fieldset ul li::before {
content: "";
width: 0.5em;
height: 0.5em;
border-radius: 100px;
position: absolute;
vertical-align: center;
left: -0.275em;
margin-top: 0.5em;
background: currentColor;
box-shadow: 0 4px 12px rgba(0,0,0,0.7);
}
.card ul li:hover,
fieldset ul li:hover,
.card ul li:focus-within,
fieldset ul li:focus-within {
color: var(--accent);
}
.card ul li::marker,
fieldset ul li::marker {
color: transparent;
}
.card ul a,
fieldset ul a {
font-weight: 600;
font-size: 0.9em;
vertical-align: 0.4em;
}
.card:hover,
fieldset:hover,
.card:focus-within,
fieldset:focus-within {
border-color: var(--accent);
}
.card:hover::before,
fieldset:hover::before,
.card:focus-within::before,
fieldset:focus-within::before {
opacity: 1;
}
.card:hover .content > img,
fieldset:hover .content > img,
.card:focus-within .content > img,
fieldset:focus-within .content > img {
transform: none;
opacity: 1;
}
.card-img {
flex: 1 1 21em;
max-width: 24em;
display: flex;
flex-direction: column;
overflow: hidden;
margin: -1.5em;
padding: 1.5em;
}
.card-img h3 {
color: var(--fg);
margin-inline: var(--radius);
}
.card-img h3,
.card-img p {
max-width: 20em;
}
.card-img .img-container {
position: relative;
order: -1;
width: 100%;
padding-top: 56.25%;
background-color: var(--bg);
border-radius: var(--radius);
position: relative;
font-weight: 700;
transition: transform 0.4s;
}
.card-img .img-container::before {
content: "";
position: absolute;
inset: 0;
border-radius: var(--radius);
box-shadow: 0 24px 40px -40px var(--shadow-hover);
opacity: 0;
transition: opacity 0.2s;
}
.card-img .img-container > * {
position: absolute;
inset: 0;
object-fit: cover;
width: 100%;
height: 100%;
border-radius: var(--radius);
}
.card-img .img-container img,
.card-img .img-container .info {
transition: opacity 0.2s;
}
.card-img .img-container .info {
display: flex;
flex-direction: column;
padding: 1.5em;
opacity: 0;
font-size: 0.9em;
}
.card-img .img-container .info p {
flex-grow: 1;
}
.card-img .img-container .button {
display: block;
margin-top: auto;
margin-left: auto;
position: static;
}
.card-img .img-container .button::before {
content: unset;
}
.card-img .img-container .button::after {
inset: -9999px !important;
}
.card-img:hover,
.card-img:focus-within {
flex-grow: 1.2;
}
.card-img:hover .img-container,
.card-img:focus-within .img-container {
transform: translateY(-5px);
}
.card-img:hover .img-container::before,
.card-img:focus-within .img-container::before {
opacity: 1;
}
.card-img:hover img,
.card-img:focus-within img {
opacity: 0.1;
}
.card-img:hover .info,
.card-img:focus-within .info {
opacity: 1;
}
.card-big {
overflow: auto hidden;
margin: 0 calc(0px - var(--padding));
padding: var(--padding);
background: none;
transition: scrollbar-color 0.2s;
contain: layout paint inline-size;
}
.card-big > .normal-width {
display: flex;
gap: 4em;
align-items: center;
padding-inline: var(--padding);
transform: rotate(0.5deg);
transform-origin: top left;
}
.card-big > .normal-width > div:first-child {
min-width: 12.5em;
max-width: 100vw;
flex-grow: 1;
width: 0;
position: sticky;
left: var(--padding);
z-index: 2;
text-shadow: 0 0 40px var(--bg), 0 0 40px var(--bg);
}
.card-big > .normal-width > div:first-child::before,
.card-big > .normal-width > div:first-child::after {
content: "";
position: absolute;
inset: -120px -65px;
right: -300px;
background: var(--bg);
z-index: -1;
mask: linear-gradient(to right, #000 0%, rgba(0,0,0,0.987) 8.1%, rgba(0,0,0,0.951) 15.5%, rgba(0,0,0,0.896) 22.5%, rgba(0,0,0,0.825) 29%, rgba(0,0,0,0.741) 35.3%, rgba(0,0,0,0.648) 41.2%, rgba(0,0,0,0.55) 47.1%, rgba(0,0,0,0.45) 52.9%, rgba(0,0,0,0.352) 58.8%, rgba(0,0,0,0.259) 64.7%, rgba(0,0,0,0.175) 71%, rgba(0,0,0,0.104) 77.5%, rgba(0,0,0,0.049) 84.5%, rgba(0,0,0,0.013) 91.9%, rgba(0,0,0,0) 100%);
-webkit-mask: linear-gradient(to right, #000 0%, rgba(0,0,0,0.987) 8.1%, rgba(0,0,0,0.951) 15.5%, rgba(0,0,0,0.896) 22.5%, rgba(0,0,0,0.825) 29%, rgba(0,0,0,0.741) 35.3%, rgba(0,0,0,0.648) 41.2%, rgba(0,0,0,0.55) 47.1%, rgba(0,0,0,0.45) 52.9%, rgba(0,0,0,0.352) 58.8%, rgba(0,0,0,0.259) 64.7%, rgba(0,0,0,0.175) 71%, rgba(0,0,0,0.104) 77.5%, rgba(0,0,0,0.049) 84.5%, rgba(0,0,0,0.013) 91.9%, rgba(0,0,0,0) 100%);
pointer-events: none;
}
.card-big > .normal-width > div:first-child::after {
right: calc(0px - var(--padding));
}
.card-big > .normal-width h3 {
font-size: 2em;
}
.card-big > .normal-width .slider {
height: 300px;
width: 400px;
flex: 9999 0 400px;
display: flex;
align-items: center;
}
.card-big > .normal-width .slider::after {
content: "";
display: block;
min-width: 120px;
}
.card-big > .normal-width .slider > .img-container {
display: flex;
align-items: center;
position: relative;
height: inherit;
border-radius: var(--radius);
perspective: 1000px;
transition: transform 0.7s, opacity 0.4s, margin 1s;
}
.card-big > .normal-width .slider > .img-container > img {
max-height: 100%;
border-radius: var(--radius);
margin-inline: 1em;
transition: margin 1s, transform 0.7s cubic-bezier(0, 0, 0, 1);
}
@media (prefers-reduced-motion: no-preference) {
.card-big > .normal-width .slider > .img-container:hover {
transform: translateY(-6px) scale(1.02) !important;
}
.card-big > .normal-width .slider > .img-container:hover img {
margin-inline: 2em;
}
.card-big > .normal-width .slider > .img-container > div {
position: absolute;
width: 50%;
height: 50%;
z-index: 2;
}
.card-big > .normal-width .slider > .img-container .top-left {
top: 0;
left: 0;
}
.card-big > .normal-width .slider > .img-container .top-left:hover ~ img {
transform: rotate3d(-1, 1, 0, 5deg);
}
.card-big > .normal-width .slider > .img-container .top-right {
top: 0;
right: 0;
}
.card-big > .normal-width .slider > .img-container .top-right:hover ~ img {
transform: rotate3d(-1, -1, 0, 5deg);
}
.card-big > .normal-width .slider > .img-container .bottom-left {
bottom: 0;
left: 0;
}
.card-big > .normal-width .slider > .img-container .bottom-left:hover ~ img {
transform: rotate3d(1, 1, 0, 5deg);
}
.card-big > .normal-width .slider > .img-container .bottom-right {
bottom: 0;
right: 0;
}
.card-big > .normal-width .slider > .img-container .bottom-right:hover ~ img {
transform: rotate3d(1, -1, 0, 5deg);
}
.card-big > .normal-width .slider > .img-container .top-middle {
top: 0;
bottom: 50%;
inset-inline: 40% !important;
width: unset;
height: unset;
}
.card-big > .normal-width .slider > .img-container .top-middle:hover ~ img {
transform: rotate3d(-1, 0, 0, 6deg);
}
.card-big > .normal-width .slider > .img-container .bottom-middle {
top: 50%;
bottom: 0;
inset-inline: 40% !important;
width: unset;
height: unset;
}
.card-big > .normal-width .slider > .img-container .bottom-middle:hover ~ img {
transform: rotate3d(1, 0, 0, 6deg);
}
.card-big > .normal-width .slider > .img-container .center {
inset: 40%;
width: unset;
height: unset;
}
}
@media (pointer: fine) {
.card-big > .normal-width .slider > .img-container:nth-child(1) {
transform: translateY(6px);
opacity: 0.95;
transition-delay: 0s;
}
.card-big > .normal-width .slider > .img-container:nth-child(2) {
transform: translateY(12px);
opacity: 0.7;
transition-delay: 0.1s;
}
.card-big > .normal-width .slider > .img-container:nth-child(3) {
transform: translateY(18px);
opacity: 0.45;
transition-delay: 0.2s;
}
.card-big > .normal-width .slider > .img-container:nth-child(4) {
transform: translateY(24px);
opacity: 0.2;
transition-delay: 0.3s;
}
}
.card-big:hover .img-container,
.card-big:focus-within .img-container {
transform: none !important;
opacity: 1 !important;
}
.button,
.smoll-buttons > a {
position: relative;
padding: 0.7em 1.2em;
border: 1px solid var(--border);
border-radius: 6px;
max-width: 90vw !important;
align-items: center;
text-decoration: none;
color: inherit;
gap: 0.4em;
font-weight: 600;
box-shadow: box-shadow 6px 12px 40px -12px transparent;
text-shadow: 0 0 20px var(--bg), 0 0 20px var(--bg), 0 0 10px var(--bg), 0 0 10px var(--bg);
pointer-events: all;
transition: transform 0.2s cubic-bezier(0, 0, 0, 2), background 0.2s, color 0.2s, opacity 0.2s, flex-grow 0.7s cubic-bezier(0, 0, 0, 1);
}
.button::before,
.smoll-buttons > a::before {
content: "";
position: absolute;
inset: 0;
box-shadow: 6px 12px 40px -12px var(--shadow-hover);
opacity: 0;
border-radius: inherit;
transition: opacity 0.2s;
}
.button::after,
.smoll-buttons > a::after {
content: "";
position: absolute;
inset: 0;
}
.button:hover,
.smoll-buttons > a:hover,
.button:focus,
.smoll-buttons > a:focus {
background: var(--bg-invert);
border-color: transparent;
color: var(--fg-invert);
transform: translate(-4px, -4px);
z-index: 2;
text-shadow: none !important;
transition: transform 0.2s cubic-bezier(0, 0, 0, 2), background 0.2s, color 0.2s, opacity 0.2s, flex-grow 0.2s cubic-bezier(0, 0, 0, 1);
}
.button:hover::before,
.smoll-buttons > a:hover::before,
.button:focus::before,
.smoll-buttons > a:focus::before {
opacity: 1;
}
.button:hover::after,
.smoll-buttons > a:hover::after,
.button:focus::after,
.smoll-buttons > a:focus::after {
right: -12px;
bottom: -12px;
}
.button:hover .tooltip,
.smoll-buttons > a:hover .tooltip,
.button:focus .tooltip,
.smoll-buttons > a:focus .tooltip {
opacity: 1 !important;
right: 0;
top: 120%;
transform: none;
}
@media (prefers-reduced-motion) {
.button:hover,
.smoll-buttons > a:hover,
.button:focus,
.smoll-buttons > a:focus {
transform: none !important;
}
.button:hover .tooltip,
.smoll-buttons > a:hover .tooltip,
.button:focus .tooltip,
.smoll-buttons > a:focus .tooltip {
transition: none !important;
}
}
.button.with-icon,
.smoll-buttons > a.with-icon {
padding: 1em 1.5em;
padding-right: 3em;
border-radius: var(--radius);
font-size: 1.2em;
}
.button.with-icon .img-container,
.smoll-buttons > a.with-icon .img-container {
position: absolute;
right: -1em;
bottom: -1.5em;
pointer-events: none;
transition: bottom 0.7s;
animation: bounceSmall 4s infinite alternate cubic-bezier(0.5, 0, 0.5, 1);
}
.button.with-icon img,
.smoll-buttons > a.with-icon img {
width: 3.7em;
height: 3.7em;
transform: rotate(15deg);
transition: width 0.3s, height 0.3s;
}
.button.with-icon:hover .img-container,
.smoll-buttons > a.with-icon:hover .img-container,
.button.with-icon:focus-visible .img-container,
.smoll-buttons > a.with-icon:focus-visible .img-container {
bottom: -1.2em;
}
@media (pointer: coarse) {
.button.button,
.smoll-buttons > a.button {
flex-grow: 1;
}
}
.tooltip {
position: absolute;
pointer-events: none;
opacity: 0;
top: 100%;
min-width: max-content;
text-shadow: 0 0 20px var(--bg), 0 0 20px var(--bg), 0 0 10px var(--bg), 0 0 10px var(--bg);
font-size: 0.8em;
color: var(--fg);
transform: translateX(4px);
transition: transform 0.4s cubic-bezier(0, 0.2, 0, 1);
z-index: 3;
}
.tooltip img {
vertical-align: middle;
}
.tooltip::first-line {
font-size: 1.1em;
}
@media (pointer: coarse) {
.tooltip {
margin-left: 0.5em;
position: static;
display: block;
opacity: 0.8;
text-shadow: none;
overflow: hidden;
text-overflow: ellipsis;
color: inherit;
min-width: unset;
width: 100%;
margin: 0;
}
}
.smoll-buttons {
width: 100%;
gap: 2px;
margin-bottom: 0;
pointer-events: none;
contain: inline-size layout;
}
.smoll-buttons > a {
padding: 0;
border: 0;
background: none !important;
}
.smoll-buttons > a img {
display: block;
margin: auto;
image-rendering: pixelated;
width: 88px;
height: 31px;
position: relative;
z-index: 10;
}
@media (prefers-reduced-motion: no-preference) {
.smoll-buttons > a:hover,
.smoll-buttons > a:focus {
flex-grow: 0.02;
}
}
.smoll-buttons .tooltip {
text-align: right;
padding-inline-start: 10px;
}
@media (pointer: coarse) {
.smoll-buttons .tooltip {
width: 0;
min-width: 100%;
}
}
#skip-to-content {
position: absolute;
top: 10px;
padding: 0.7em 1.7em;
width: max-content;
background-color: var(--accent);
border-radius: var(--radius);
color: #fff;
box-shadow: 0 8px 24px rgba(0,0,0,0.2);
z-index: 100;
transform: translateY(-2em);
opacity: 0;
font-weight: 700;
transition: transform 0.2s, opacity 0.2s;
}
#skip-to-content:focus {
transform: none;
opacity: 1;
}
@media (max-width: 900px) {
#parallax-foxxos {
display: none !important;
}
}
#parallax-foxxos {
display: block;
min-height: 600px;
max-height: 600px;
margin-bottom: -600px;
pointer-events: none;
z-index: 10;
contain: strict;
transform: translateZ(-1px) scale(2.3) translateY(40%) translateX(100px);
}
#parallax-foxxos > div {
color: var(--accent);
}
#parallax-foxxos:nth-of-type(2) {
opacity: 0.8;
z-index: 1;
transform: translateZ(-2px) scale(2.3) translateY(40%) translateX(100px);
}
@media (prefers-reduced-motion: no-preference) {
#parallax-foxxos img {
animation: rotate 200s infinite;
}
#parallax-foxxos > div {
animation: slideUpFade 4s 0.2s backwards, bounce 20s 4s infinite alternate cubic-bezier(0.5, 0, 0.5, 1);
}
#parallax-foxxos > div > :nth-child(odd),
#parallax-foxxos > div > :nth-child(even) img {
animation-direction: alternate-reverse;
}
#parallax-foxxos > div:nth-child(1) img {
animation-delay: 1.1s;
}
#parallax-foxxos > div:nth-child(2) img {
animation-delay: 2.2s;
}
#parallax-foxxos > div:nth-child(3) img {
animation-delay: 3.3s;
}
#parallax-foxxos > div:nth-child(4) img {
animation-delay: 4.4s;
}
#parallax-foxxos > div:nth-child(5) img {
animation-delay: 5.5s;
}
#parallax-foxxos > div:nth-child(6) img {
animation-delay: 6.600000000000001s;
}
#parallax-foxxos > div:nth-child(7) img {
animation-delay: 7.700000000000001s;
}
#parallax-foxxos > div:nth-child(8) img {
animation-delay: 8.8s;
}
#parallax-foxxos > div:nth-child(9) img {
animation-delay: 9.9s;
}
#parallax-foxxos > div:nth-child(10) img {
animation-delay: 11s;
}
#parallax-foxxos:nth-of-type(2) {
animation-duration: 6s;
animation-direction: alternate-reverse;
}
#parallax-foxxos:nth-of-type(2) > div {
animation: slideUpFade 4s 0.5s backwards, bounce 25s 4.5s infinite alternate cubic-bezier(0.5, 0, 0.5, 1);
}
}
#MORE {
position: absolute;
z-index: 3;
opacity: 0;
}
#MORE + label {
position: absolute;
font-weight: 700;
transition: transform 0.4s cubic-bezier(0, 0, 0, 1.4), margin 0.3s cubic-bezier(0, 1, 0, 1.2);
cursor: pointer;
z-index: 10;
animation: slideDown 4s 2s backwards cubic-bezier(0, 1, 0, 1);
}
#MORE + label:hover {
transform: scale(1.05);
}
#MORE + label:active {
transform: scale(0.98) !important;
}
#MORE:focus:not(:checked) + label {
outline: auto;
}
#MORE:checked {
opacity: 1;
}
#MORE:checked + label {
margin-left: 30px;
transform-origin: center left;
transform: scale(1.2);
}
#MORE:checked + label > span {
text-transform: uppercase;
}
#MORE:checked + label > span:nth-child(2) {
display: none;
}
#MORE:checked + label > span.hidden {
display: unset !important;
}
#MORE:checked + label > span.hidden > span {
margin-right: 0.2em;
}
#MORE:checked + label > span.hidden > span > span {
margin-right: 0.4em;
font-weight: 900;
opacity: 0.5;
}
#MORE:checked ~ .hehehe {
top: 0px;
right: 0px !important;
}
#MORE:checked ~ .hehehe:nth-of-type(2) {
right: 100px !important;
z-index: 1;
}
#MORE:checked ~ .hehehe .hehe {
display: unset !important;
}
#MORE:checked ~ .hehehe .hehe img {
animation: blobfox 2s infinite linear;
}
#MORE:checked ~ .animate {
transform: rotate(-2deg) translateY(-15px);
}
#MORE:checked ~ .animate > span > span {
animation-name: margin-inline-more !important;
animation-duration: 1s !important;
}
#hero {
position: relative;
margin-top: -300px;
padding-top: 300px;
pointer-events: none;
}
.bg {
position: relative;
padding: 10px var(--padding);
color: #fff;
z-index: 0;
user-select: none;
contain: strict;
min-height: 330px;
margin-bottom: -50px;
width: calc(var(--pg-width) + 900px);
padding-left: 510px;
transition: padding 1s;
max-width: calc(100% + 900px);
}
@media (max-width: 500px) {
.bg {
padding-left: 470px;
}
}
.bg > :not(h1):not(input):not(label) {
pointer-events: none;
}
.bg::before {
content: "";
position: absolute;
background: linear-gradient(150deg, #ffa700, #f00);
top: -100px;
inset-inline: -100vw;
height: 450px;
z-index: -2;
}
@-moz-keyframes waveBGIn {
from {
transform: translateY(-200px) rotate(20deg);
animation-timing-function: cubic-bezier(0, 0, 0, 1.2);
}
}
@-webkit-keyframes waveBGIn {
from {
transform: translateY(-200px) rotate(20deg);
animation-timing-function: cubic-bezier(0, 0, 0, 1.2);
}
}
@-o-keyframes waveBGIn {
from {
transform: translateY(-200px) rotate(20deg);
animation-timing-function: cubic-bezier(0, 0, 0, 1.2);
}
}
@keyframes waveBGIn {
from {
transform: translateY(-200px) rotate(20deg);
animation-timing-function: cubic-bezier(0, 0, 0, 1.2);
}
}
.bg::after {
content: "";
position: absolute;
top: -20px;
inset-inline: -100vw;
height: 400px;
background: var(--bg);
z-index: 1;
animation: coverOut 1.5s forwards cubic-bezier(1, 0, 0.2, 1.04);
}
@media (prefers-reduced-motion) {
.bg::after {
animation-duration: 0s;
}
}
@-moz-keyframes coverOut {
to {
transform: translateY(400px);
}
}
@-webkit-keyframes coverOut {
to {
transform: translateY(400px);
}
}
@-o-keyframes coverOut {
to {
transform: translateY(400px);
}
}
@keyframes coverOut {
to {
transform: translateY(400px);
}
}
.hehehe {
position: absolute;
inset: -100px;
left: -300px;
right: 150px;
top: 25px;
height: 250px;
min-width: 1600px;
display: flex;
flex-direction: column;
z-index: -2;
contain: strict;
}
.hehehe:nth-of-type(2) {
transform: rotate(5deg);
right: 100px;
}
.hehehe:nth-of-type(2) img {
animation-duration: 3s !important;
}
.hehe {
text-align: right;
height: 0;
flex-grow: 1;
position: relative;
}
.hehe img {
position: absolute;
width: 70px;
height: 70px;
}
.hehe:not(.hidden) img {
animation: blobfox 2s infinite linear;
}
@media (prefers-reduced-motion) {
.hehe:not(.hidden) img {
animation-play-state: paused;
}
}
.hehe:nth-last-child(1) img {
animation-delay: -8.3s !important;
}
.hehe:nth-last-child(2) img {
animation-delay: -7.6s !important;
}
.hehe:nth-last-child(3) img {
animation-delay: -6.9s !important;
}
.hehe:nth-last-child(4) img {
animation-delay: -6.2s !important;
}
.hehe:nth-last-child(5) img {
animation-delay: -5.5s !important;
}
.hehe:nth-last-child(6) img {
animation-delay: -4.800000000000001s !important;
}
.hehe:nth-last-child(7) img {
animation-delay: -4.100000000000001s !important;
}
.hehe:nth-last-child(8) img {
animation-delay: -3.4s !important;
}
.hehe:nth-last-child(9) img {
animation-delay: -2.7s !important;
}
.hehe:nth-last-child(10) img {
animation-delay: -2s !important;
}
.hehe:nth-last-child(11) img {
animation-delay: -1.300000000000001s !important;
}
.hehe:nth-last-child(12) img {
animation-delay: -0.600000000000001s !important;
}
.hehe:nth-last-child(13) img {
animation-delay: 0.1s !important;
}
.hehe:nth-last-child(14) img {
animation-delay: 0.799999999999999s !important;
}
.bg h1 {
font-size: 8em;
margin-block: 0.4em;
color: var(--accent);
-webkit-text-stroke: 2px #fff;
margin-top: 90px;
position: relative;
transition: margin 1s;
white-space: nowrap;
}
.bg h1 ~ p {
position: absolute;
margin-top: -3em;
margin-left: 1em;
font-weight: 900;
font-size: 0.9em;
pointer-events: all;
transition: margin 1.4s;
}
@media (max-width: 500px) {
.bg h1 ~ p {
margin-left: 40px;
}
}
.bg h1 > span {
margin-right: 0em;
margin-block: -100px;
padding-block: 100px;
transition: padding 2s cubic-bezier(0, 0, 0, 1);
}
.bg h1 > span:nth-child(1) {
animation-delay: 0.89s !important;
}
.bg h1 > span:nth-child(2) {
animation-delay: 0.93s !important;
}
.bg h1 > span:nth-child(3) {
animation-delay: 0.97s !important;
}
.bg h1 > span:nth-child(4) {
animation-delay: 1.01s !important;
}
.bg h1 > span:nth-child(5) {
animation-delay: 1.05s !important;
}
.bg h1 > span:nth-child(6) {
animation-delay: 1.09s !important;
}
.bg h1 > span:nth-child(7) {
animation-delay: 1.13s !important;
}
.bg h1 > span:nth-child(8) {
animation-delay: 1.17s !important;
}
.bg h1 > span:nth-child(9) {
animation-delay: 1.21s !important;
}
.bg h1 > span:nth-child(10) {
animation-delay: 1.25s !important;
}
.bg h1 > span:nth-child(11) {
animation-delay: 1.29s !important;
}
@media (prefers-reduced-motion) {
.bg h1 > span {
animation: none !important;
}
}
@media (prefers-reduced-motion: no-preference) {
.bg h1 > span:hover {
padding-inline: 0.1em;
transition: padding 0.1s cubic-bezier(0, 1, 0, 1);
}
}
@media (prefers-reduced-motion: no-preference) {
.animate {
transform: translateX(0.7em);
animation: transform both 1.4s 0.7s cubic-bezier(0, 0, 0, 1);
}
}
.animate > span {
display: inline-block;
animation: popIn 1s 0.44s backwards cubic-bezier(0, 0, 0, 1.4);
}
.animate > span:nth-child(1) {
animation-delay: 0.04s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(1) {
color: #fff;
}
}
.animate > span:nth-child(1) > span {
animation-delay: 0.2s;
display: inline-block;
}
.animate > span:nth-child(2) {
animation-delay: 0.08s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(2) {
color: #fff;
}
}
.animate > span:nth-child(2) > span {
animation-delay: 0.4s;
display: inline-block;
}
.animate > span:nth-child(3) {
animation-delay: 0.12s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(3) {
color: rgba(255,255,255,0.667);
}
}
.animate > span:nth-child(3) > span {
animation-delay: 0.6s;
display: inline-block;
}
.animate > span:nth-child(4) {
animation-delay: 0.16s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(4) {
color: rgba(255,255,255,0.5);
}
}
.animate > span:nth-child(4) > span {
animation-delay: 0.8s;
display: inline-block;
}
.animate > span:nth-child(5) {
animation-delay: 0.2s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(5) {
color: rgba(255,255,255,0.4);
}
}
.animate > span:nth-child(5) > span {
animation-delay: 1s;
display: inline-block;
}
.animate > span:nth-child(6) {
animation-delay: 0.24s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(6) {
color: rgba(255,255,255,0.333);
}
}
.animate > span:nth-child(6) > span {
animation-delay: 1.2s;
display: inline-block;
}
.animate > span:nth-child(7) {
animation-delay: 0.28s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(7) {
color: rgba(255,255,255,0.286);
}
}
.animate > span:nth-child(7) > span {
animation-delay: 1.4s;
display: inline-block;
}
.animate > span:nth-child(8) {
animation-delay: 0.32s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(8) {
color: rgba(255,255,255,0.25);
}
}
.animate > span:nth-child(8) > span {
animation-delay: 1.6s;
display: inline-block;
}
.animate > span:nth-child(9) {
animation-delay: 0.36s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(9) {
color: rgba(255,255,255,0.222);
}
}
.animate > span:nth-child(9) > span {
animation-delay: 1.8s;
display: inline-block;
}
.animate > span:nth-child(10) {
animation-delay: 0.4s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(10) {
color: rgba(255,255,255,0.2);
}
}
.animate > span:nth-child(10) > span {
animation-delay: 2s;
display: inline-block;
}
.animate > span:nth-child(11) {
animation-delay: 0.44s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(11) {
color: rgba(255,255,255,0.182);
}
}
.animate > span:nth-child(11) > span {
animation-delay: 2.2s;
display: inline-block;
}
.animate > span:nth-child(12) {
animation-delay: 0.48s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(12) {
color: rgba(255,255,255,0.167);
}
}
.animate > span:nth-child(12) > span {
animation-delay: 2.4s;
display: inline-block;
}
.animate > span:nth-child(13) {
animation-delay: 0.52s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(13) {
color: rgba(255,255,255,0.154);
}
}
.animate > span:nth-child(13) > span {
animation-delay: 2.6s;
display: inline-block;
}
.animate > span:nth-child(14) {
animation-delay: 0.56s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(14) {
color: rgba(255,255,255,0.143);
}
}
.animate > span:nth-child(14) > span {
animation-delay: 2.8s;
display: inline-block;
}
.animate > span:nth-child(15) {
animation-delay: 0.6s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(15) {
color: rgba(255,255,255,0.133);
}
}
.animate > span:nth-child(15) > span {
animation-delay: 3s;
display: inline-block;
}
.animate > span:nth-child(16) {
animation-delay: 0.64s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(16) {
color: rgba(255,255,255,0.125);
}
}
.animate > span:nth-child(16) > span {
animation-delay: 3.2s;
display: inline-block;
}
.animate > span:nth-child(17) {
animation-delay: 0.68s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(17) {
color: rgba(255,255,255,0.118);
}
}
.animate > span:nth-child(17) > span {
animation-delay: 3.4s;
display: inline-block;
}
.animate > span:nth-child(18) {
animation-delay: 0.72s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(18) {
color: rgba(255,255,255,0.111);
}
}
.animate > span:nth-child(18) > span {
animation-delay: 3.6s;
display: inline-block;
}
.animate > span:nth-child(19) {
animation-delay: 0.76s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(19) {
color: rgba(255,255,255,0.105);
}
}
.animate > span:nth-child(19) > span {
animation-delay: 3.8s;
display: inline-block;
}
.animate > span:nth-child(20) {
animation-delay: 0.8s;
}
@media (prefers-reduced-motion) {
.animate > span:nth-child(20) {
color: rgba(255,255,255,0.1);
}
}
.animate > span:nth-child(20) > span {
animation-delay: 4s;
display: inline-block;
}
.animate > span > span {
animation: margin-inline 0.7s infinite alternate both;
}
@media (prefers-reduced-motion: no-preference) {
@-moz-keyframes margin-inline {
from {
color: #fff;
transform: translate(5px, 1px);
opacity: 1;
}
}
@-webkit-keyframes margin-inline {
from {
color: #fff;
transform: translate(5px, 1px);
opacity: 1;
}
}
@-o-keyframes margin-inline {
from {
color: #fff;
transform: translate(5px, 1px);
opacity: 1;
}
}
@keyframes margin-inline {
from {
color: #fff;
transform: translate(5px, 1px);
opacity: 1;
}
}
@-moz-keyframes margin-inline-more {
from {
color: #fff;
transform: translate(10px, 30px);
}
to {
color: transparent;
transform: translate(-30px, -20px) scale(0.9);
}
}
@-webkit-keyframes margin-inline-more {
from {
color: #fff;
transform: translate(10px, 30px);
}
to {
color: transparent;
transform: translate(-30px, -20px) scale(0.9);
}
}
@-o-keyframes margin-inline-more {
from {
color: #fff;
transform: translate(10px, 30px);
}
to {
color: transparent;
transform: translate(-30px, -20px) scale(0.9);
}
}
@keyframes margin-inline-more {
from {
color: #fff;
transform: translate(10px, 30px);
}
to {
color: transparent;
transform: translate(-30px, -20px) scale(0.9);
}
}
}
@media (prefers-reduced-motion: no-preference) {
.bg h1:hover {
margin-left: -0.2em;
}
}
@-moz-keyframes blobfox {
to {
transform: translateX(-2500px) rotate(1turn) translateY(100px);
}
}
@-webkit-keyframes blobfox {
to {
transform: translateX(-2500px) rotate(1turn) translateY(100px);
}
}
@-o-keyframes blobfox {
to {
transform: translateX(-2500px) rotate(1turn) translateY(100px);
}
}
@keyframes blobfox {
to {
transform: translateX(-2500px) rotate(1turn) translateY(100px);
}
}
.streaks {
position: absolute;
inset: 0;
width: 6000px;
opacity: 0.2;
display: flex;
animation: transformLeft 3s infinite linear;
}
.streaks > img {
width: 3000px;
height: 350px;
transform: scaleX(2) rotate(180deg);
}
@media (prefers-reduced-motion) {
.streaks > img {
display: none;
}
}
.wave_lol {
position: absolute;
right: -800px;
left: -1446px;
width: 4423px;
top: -958px;
bottom: 0;
min-width: 3570px;
width: unset;
color: #fff;
fill: var(--bg);
stroke-width: 8px;
transform: rotate(0deg) scaleY(0.9) scaleX(1.2) translateX(300px);
animation: waveIn 1.5s;
pointer-events: none;
}
.wave_lol::before,
.wave_lol::after {
content: "";
position: absolute;
inset: 0;
background: var(--bg);
transform: rotate(-24deg) translateY(1190px);
}
.wave_lol::after {
transform: rotate(-10deg) translateY(1240px);
}
@media (prefers-reduced-motion) {
.wave_lol {
animation: none !important;
}
}
.wave_lol:nth-of-type(2) {
fill: none;
filter: drop-shadow(0 0 24px #fff);
}
@-moz-keyframes waveIn {
from {
transform: translateY(-450px) translateX(400px) rotate(0deg) scaleY(0.01);
animation-timing-function: cubic-bezier(1, 0, 0.2, 1.1);
}
}
@-webkit-keyframes waveIn {
from {
transform: translateY(-450px) translateX(400px) rotate(0deg) scaleY(0.01);
animation-timing-function: cubic-bezier(1, 0, 0.2, 1.1);
}
}
@-o-keyframes waveIn {
from {
transform: translateY(-450px) translateX(400px) rotate(0deg) scaleY(0.01);
animation-timing-function: cubic-bezier(1, 0, 0.2, 1.1);
}
}
@keyframes waveIn {
from {
transform: translateY(-450px) translateX(400px) rotate(0deg) scaleY(0.01);
animation-timing-function: cubic-bezier(1, 0, 0.2, 1.1);
}
}
#info {
display: flex;
flex-wrap: wrap;
position: relative;
z-index: 10;
text-align: right;
margin-top: -200px;
margin-right: var(--padding);
justify-content: flex-end;
pointer-events: none;
text-shadow: 0 2px 2px rgba(0,0,0,0.1);
animation: slideUpFade 2s cubic-bezier(0, 0, 0, 1) 0.5s backwards;
}
#info > div {
padding-left: var(--padding);
justify-content: flex-end;
width: 900px;
}
#info > div > * {
pointer-events: all;
}
#info::before {
content: "";
height: 115px;
flex-grow: 1;
width: 200px;
}
#info h1 {
margin-block: 0.4em;
margin-left: auto;
}
#info .pfp {
width: 90px;
height: 90px;
margin-left: auto;
position: relative;
transition: transform 1s;
color: var(--accent);
outline-offset: 2em;
}
#info .pfp:hover {
transform: translateY(-5px) rotate(2deg);
}
#info .pfp input {
position: absolute;
left: 15px;
top: 35px;
width: calc(100% - 60px);
height: calc(100% - 60px);
cursor: pointer;
appearance: none;
border-radius: 100px !important;
outline-offset: 1em;
transition: outline 0.2s, outline-offset 0.4s, transform 0.7s;
}
#info .pfp input:focus-visible {
outline: 8px dashed var(--fg);
outline-offset: 2em;
transform: rotate(20deg);
}
#info .pfp input ~ img {
position: absolute;
inset: 0;
pointer-events: none;
transition: opacity 0.1s linear, transform 0.4s cubic-bezier(0, 0, 0, 2);
}
#info .pfp input ~ :nth-of-type(2) {
transform-origin: bottom right;
transform: scale(1.1);
}
#info .pfp input ~ img:not(:first-of-type) {
opacity: 0;
}
#info .pfp input:checked ~ img {
opacity: 0;
}
#info .pfp input:checked ~ :nth-of-type(2) {
opacity: 1;
}
#info .pfp input:active {
cursor: none;
}
#info .pfp input:active ~ img {
opacity: 0 !important;
}
#info .pfp input:active ~ :nth-of-type(2) {
opacity: 1 !important;
}
#info .pfp input:active ~ img {
transform: scale(1.05);
}
#info .pfp input:checked ~ :nth-of-type(2) {
opacity: 0;
}
#info .pfp input:checked ~ :nth-of-type(3) {
opacity: 1;
}
#info p {
font-size: 1.1em;
font-weight: 600;
margin-left: auto;
max-width: 400px;
}
#info .links {
justify-content: flex-end;
margin-top: 1em;
}
@media (prefers-reduced-motion) {
img,
.img-container {
transform: none !important;
}
}
@media (prefers-reduced-motion: no-preference) {
@-moz-keyframes popIn {
from {
opacity: 0;
transform: translateY(-10%);
}
1% {
opacity: 1;
transform: translateY(-10%);
}
to {
opacity: 1;
margin-right: 0.01em;
}
}
@-webkit-keyframes popIn {
from {
opacity: 0;
transform: translateY(-10%);
}
1% {
opacity: 1;
transform: translateY(-10%);
}
to {
opacity: 1;
margin-right: 0.01em;
}
}
@-o-keyframes popIn {
from {
opacity: 0;
transform: translateY(-10%);
}
1% {
opacity: 1;
transform: translateY(-10%);
}
to {
opacity: 1;
margin-right: 0.01em;
}
}
@keyframes popIn {
from {
opacity: 0;
transform: translateY(-10%);
}
1% {
opacity: 1;
transform: translateY(-10%);
}
to {
opacity: 1;
margin-right: 0.01em;
}
}
@-moz-keyframes fadeIn {
from {
filter: opacity(0);
}
}
@-webkit-keyframes fadeIn {
from {
filter: opacity(0);
}
}
@-o-keyframes fadeIn {
from {
filter: opacity(0);
}
}
@keyframes fadeIn {
from {
filter: opacity(0);
}
}
@-moz-keyframes transformLeft {
to {
transform: translateX(-100%);
}
}
@-webkit-keyframes transformLeft {
to {
transform: translateX(-100%);
}
}
@-o-keyframes transformLeft {
to {
transform: translateX(-100%);
}
}
@keyframes transformLeft {
to {
transform: translateX(-100%);
}
}
@-moz-keyframes transform {
to {
transform: none;
filter: none;
}
}
@-webkit-keyframes transform {
to {
transform: none;
filter: none;
}
}
@-o-keyframes transform {
to {
transform: none;
filter: none;
}
}
@keyframes transform {
to {
transform: none;
filter: none;
}
}
@-moz-keyframes slideDown {
from {
transform: translateY(-100px);
}
}
@-webkit-keyframes slideDown {
from {
transform: translateY(-100px);
}
}
@-o-keyframes slideDown {
from {
transform: translateY(-100px);
}
}
@keyframes slideDown {
from {
transform: translateY(-100px);
}
}
@-moz-keyframes slideUpFade {
from {
transform: translateY(60px);
filter: opacity(0);
}
}
@-webkit-keyframes slideUpFade {
from {
transform: translateY(60px);
filter: opacity(0);
}
}
@-o-keyframes slideUpFade {
from {
transform: translateY(60px);
filter: opacity(0);
}
}
@keyframes slideUpFade {
from {
transform: translateY(60px);
filter: opacity(0);
}
}
@-moz-keyframes slideLeft {
from {
transform: translateX(60px);
}
}
@-webkit-keyframes slideLeft {
from {
transform: translateX(60px);
}
}
@-o-keyframes slideLeft {
from {
transform: translateX(60px);
}
}
@keyframes slideLeft {
from {
transform: translateX(60px);
}
}
@-moz-keyframes rotate {
to {
transform: rotate(1turn);
}
}
@-webkit-keyframes rotate {
to {
transform: rotate(1turn);
}
}
@-o-keyframes rotate {
to {
transform: rotate(1turn);
}
}
@keyframes rotate {
to {
transform: rotate(1turn);
}
}
@-moz-keyframes bounce {
to {
transform: translateY(40px);
}
}
@-webkit-keyframes bounce {
to {
transform: translateY(40px);
}
}
@-o-keyframes bounce {
to {
transform: translateY(40px);
}
}
@keyframes bounce {
to {
transform: translateY(40px);
}
}
@-moz-keyframes bounceSmall {
to {
transform: translateY(10px);
}
}
@-webkit-keyframes bounceSmall {
to {
transform: translateY(10px);
}
}
@-o-keyframes bounceSmall {
to {
transform: translateY(10px);
}
}
@keyframes bounceSmall {
to {
transform: translateY(10px);
}
}
@-moz-keyframes bounceSmaller {
from {
transform: translateY(-1px);
}
to {
transform: translateY(1px);
}
}
@-webkit-keyframes bounceSmaller {
from {
transform: translateY(-1px);
}
to {
transform: translateY(1px);
}
}
@-o-keyframes bounceSmaller {
from {
transform: translateY(-1px);
}
to {
transform: translateY(1px);
}
}
@keyframes bounceSmaller {
from {
transform: translateY(-1px);
}
to {
transform: translateY(1px);
}
}
}