.button-container { margin-top: 2em; } .button { cursor: pointer; background: #e7e7e7; border: 0; border-radius: 2px; padding: 1.5rem 3rem; font-family: inherit; font-variation-settings: "wght" 700; letter-spacing: -0.02em; font-size: 1em; position: relative; padding: 1rem 1.5rem; overflow: hidden; color: #fff; opacity: 0.5; transition: opacity 300ms; } .button:hover { opacity: 1.0; } .button-inner { display: grid; grid-auto-flow: column; align-items: center; grid-gap: 0.7em; } .button::before, .button::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .button--hyperion > span { overflow: hidden; } .button--hyperion > span > span { overflow: hidden; mix-blend-mode: difference; } .button--hyperion:hover > span > span { animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s; } .button--hyperion::before { content: ''; background: rgba(0, 0, 0, 1); transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1); transform-origin: 100% 50%; } .button--hyperion:hover::before { transform: scale3d(0,1,1); transform-origin: 0% 50%; } @keyframes MoveUpInitial { to { transform: translate3d(0,-105%,0); } } @keyframes MoveUpEnd { from { transform: translate3d(0,100%,0); } to { transform: translate3d(0,0,0); } } .spotify-icon { position: relative; fill: currentColor; mix-blend-mode: difference; } .links-container { margin-top: 1.5em; display: grid; grid-auto-flow: column; grid-gap: 0.3em; justify-content: center; align-items: center; } .link { color: white; text-decoration: none; letter-spacing: -0.03em; font-variation-settings: "wght" 500; font-size: 1.1em; mix-blend-mode: overlay; opacity: 0.5; padding-bottom: 0.2em; padding-left: 0.5em; padding-right: 0.5em; border-bottom: solid 2px #FFFFFF00; transition: opacity 300ms, border-bottom 300ms; } .link:hover { opacity: 1.0; border-bottom: solid 2px #FFFFFF50; }