@font-face { font-family: "Monaspace Argon"; src: url("/font/monaspace-argon/MonaspaceArgonVarVF[wght,wdth,slnt].woff2") format("woff2-variations"); font-weight: 125 950; font-stretch: 75% 125%; font-style: oblique 0deg 20deg; } html, body { margin: 0; padding: 0; font-size: 18px; color: #fff; background-color: #111; font-family: "Monaspace Argon", monospace; } #background { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-size: cover; background-position: center; filter: blur(25px) saturate(25%) brightness(0.5); -webkit-filter: blur(25px) saturate(25%) brightness(0.5);; animation: background-init .5s forwards,background-loop 30s ease-in-out infinite } #go-back { position: fixed; top: 4rem; left: 1rem; width: 2.5rem; height: 2.5rem; margin: 0; font-size: 1.5rem; line-height: 2.6rem; display: flex; justify-content: center; color: #fff; background-color: #111; border-radius: 4px; text-decoration: none; box-shadow: 0 0 8px #0004; z-index: 1; } main { position: absolute; top: 3rem; width: 100vw; min-height: calc(100vh - 9rem); margin: 0; display: flex; justify-content: center; align-items: center; } #music-container { width: min(960px, calc(100vw - 4rem)); height: 360px; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4rem; font-size: 16px; animation: card-init .5s forwards; padding: 4rem; } #art-container { display: flex; align-items: center; position: relative; width: 20rem; transition: transform .5s cubic-bezier(0,0,0,1); } #art-container:hover { transform: scale(1.05) translateY(-5px); } #art-container:hover img#artwork { box-shadow: 0 16px 18px #0003; } /* TILT CONTROLS */ #art-container > div { position: absolute; width: 33.3%; height: 33.3%; z-index: 2; } #art-container > div.tilt-topleft { top: 0; left: 0; } #art-container > div.tilt-topleft:hover ~ #artwork { transform: rotate3d(-1, 1, 0, 20deg); filter: brightness(var(--shine)); -webkit-filter: brightness(var(--shine)); } #art-container > div.tilt-top { top: 0; left: 33.3%; } #art-container > div.tilt-top:hover ~ #artwork { transform: rotate3d(-1, 0, 0, 20deg); filter: brightness(var(--shine)); -webkit-filter: brightness(var(--shine)); } #art-container > div.tilt-topright { top: 0; right: 0; } #art-container > div.tilt-topright:hover ~ #artwork { transform: rotate3d(-1, -1, 0, 20deg); filter: brightness(var(--shine)); -webkit-filter: brightness(var(--shine)); } #art-container > div.tilt-right { top: 33.3%; right: 0; } #art-container > div.tilt-right:hover ~ #artwork { transform: rotate3d(0, -1, 0, 20deg); } #art-container > div.tilt-bottomright { bottom: 0; right: 0; } #art-container > div.tilt-bottomright:hover ~ #artwork { transform: rotate3d(1, -1, 0, 20deg); filter: brightness(var(--shadow)); -webkit-filter: brightness(var(--shadow)); } #art-container > div.tilt-bottom { bottom: 0; left: 33.3%; } #art-container > div.tilt-bottom:hover ~ #artwork { transform: rotate3d(1, 0, 0, 20deg); filter: brightness(var(--shadow)); -webkit-filter: brightness(var(--shadow)); } #art-container > div.tilt-bottomleft { bottom: 0; left: 0; } #art-container > div.tilt-bottomleft:hover ~ #artwork { transform: rotate3d(1, 1, 0, 20deg); filter: brightness(var(--shadow)); -webkit-filter: brightness(var(--shadow)); } #art-container > div.tilt-left { top: 33.3%; left: 0; } #art-container > div.tilt-left:hover ~ #artwork { transform: rotate3d(0, 1, 0, 20deg); } /* TILT CONTROLS */ #artwork { --shine: 1.05; --shadow: 0.8; width: 360px; height: 360px; margin: auto; display: flex; justify-content: center; line-height: 15rem; border-radius: 4px; color: #888; background-color: #ccc; box-shadow: 0 16px 16px #0004; transition: transform 1s cubic-bezier(0,0,0,1), filter .3s linear, box-shadow .3s linear; } div#vertical-line { width: 1px; background-color: #fff4; } div#info { margin: -4rem; padding: 4rem; height: 360px; overflow: scroll; scroll-behavior: smooth; mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%); -ms-overflow-style: none; scrollbar-width: none; ::-webkit-scrollbar { display: none; } } div#info > div { min-width: 420px; min-height: 360px; padding: 4rem 1rem 4rem 4rem; margin: -4rem -3.5rem -4rem -4rem; } div#info p { max-width: 500px; white-space: pre-line; } #title-container { display: flex; align-items: last baseline; flex-direction: row; } #title { margin: 0; line-height: 1em; font-size: 2.5em; } #year { margin-left: .9em; font-size: 1.2em; color: #eee8; font-weight: bold; } #artist { margin: .2em 0 1em 0; font-size: 1em; color: #eee; } #title, #artist { text-shadow: 0 .05em 2px #0004 } #type { display: inline-block; margin: 0; padding: .3em .8em; color: #fff; background-color: #111; text-transform: uppercase; border-radius: 4px; } #type.single { background-color: #3b47f4; } #type.ep { background-color: #f419bd } #type.album { background-color: #34c627 } #type.comp { background-color: #ee8d46 } #type.upcoming { background-color: #ff3e3e } #type.upcoming span { animation: bob 2s ease-in-out infinite; display: inline-block; } ul#links { width: 100%; margin: 1rem 0; padding: 0; display: flex; flex-direction: row; flex-wrap: wrap; gap: .5rem; list-style: none; } ul#links li { flex-grow: 1; } ul#links a { width: calc(100% - 1.6em); padding: .5em .8em; display: block; border-radius: 4px; font-size: 1em; color: #111; background-color: #fff; text-align: center; text-decoration: none; transition: filter .1s,-webkit-filter .1s } ul#links a.buy { background-color: #ff94e9 } ul#links a.presave { background-color: #ff94e9 } ul#links a.spotify { background-color: #8cff83 } ul#links a.applemusic { background-color: #8cd9ff } ul#links a.soundcloud { background-color: #fdaa6d } ul#links a.youtube { background-color: #ff6e6e } ul#links a:hover { filter: brightness(125%); -webkit-filter: brightness(125%) } #description { font-size: 1.2em; } #share { margin: 0; display: inline-block; line-height: 1em; text-shadow: 0 .05em 2px #0004; cursor: pointer; opacity: .5; transition: opacity .1s linear; } #share:hover { opacity: 1; } #share.active { animation: share-click .5s forwards } #share.active::after { content: "✓"; position: relative; left: .2em; font-size: 1.2em; line-height: 1em; animation: share-after 2s cubic-bezier(.5,0,1,.5) forwards } div#extras ul { height: 100%; display: flex; padding: 0; flex-direction: column; margin: 0 -.5rem; position: relative; } div#extras ul li { flex-grow: 1; display: flex; width: 0; } div#extras ul li a { padding: 0 .5rem; writing-mode: vertical-rl; text-align: center; color: #888; text-decoration: none; font-style: italic; transition: color .1s linear; } div#extras ul li a:hover, div#extras ul li a.active { color: #eee; } #credits ul { list-style: "> "; } #credits ul li { margin-bottom: 1rem; } #tracks h3 { margin-bottom: .5rem; padding: 1rem; background-color: #0008; cursor: pointer; transition: background-color .1s linear; } #tracks h3:hover { background-color: #2228; } #tracks h3:active { background-color: #4448; } #tracks h3.active { color: #000; background-color: var(--primary); } #tracks p { margin-bottom: 3em; } footer { position: fixed; left: 0; bottom: 0; width: 100vw; height: 6rem; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #eee; background-color: #0008; backdrop-filter: blur(25px) } footer p { margin: 0 } footer a { color: inherit; text-decoration: none } footer a:hover { text-decoration: underline } @media only screen and (max-width: 1105px) { main { min-height: calc(100vh - 4rem); } #music-container { width: calc(100vw - 8rem); height: fit-content; padding: 2rem 0 6rem 0; gap: 1rem; font-size: 12px; flex-direction: column; text-align: center; } #art-container { width: 100%; margin-bottom: 2rem; } #artwork { width: auto; max-width: 50vw; height: auto; max-height: 50vh; } #vertical-line { display: none; } div#info { width: 100%; gap: 2rem; height: auto; overflow-y: auto; } div#info > div { min-width: auto; min-height: auto; padding: 0; margin: 0; overflow-y: unset; mask-image: none; } div#info p { margin: 0 auto; } div#extras { display: none; } #title-container { flex-direction: column; align-items: center; } #year { display: block; margin: 0; } #artist { margin: .2em auto 1em auto; } #links { margin: 2rem 0; justify-content: center; } #extras { justify-content: center; } #credits ul { padding: 0; list-style: none; } #share.active: : after { transform: translate(calc(-50% - .6em),1.5em); } footer { height: 4rem; font-size: .8rem; } #pride-flag { display: none; } } @keyframes background-init { from { opacity: 0 } to { opacity: 1 } } @keyframes background-loop { from { transform: scale(1) } 50% { transform: scale(1.05) } to { transform: scale(1) } } @keyframes card-init { from { opacity: 0; transform: scale(.9) } to { opacity: 1; transform: scale(1) } } @keyframes share-click { from { color: #5dfc01 } to { color: #eee } } @keyframes share-after { from { opacity: 1 } to { opacity: 0 } } @keyframes bob { from, to { transform: translateY(-10%); } 50% { transform: translateY(10%); } }