* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; } body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e8dfac 0%, #a47b6a 50%, #7b5952 100%); padding: 3vh 5vw; } .loader-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #555555; display: flex; justify-content: center; align-items: center; z-index: 9999; transition: opacity 0.5s ease-out, visibility 0.5s ease-out; } .loader { display: flex; gap: 2vw; } .dot { width: 1.5rem; height: 1.5rem; background-color: #ffffff; border-radius: 50%; animation: bounce 0.5s infinite alternate; } .dot:nth-child(2) { animation-delay: 0.1s; } .dot:nth-child(3) { animation-delay: 0.2s; } @keyframes bounce { from { transform: translateY(0); } to { transform: translateY(-2rem); } } .loader-wrapper.hidden { opacity: 0; visibility: hidden; } .content { opacity: 0; transform: scale(0.9); transition: opacity 0.8s ease-out, transform 0.8s ease-out; width: 100%; display: flex; justify-content: center; } .content.show { opacity: 1; transform: scale(1); } .card { background-color: #555555; background-image: repeating-radial-gradient( circle at bottom left, transparent, transparent 1.5rem, rgba(255, 255, 255, 0.03) 1.6rem, rgba(255, 255, 255, 0.03) 1.7rem ); width: 100%; max-width: 90vw; border-radius: 1rem; padding: 6vh 8vw 9vh 8vw; box-shadow: 0 2vh 4vh rgba(0, 0, 0, 0.3); position: relative; display: flex; flex-direction: column; align-items: center; transition: all 0.3s ease; overflow: hidden; } .profile-pic { width: 35vw; height: 35vw; background-color: #000; border: 0.4rem solid #fff; border-radius: 50%; margin-bottom: 4vh; z-index: 1; overflow: hidden; display: flex; justify-content: center; align-items: center; } .profile-pic img { width: 100%; height: 100%; object-fit: cover; } h1 { color: #ffffff; font-size: 1.6rem; font-weight: 600; margin-bottom: 6vh; text-align: center; line-height: 1.2; z-index: 1; } .links-container { display: flex; flex-direction: column; width: fit-content; margin: 0 auto; gap: 4vh; z-index: 1; } .link-item { display: flex; align-items: center; justify-content: flex-start; flex-direction: row; gap: 5vw; text-decoration: none; color: #ffffff; transition: transform 0.2s ease, opacity 0.2s ease; cursor: pointer; } .link-item:hover { transform: translateY(-0.3rem); opacity: 0.9; } .icon { width: 3.5rem; height: 3.5rem; flex-shrink: 0; } .link-item span { font-size: 1.1rem; font-weight: 500; } .footer { position: absolute; bottom: 2vh; right: 6vw; color: rgba(255, 255, 255, 0.6); font-size: 0.85rem; font-style: italic; z-index: 1; } @media (min-width: 48rem) { .card { max-width: 75vw; min-height: 70vh; padding: 8vh 5vw 10vh 5vw; justify-content: center; } .profile-pic { width: 15vw; height: 15vw; margin-bottom: 4vh; } h1 { font-size: 3vw; margin-bottom: 6vh; } .links-container { flex-direction: row; width: 100%; justify-content: center; gap: 8vw; } .link-item { flex-direction: column; justify-content: center; align-items: center; gap: 2vh; } .icon { width: 6vw; height: 6vw; } .link-item span { font-size: 1.5vw; } }