WEBLEB
Startseite
Editor
Anmelden
Pro
Deutsch
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Ein Code von alejandrokundrah
191
alejandrokundrah
Im Editor öffnen
Veröffentlichen Sie Ihren Code
Empfohlen
7 December 2024
Ein Code von creativebug722
5 June 2025
Ein Code von yuhhxn
17 April 2025
Ein Kodex von Mete Han
HTML
Copy
MADE - Progressive Web Development Studio
MADE
Projects
Studio
Contact
M
A
D
E
A PROGRESSIVE WEB-DEVELOPMENT STUDIO
Explore Our Work
SCROLL
CSS
Copy
:root { --bg-primary: #0a0a0a; --bg-secondary: #111111; --text-primary: #ffffff; --text-secondary: #888888; --accent-primary: #6366f1; --accent-secondary: #8b5cf6; --accent-gold: #fbbf24; --border-color: rgba(255, 255, 255, 0.1); --shadow-color: rgba(0, 0, 0, 0.5); --gradient-primary: linear-gradient(135deg, #6366f1, #8b5cf6); --gradient-gold: linear-gradient(135deg, #fbbf24, #f59e0b); } * { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: var(--bg-primary); color: var(--text-primary); overflow-x: hidden; cursor: none; } /* Background Effects */ .background-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden; } .floating-shapes { position: absolute; width: 100%; height: 100%; } .shape { position: absolute; border-radius: 50%; background: var(--gradient-primary); opacity: 0.03; animation: float 20s infinite ease-in-out; } .shape-1 { width: 300px; height: 300px; top: 10%; left: 10%; animation-delay: 0s; } .shape-2 { width: 200px; height: 200px; top: 60%; right: 20%; animation-delay: -5s; } .shape-3 { width: 150px; height: 150px; bottom: 20%; left: 30%; animation-delay: -10s; } .shape-4 { width: 100px; height: 100px; top: 30%; right: 10%; animation-delay: -15s; } .shape-5 { width: 250px; height: 250px; bottom: 10%; right: 40%; animation-delay: -7s; } @keyframes float { 0%, 100% { transform: translateY(0px) rotate(0deg); } 33% { transform: translateY(-30px) rotate(120deg); } 66% { transform: translateY(30px) rotate(240deg); } } .gradient-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(ellipse at center, transparent 0%, rgba(10, 10, 10, 0.8) 100%); } /* Custom Cursor */ .custom-cursor { position: fixed; top: 0; left: 0; width: 20px; height: 20px; pointer-events: none; z-index: 9999; mix-blend-mode: difference; } .cursor-dot { position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; background: white; border-radius: 50%; transform: translate(-50%, -50%); transition: all 0.1s ease; } .cursor-ring { position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; transform: translate(-50%, -50%); transition: all 0.3s ease; } /* Navigation */ .nav { position: fixed; top: 0; left: 0; width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 2rem 3rem; z-index: 1000; backdrop-filter: blur(20px); background: rgba(10, 10, 10, 0.8); border-bottom: 1px solid var(--border-color); } .nav-logo .logo-text { font-family: 'Space Grotesk', sans-serif; font-size: 1.5rem; font-weight: 700; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .nav-menu { display: flex; gap: 2.5rem; } .nav-link { color: var(--text-secondary); text-decoration: none; font-weight: 400; font-size: 0.95rem; letter-spacing: 0.5px; transition: all 0.3s ease; position: relative; } .nav-link::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0; height: 2px; background: var(--gradient-primary); transition: width 0.3s ease; } .nav-link:hover { color: var(--text-primary); } .nav-link:hover::after { width: 100%; } /* Social Links */ .social-links { position: fixed; left: 3rem; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 1.5rem; z-index: 1000; } .social-link { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--text-secondary); transition: all 0.3s ease; border-radius: 50%; border: 1px solid var(--border-color); backdrop-filter: blur(20px); background: rgba(17, 17, 17, 0.5); } .social-link svg { width: 18px; height: 18px; } .social-link:hover { color: var(--text-primary); border-color: var(--accent-primary); background: rgba(99, 102, 241, 0.1); transform: scale(1.1); } /* Main Content */ .main { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 0 3rem; } .hero-container { text-align: center; position: relative; max-width: 1200px; width: 100%; } /* Decorative Lines */ .decorative-lines { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .line { position: absolute; background: var(--gradient-primary); opacity: 0.1; } .line-1 { width: 2px; height: 200px; top: -100px; left: 20%; animation: lineFloat 8s infinite ease-in-out; } .line-2 { width: 100px; height: 2px; top: 50%; right: 15%; animation: lineFloat 6s infinite ease-in-out reverse; } .line-3 { width: 2px; height: 150px; bottom: -75px; right: 25%; animation: lineFloat 10s infinite ease-in-out; } @keyframes lineFloat { 0%, 100% { opacity: 0.1; transform: translateY(0); } 50% { opacity: 0.3; transform: translateY(-20px); } } /* Hero Logo */ .hero-logo { position: relative; margin-bottom: 3rem; } .logo-3d { font-family: 'Space Grotesk', sans-serif; font-size: clamp(4rem, 15vw, 12rem); font-weight: 700; line-height: 0.9; display: flex; justify-content: center; gap: 0.1em; } .logo-letter { display: inline-block; position: relative; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 10px 20px rgba(99, 102, 241, 0.3), 0 20px 40px rgba(99, 102, 241, 0.2); transform-style: preserve-3d; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); animation: letterReveal 1s ease-out forwards; animation-delay: calc(var(--i) * 0.1s); opacity: 0; transform: translateY(100px) rotateX(-90deg); } .logo-letter:nth-child(1) { --i: 0; } .logo-letter:nth-child(2) { --i: 1; } .logo-letter:nth-child(3) { --i: 2; } .logo-letter:nth-child(4) { --i: 3; } @keyframes letterReveal { to { opacity: 1; transform: translateY(0) rotateX(0deg); } } .logo-letter:hover { transform: translateY(-10px) rotateX(15deg) scale(1.05); text-shadow: 0 15px 30px rgba(99, 102, 241, 0.5), 0 30px 60px rgba(99, 102, 241, 0.3); } .logo-reflection { position: absolute; top: 100%; left: 0; width: 100%; height: 50%; background: linear-gradient( to bottom, rgba(99, 102, 241, 0.1) 0%, transparent 100% ); transform: scaleY(-1); opacity: 0.3; pointer-events: none; } /* Hero Subtitle */ .hero-subtitle { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-bottom: 4rem; opacity: 0; animation: fadeInUp 1s ease-out 0.8s forwards; } .subtitle-line { width: 60px; height: 1px; background: var(--gradient-gold); } .subtitle-text { font-size: 0.85rem; letter-spacing: 3px; color: var(--text-secondary); font-weight: 300; white-space: nowrap; } /* Hero CTA */ .hero-cta { opacity: 0; animation: fadeInUp 1s ease-out 1.2s forwards; } .cta-button { background: transparent; border: 2px solid var(--accent-primary); color: var(--text-primary); padding: 1rem 2rem; font-size: 1rem; font-weight: 500; border-radius: 50px; cursor: none; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; gap: 0.5rem; position: relative; overflow: hidden; backdrop-filter: blur(20px); background: rgba(17, 17, 17, 0.3); } .cta-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: var(--gradient-primary); transition: left 0.4s ease; z-index: -1; } .cta-button:hover::before { left: 0; } .cta-button:hover { border-color: transparent; transform: translateY(-3px); box-shadow: 0 15px 40px rgba(99, 102, 241, 0.3); } .cta-arrow { width: 20px; height: 20px; transition: transform 0.3s ease; } .cta-button:hover .cta-arrow { transform: translateX(5px) translateY(-5px); } /* Scroll Indicator */ .scroll-indicator { position: fixed; right: 3rem; bottom: 3rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; z-index: 1000; } .scroll-line { width: 2px; height: 60px; background: linear-gradient( to bottom, transparent 0%, var(--accent-primary) 50%, transparent 100% ); position: relative; } .scroll-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-primary); animation: scrollPulse 2s infinite ease-in-out; } .scroll-text { font-size: 0.75rem; letter-spacing: 2px; color: var(--text-secondary); writing-mode: vertical-lr; text-orientation: mixed; font-weight: 300; } @keyframes scrollPulse { 0%, 100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 1024px) { .nav { padding: 1.5rem 2rem; } .social-links { left: 2rem; gap: 1rem; } .social-link { width: 40px; height: 40px; } .main { padding: 0 2rem; } .hero-subtitle { gap: 1rem; } .subtitle-line { width: 40px; } .scroll-indicator { right: 2rem; bottom: 2rem; } } @media (max-width: 768px) { .nav { padding: 1rem 1.5rem; } .nav-menu { gap: 1.5rem; } .nav-link { font-size: 0.9rem; } .social-links { display: none; } .main { padding: 0 1.5rem; } .hero-subtitle { flex-direction: column; gap: 1rem; } .subtitle-text { font-size: 0.75rem; letter-spacing: 2px; } .cta-button { padding: 0.875rem 1.5rem; font-size: 0.9rem; } .scroll-indicator { right: 1.5rem; bottom: 1.5rem; scale: 0.8; } .decorative-lines { display: none; } } @media (max-width: 480px) { .nav { padding: 1rem; } .nav-menu { gap: 1rem; } .main { padding: 0 1rem; } .hero-container { margin-top: 2rem; } .logo-3d { gap: 0.05em; } .hero-subtitle { margin-bottom: 3rem; } .subtitle-line { width: 30px; } .subtitle-text { font-size: 0.7rem; letter-spacing: 1.5px; } }
JS
Copy
document.addEventListener('DOMContentLoaded', function() { // Custom Cursor const cursor = document.querySelector('.custom-cursor'); const cursorDot = document.querySelector('.cursor-dot'); const cursorRing = document.querySelector('.cursor-ring'); let mouseX = 0; let mouseY = 0; let cursorX = 0; let cursorY = 0; document.addEventListener('mousemove', (e) => { mouseX = e.clientX; mouseY = e.clientY; }); function animateCursor() { const speed = 0.2; cursorX += (mouseX - cursorX) * speed; cursorY += (mouseY - cursorY) * speed; cursor.style.transform = `translate(${cursorX}px, ${cursorY}px)`; requestAnimationFrame(animateCursor); } animateCursor(); // Cursor hover effects const hoverElements = document.querySelectorAll('a, button, .nav-link, .social-link, .logo-letter'); hoverElements.forEach(element => { element.addEventListener('mouseenter', () => { cursorRing.style.transform = 'translate(-50%, -50%) scale(2)'; cursorRing.style.borderColor = '#6366f1'; cursorDot.style.transform = 'translate(-50%, -50%) scale(0)'; }); element.addEventListener('mouseleave', () => { cursorRing.style.transform = 'translate(-50%, -50%) scale(1)'; cursorRing.style.borderColor = 'rgba(255, 255, 255, 0.5)'; cursorDot.style.transform = 'translate(-50%, -50%) scale(1)'; }); }); // Logo letter hover effects const logoLetters = document.querySelectorAll('.logo-letter'); logoLetters.forEach((letter, index) => { letter.addEventListener('mouseenter', () => { // Add glitch effect letter.style.textShadow = ` 2px 0 #ff0000, -2px 0 #00ffff, 0 2px #ffff00, 0 -2px #ff00ff, 0 10px 20px rgba(99, 102, 241, 0.5), 0 20px 40px rgba(99, 102, 241, 0.3) `; // Animate other letters logoLetters.forEach((otherLetter, otherIndex) => { if (otherIndex !== index) { otherLetter.style.transform = `translateY(${Math.random() * 10 - 5}px) rotateX(${Math.random() * 20 - 10}deg)`; otherLetter.style.opacity = '0.7'; } }); }); letter.addEventListener('mouseleave', () => { letter.style.textShadow = ` 0 10px 20px rgba(99, 102, 241, 0.3), 0 20px 40px rgba(99, 102, 241, 0.2) `; // Reset other letters logoLetters.forEach((otherLetter, otherIndex) => { if (otherIndex !== index) { otherLetter.style.transform = 'translateY(0) rotateX(0deg)'; otherLetter.style.opacity = '1'; } }); }); }); // Parallax scrolling effect let ticking = false; function updateParallax() { const scrolled = window.pageYOffset; const parallaxElements = document.querySelectorAll('.floating-shapes .shape'); parallaxElements.forEach((element, index) => { const speed = 0.5 + (index * 0.1); const yPos = -(scrolled * speed); element.style.transform = `translateY(${yPos}px) rotate(${scrolled * 0.1}deg)`; }); ticking = false; } function requestTick() { if (!ticking) { requestAnimationFrame(updateParallax); ticking = true; } } window.addEventListener('scroll', requestTick); // Smooth scrolling for navigation links document.querySelectorAll('.nav-link').forEach(link => { link.addEventListener('click', (e) => { const href = link.getAttribute('href'); if (href.startsWith('#')) { e.preventDefault(); const target = document.querySelector(href); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } } }); }); // CTA button click effect const ctaButton = document.querySelector('.cta-button'); ctaButton.addEventListener('click', (e) => { // Create ripple effect const ripple = document.createElement('div'); const rect = ctaButton.getBoundingClientRect(); const size = Math.max(rect.width, rect.height); const x = e.clientX - rect.left - size / 2; const y = e.clientY - rect.top - size / 2; ripple.style.cssText = ` position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.3); transform: scale(0); animation: ripple 0.6s linear; width: ${size}px; height: ${size}px; left: ${x}px; top: ${y}px; pointer-events: none; `; ctaButton.appendChild(ripple); setTimeout(() => { ripple.remove(); }, 600); }); // Add CSS for ripple animation const style = document.createElement('style'); style.textContent = ` @keyframes ripple { to { transform: scale(4); opacity: 0; } } `; document.head.appendChild(style); // Intersection Observer for scroll animations const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; } }); }, observerOptions); // Observe elements for scroll animations const animateElements = document.querySelectorAll('.hero-subtitle, .hero-cta'); animateElements.forEach(el => observer.observe(el)); // Dynamic background color based on scroll window.addEventListener('scroll', () => { const scrolled = window.pageYOffset; const maxScroll = document.body.scrollHeight - window.innerHeight; const scrollProgress = scrolled / maxScroll; const hue = 240 + (scrollProgress * 60); // From blue to purple document.documentElement.style.setProperty( '--accent-primary', `hsl(${hue}, 70%, 60%)` ); }); // Add typing effect to subtitle const subtitleText = document.querySelector('.subtitle-text'); const originalText = subtitleText.textContent; function typeWriter(text, element, speed = 100) { element.textContent = ''; let i = 0; function type() { if (i < text.length) { element.textContent += text.charAt(i); i++; setTimeout(type, speed); } } type(); } // Start typing effect after initial animation setTimeout(() => { typeWriter(originalText, subtitleText, 50); }, 1500); // Add floating animation to scroll indicator const scrollIndicator = document.querySelector('.scroll-indicator'); let scrollIndicatorAnimation; function animateScrollIndicator() { scrollIndicator.style.transform = 'translateY(-10px)'; setTimeout(() => { scrollIndicator.style.transform = 'translateY(0)'; }, 1000); } scrollIndicatorAnimation = setInterval(animateScrollIndicator, 3000); // Hide scroll indicator when scrolling let scrollTimeout; window.addEventListener('scroll', () => { if (window.pageYOffset > 100) { scrollIndicator.style.opacity = '0.3'; } else { scrollIndicator.style.opacity = '1'; } clearTimeout(scrollTimeout); scrollTimeout = setTimeout(() => { if (window.pageYOffset === 0) { scrollIndicator.style.opacity = '1'; } }, 1000); }); // Add magnetic effect to social links const socialLinks = document.querySelectorAll('.social-link'); socialLinks.forEach(link => { link.addEventListener('mousemove', (e) => { const rect = link.getBoundingClientRect(); const x = e.clientX - rect.left - rect.width / 2; const y = e.clientY - rect.top - rect.height / 2; link.style.transform = `translate(${x * 0.3}px, ${y * 0.3}px) scale(1.1)`; }); link.addEventListener('mouseleave', () => { link.style.transform = 'translate(0, 0) scale(1)'; }); }); // Performance optimization: Reduce animations on mobile const isMobile = window.innerWidth <= 768; if (isMobile) { // Disable complex animations on mobile for better performance document.querySelectorAll('.floating-shapes .shape').forEach(shape => { shape.style.animation = 'none'; }); // Simplify cursor on mobile cursor.style.display = 'none'; document.body.style.cursor = 'auto'; } // Add resize listener to handle responsive changes window.addEventListener('resize', () => { const newIsMobile = window.innerWidth <= 768; if (newIsMobile !== isMobile) { location.reload(); // Reload to apply mobile optimizations } }); // Preload hover states for smooth transitions const preloadImages = () => { const images = [ // Add any image URLs that need preloading ]; images.forEach(src => { const img = new Image(); img.src = src; }); }; preloadImages(); console.log('MADE Studio - Creative Web Development'); });