@use './variables' as *; /* Skills Section */ .skillsSection { padding: 6rem 0; background-color: $secondary-dark; position: relative; } /* Hero Section */ .hero { height: 100vh; position: relative; overflow: hidden; display: flex; align-items: center; padding-top: 76px; } .hero::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('/api/placeholder/1200/800') center/cover no-repeat; opacity: 0.15; filter: brightness(0.5) contrast(1.2); z-index: -1; } .titleMain { font-size: 4rem; font-weight: 700; position: relative; display: inline-block; } .titleMain::before { content: "< "; color: $accent-fire; opacity: 0.8; } .titleMain::after { content: " />"; color: $accent-fire; opacity: 0.8; } .subtitle { font-size: 1.6rem; color: $text-ash; margin-bottom: 2rem; } /* Binary Background */ .binaryBg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; opacity: 0.07; overflow: hidden; } .binaryLine { position: absolute; font-family: 'Fira Code', monospace; color: $accent-fire; font-size: 1rem; animation: fall linear infinite; opacity: 0.8; } @keyframes fall { 0% { transform: translateY(-100%); } 100% { transform: translateY(100vh); } } /* Button Styling */ .btnPrimary { background: linear-gradient(45deg, $accent-dragon, $accent-fire); border: none; padding: 0.75rem 2rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(139, 0, 0, 0.3); transition: all 0.3s ease; position: relative; overflow: hidden; } .btnPrimary:hover { transform: translateY(-3px); box-shadow: 0 7px 25px rgba(139, 0, 0, 0.5); background-color: $accent-fire; background-image: none; } .btnPrimary::before { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: all 0.6s ease; } .btnPrimary:hover::before { left: 100%; } /* Blinking cursor effect */ .blinkingCursor { display: inline-block; width: 10px; height: 24px; background-color: $accent-fire; margin-left: 5px; animation: blink 1s step-end infinite; box-shadow: $glow-effect; } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } /* Particles effect */ .particles { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; } .particle { position: absolute; width: 3px; height: 3px; background-color: $accent-fire; border-radius: 50%; opacity: 0; animation: rise linear forwards; } @keyframes rise { 0% { transform: translateY(0) translateX(0); opacity: 0; } 10% { opacity: 0.5; } 90% { opacity: 0.5; } 100% { transform: translateY(-100px) translateX(var(--x)); opacity: 0; } } // Style for phone @media (max-width: 992px) { .title-main { font-size: 3rem; } } @media (max-width: 768px) { .hero { height: 100vh; padding-top: 50px; } .titleMain { font-size: 2rem; } .subtitle { font-size: 1.4rem; } .btnPrimary { padding: 0.5rem 1.5rem; font-size: 1.2rem; } } @media (max-width: 576px) { .title-main { font-size: 2rem; } .subtitle { font-size: 1rem; } .btn-primary { padding: 0.6rem 1.5rem; font-size: 0.9rem; } }