:root { --text-color: #000000; --secondary-text-color: #616161; } * { margin: 0; padding: 0; box-sizing: border-box; } html, body { overflow: hidden; font-family: "Inter", sans-serif; color: var(--text-color); -webkit-font-smoothing: antialiased; } .webgl { position: fixed; top: 0; left: 0; outline: none; } .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; pointer-events: none; z-index: 1; } /* Initially hide elements for gsap animation */ .nav-logo a, .nav-links a, .nav-socials a, .nav-time p, .hero-section h1, .bar-location p, .bar-projects a, .bar-availability a { opacity: 0; } .overlay a { color: var(--text-color); text-decoration: none; pointer-events: all; } /* * Navigation Bar */ .top-nav { position: fixed; top: 0; left: 0; width: 100%; display: flex; padding: 1rem; gap: 1rem; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur( 10px ); /* needs to be below the -webkit- prefix for Chrome to work */ } .top-nav a { color: var(--secondary-text-color); font-size: 18px; font-weight: 400; } .top-nav .nav-logo { width: 36%; } .top-nav .nav-logo a { font-size: clamp(3.5rem, 6vw, 5.5rem); letter-spacing: -0.04em; font-weight: bold; color: var(--text-color); } .top-nav .nav-content { display: flex; flex: 1; gap: 0.5rem; } .top-nav .nav-content .nav-links, .top-nav .nav-content .nav-socials { display: flex; gap: 0.5rem; flex-direction: column; flex: 1; } .top-nav .nav-content .nav-time { color: var(--secondary-text-color); flex: 1; } /* * Hero Section */ .hero-section { margin-top: 40vh; height: 60vh; display: flex; justify-content: flex-start; } .hero-section .spacer { width: 36%; } .hero-section .spacer-back { width: 10%; } .hero-section h1 { font-size: clamp(1.5rem, 2.5vw, 2rem); flex: 1; font-weight: 400; } .hero-section h1 .secondary { color: var(--secondary-text-color); } /* * Bottom Bar */ .bottom-bar { display: flex; justify-content: space-between; width: 100%; } .bottom-bar .bar-location { width: 36%; } .bottom-bar .bar-projects, .bottom-bar .bar-availability { flex: 1; } /* * Animated Link */ .animated-link { display: inline-block; overflow: hidden; line-height: 1.2; height: 1.2em; } .link-content { display: flex; flex-direction: column; transform: translateY(-50%); transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); } .link-text { display: flex; align-items: center; white-space: nowrap; height: 1.2em; } .link-text img { margin-left: 0.5rem; width: 20px; height: 20px; } .animated-link:hover .link-content { transform: translateY(0%); color: var(--text-color); } /* Responsive Design */ @media (max-width: 768px) { .overlay { padding: 1rem; } .top-nav { flex-direction: column; align-items: center; gap: 1rem; } .top-nav .nav-logo { order: -1; width: 100%; text-align: center; } .top-nav .nav-logo a { font-size: 2rem; } .top-nav .nav-content { width: 100%; gap: 0.5rem; } .hero-section h1 { font-size: 1rem; align-items: center; text-align: center; } .hero-section .spacer, .hero-section .spacer-back { display: none; } .bottom-bar { gap: 0.5rem; align-items: flex-end; font-size: 12px; } }