.slide-in { animation: slideIn 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; } @keyframes slideIn { from { transform: translateY(-100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .slide-up { animation: slideUp 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; } @keyframes slideUp { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-100%); opacity: 0; } } .fade-in { opacity: 0; animation: fadeIn 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .hidden-content { display: none; } .meme-emoji { width: 200px; height: 150px; animation: bounce 2s infinite alternate; } @keyframes bounce { from { transform: translateY(0); } to { transform: translateY(-15px); } } /* New fancy text animations */ .letter-animation { display: inline-block; opacity: 0; transform: translateY(40px) scale(0.8); animation: letterAppear 0.6s forwards; } @keyframes letterAppear { to { opacity: 1; transform: translateY(0) scale(1); } } .greeting-text { display: inline-block; position: relative; overflow: hidden; } .greeting-text .text-content { opacity: 0; animation: textReveal 0.5s forwards 0.5s; color: #ec4899; /* Pink text color */ } .greeting-text::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(236, 72, 153, 0.1), rgba(236, 72, 153, 0.3)); animation: blockReveal 1.5s cubic-bezier(0.77, 0, 0.175, 1) forwards; z-index: 1; border-radius: 8px; } @keyframes blockReveal { 0% { transform: translateX(0); } 100% { transform: translateX(100%); } } @keyframes textReveal { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes cursor { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } @keyframes typewriter { to { width: 100%; } } .cool-stuff-text { background: linear-gradient(90deg, #ec4899, #8b5cf6); background-size: 200% auto; color: transparent; -webkit-background-clip: text; background-clip: text; animation: shine 2s linear infinite; } @keyframes shine { to { background-position: 200% center; } }