.menu { display: flex; align-items: flex-end; padding: 1em 1em 1em 5em; } .contents { border-radius: 20px; box-shadow: 5px 0px 30px rgba(0,0,0,0.5); display: flex; flex-direction: column; gap: 1em; padding: 2em 4em 4em 4em; color: white; background-color: #25262C; width: 100%; flex-grow: 3; } .pages { margin: auto; max-width: 1800px; animation-name: jump; animation-duration: 1s; animation-timing-function: ease-in-out; } @keyframes jump { 0% { opacity: 0; transform: scale(0.8) translateY(100vh); } 100% { opacity: 100; transform: scale(1) translateY(0px); } } .grid { height: 100%; width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 0.5em; } .grid li { font-size: 0.95em; list-style-type: none; margin: 10px 0; } .grid li:before { content: '✨'; margin-left: -30px; margin-right: 10px; } .grid > * { height: 100%; } .grid h4, .grid h5, .grid h2 { margin: unset; } .list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.5em; } .art { grid-row: 1 / span 2; grid-column: 1 / span 3; } .socials { grid-row: 3; grid-column: 4 / span 1; } .credits { grid-row: 4; grid-column: 2 / span 2; } .tweets { grid-row: 1 / span 2; grid-column: 4 / span 1; } .twitch { grid-row: 3; grid-column: 1 / span 2; } .patreon { grid-row: 3; grid-column: 3 / span 1; } .itemhollow { border-radius: 10px; } .item { box-shadow: 5px 0px 20px rgba(0,0,0,0.3); background-color: #1c1d22; padding: 1em; border-radius: 10px; } .item:hover, .itemhollow:hover { animation-duration: 0.2s; animation-name: pop; animation-timing-function: ease-in-out; animation-fill-mode: forwards; } @keyframes pop { 0% { } 100% { box-shadow: 0px 0px 20px rgba(255,85,200,1); } } @keyframes popB { 0% { transform: scale(1); } 70% { transform: scale(1.1); } 100% { transform: scale(1.07); box-shadow: 0px 0px 30px rgba(0,212,255,1); } } .top { width: 100%; padding: 0 5px; display: grid; grid-auto-flow: row; grid-template-columns: 20% 80%; } .info { display: grid; grid-auto-flow: row; gap: 2em; grid-template-columns: 1fr 2fr 1fr; } .avatarField { animation-name: float-reverse; animation-duration: 5s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; } @keyframes float-reverse { 0% { transform: translateY(0px); } 50% { transform: translateY(-15px); } 100% { transform: translateY(0px); } } .avatar { display: flex; gap: 2em; margin-top: -8em; border-radius: 100%; width: 100%; height: auto; animation-duration: 0.5s; animation-name: pfp-anim-leave; animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); animation-fill-mode: forwards; } .avatar:hover { animation-duration: 0.5s; animation-name: pfp-anim-enter; animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); animation-fill-mode: forwards; } @keyframes pfp-anim-enter { 0% { box-shadow: 0px 0px 50px rgba(0,212,255,0); transform: scale(1.0) rotate(360deg); } 100% { transform: scale(1.1) rotate(-20deg); box-shadow: 0px 0px 50px rgba(0,212,255,1); } } @keyframes pfp-anim-leave { 0% { box-shadow: 0px 0px 50px rgba(0,212,255,1); transform: scale(1.1) rotate(-20deg); } 100% { transform: scale(1.0) rotate(360deg); box-shadow: 0px 0px 50px rgba(0,212,255,0); } } .colorbg { box-shadow: -2px -2px 10px rgba(0,0,0,0.2); background: linear-gradient(to bottom right, rgba(255,85,200,1) 0%, rgba(79,79,255,1) 100%, rgba(0,212,255,1) 100%); background-size: 200% 100%; min-height: 100vh; max-width: 100vw; animation-name: colorbar-anim; display: flex; flex-direction: column; padding: 5em; justify-content: start; align-items: center; animation-duration: 10s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; } @keyframes colorbar-anim { 0% { background-position: 0%; } 50% { background-position: 100%; } 100% { background-position: 0; } } /* mobile */ @media (max-aspect-ratio: 4/5) { .avatar { flex-direction: column; height: unset; text-align: center; gap: unset; } .avatar > div:first-child { margin: auto; } .avatar h1 { font-size: 1.5em; } } .officeBanner { background-color: white; box-shadow: 0px 0px 30px black; padding: 0.125em; font-size: 3em; text-align: center; white-space: nowrap; position: fixed; bottom: 10px; left: -5%; right: -5%; z-index: 100; margin-top: 0; animation-duration: 5s; animation-name: breathe; animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-fill-mode: forwards; } @keyframes breathe { 0% { transform: rotate(-2deg) scale(1.0); } 50% { transform: rotate(-3deg) scale(1.05); } 100% { transform: rotate(-2deg) scale(1.0); } }