Spaces:
Running
Running
| /* Smooth scrolling */ | |
| html { | |
| scroll-behavior: smooth; | |
| cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23ff3366'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>"), auto; | |
| } | |
| /* Heart cursor for clickable elements */ | |
| a, button, input[type="submit"], label { | |
| cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='%23ff3366'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>"), pointer; | |
| } | |
| /* Floating animation */ | |
| @keyframes float { | |
| 0% { transform: translateY(0px); } | |
| 50% { transform: translateY(-10px); } | |
| 100% { transform: translateY(0px); } | |
| } | |
| /* Pulse animation */ | |
| @keyframes pulse { | |
| 0% { transform: scale(1); } | |
| 50% { transform: scale(1.05); } | |
| 100% { transform: scale(1); } | |
| } | |
| /* Falling hearts */ | |
| .heart { | |
| position: fixed; | |
| top: -20px; | |
| z-index: 9999; | |
| user-select: none; | |
| pointer-events: none; | |
| animation: fall linear forwards; | |
| text-shadow: 0 0 5px rgba(255,255,255,0.5); | |
| will-change: transform; | |
| } | |
| @keyframes fall { | |
| to { | |
| transform: translateY(100vh); | |
| } | |
| } | |
| /* Custom scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: #f1f1f1; | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: #888; | |
| border-radius: 4px; | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: #555; | |
| } | |
| /* 3D Perspective for the page */ | |
| body { | |
| perspective: 1000px; | |
| overflow-x: hidden; | |
| } | |
| /* Animation for sections */ | |
| section { | |
| opacity: 0; | |
| transform: translateY(20px) rotateX(5deg); | |
| transition: opacity 0.6s ease-out, transform 0.6s ease-out; | |
| transform-style: preserve-3d; | |
| } | |
| section.show { | |
| opacity: 1; | |
| transform: translateY(0) rotateX(0); | |
| } | |
| /* 3D Card Effect for Wedding Details */ | |
| #details .grid > div { | |
| transform: translateZ(20px); | |
| transition: transform 0.5s ease; | |
| } | |
| #details .grid > div:hover { | |
| transform: translateZ(30px) rotateY(5deg); | |
| } | |
| /* Parallax Effect for Hero */ | |
| .hero-section { | |
| transform-style: preserve-3d; | |
| } | |
| .hero-section::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| background: url('https://static.photos/nature/1200x630/42') center/cover no-repeat fixed; | |
| transform: translateZ(-1px) scale(1.02); | |
| z-index: -1; | |
| } | |
| /* 3D Gallery */ | |
| #gallery .aspect-square { | |
| transform-style: preserve-3d; | |
| transition: transform 0.5s ease; | |
| position: relative; | |
| } | |
| #gallery .aspect-square:hover { | |
| transform: rotateY(15deg) rotateX(10deg) translateZ(30px); | |
| } | |
| #gallery .aspect-square img { | |
| transform-style: preserve-3d; | |
| transition: transform 0.5s ease, box-shadow 0.5s ease; | |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |
| } | |
| #gallery .aspect-square:hover img { | |
| transform: translateZ(20px); | |
| box-shadow: 0 20px 40px rgba(0,0,0,0.2); | |
| } | |
| /* Enhanced 3D Effect for Images */ | |
| img { | |
| transition: transform 0.5s ease, filter 0.5s ease; | |
| transform-style: preserve-3d; | |
| } | |
| img:hover { | |
| transform: rotateY(10deg) rotateX(5deg) translateZ(10px); | |
| filter: drop-shadow(0 10px 20px rgba(0,0,0,0.2)); | |
| } | |
| /* Wedding Party section */ | |
| #wedding-party .grid > div { | |
| background: rgba(255,255,255,0.9); | |
| border-radius: 1rem; | |
| padding: 2rem; | |
| box-shadow: 0 5px 15px rgba(0,0,0,0.05); | |
| transition: transform 0.3s ease; | |
| } | |
| #wedding-party .grid > div:hover { | |
| transform: translateY(-5px); | |
| } | |
| #wedding-party img { | |
| transition: transform 0.3s ease, filter 0.3s ease; | |
| } | |
| #wedding-party img:hover { | |
| transform: scale(1.05); | |
| filter: brightness(1.05); | |
| } | |
| /* QR Code section */ | |
| #gift { | |
| background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); | |
| } | |
| /* Form input focus effect */ | |
| input:focus, textarea:focus, select:focus { | |
| box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Countdown styles */ | |
| .countdown-container { | |
| display: flex; | |
| justify-content: center; | |
| gap: 1rem; | |
| margin-top: 2rem; | |
| } | |
| .countdown-box { | |
| background: white; | |
| padding: 1rem; | |
| border-radius: 0.5rem; | |
| min-width: 5rem; | |
| text-align: center; | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| .countdown-number { | |
| font-size: 2rem; | |
| font-weight: bold; | |
| color: #333; | |
| } | |
| .countdown-label { | |
| font-size: 0.75rem; | |
| text-transform: uppercase; | |
| color: #666; | |
| } |