:root { --primary-color: #4a90e2; --secondary-color: #2c3e50; --text-color: #333; --light-bg: #f8f9fa; } * { user-select: none; -moz-user-select: none; -webkit-user-drag: none; -webkit-user-select: none; font-family: 'Times New Roman', Times, serif; } html { scroll-behavior: smooth; } body { background-color: #E3E0C5; } body::-webkit-scrollbar { display: none; } .navbar { transition: background-color 1s; padding: 1rem 0; } .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); } .navbar.scrolled { background-color: #000000c0; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .navbar-brand, .nav-link { color: #ffffff; &:hover { color: #E5CC64; } } .navbar-toggler { color: #ffffff; } .btn { color: #E5CC64; background-color: #000000; border: #E5CC64 solid 1px; &:hover { color: #000000; background-color: #E5CC64; border: #000000 solid 2px; } } .scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); } .mouse { width: 26px; height: 42px; border: 2px solid #fff; border-radius: 15px; position: absolute; bottom: 5%; } .mouse::before { content: ''; position: absolute; width: 4px; height: 8px; background: #fff; left: 50%; transform: translateX(-50%); top: 8px; border-radius: 2px; animation: scroll 1.5s infinite; } .skill-bar { margin-bottom: 1.5rem; } .skill-bar .progress { height: 10px; border-radius: 5px; background-color: #e9ecef; overflow: hidden; } .skill-bar .progress-bar { width: 0; transition: width 1s ease-in-out; background-color: var(--primary-color); } .card { border: none; border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; opacity: 0; transform: translateY(20px); } .card.show { opacity: 1; transform: translateY(0); } .card:hover { background-image: linear-gradient(to bottom, #000000, #546bab); color: #E5CC64; transition-duration: 1s; box-shadow: 0 0 20px rgba(0, 0, 0, 0.7); transform: translateY(5px); border-radius: 2%; cursor: pointer; } .card img { border-radius: 10px 10px 0 0; height: 200px; object-fit: cover; } .social-links a { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background-color: var(--primary-color); color: white; margin: 0 10px; transition: transform 0.3s ease; } .social-links a:hover { transform: scale(1.1); } @keyframes scroll { 0% { opacity: 1; transform: translateX(-50%) translateY(0); } 100% { opacity: 0; transform: translateX(-50%) translateY(10px); } } .coding-container { width: 80%; max-width: 800px; padding: 0px; margin: auto; margin-top: 50px; } .coding-header { display: flex; justify-content: flex-end; padding: 10px 20px; background-color: #1e1e1e; border-top-left-radius: 8px; border-top-right-radius: 8px; } .status-dot { width: 12px; height: 12px; border-radius: 50%; margin-left: 6px; } .red { background-color: #ff5f56; } .yellow { background-color: #ffbd2e; } .green { background-color: #27c93f; } .coding-box { min-height: 100px; padding: 20px; border: 1px solid #ddd; border-radius: 0 0 8px 8px; background-color: #1e1e1e; color: #abb2bf; font-size: 16px; line-height: 1.5; white-space: pre-wrap; position: relative; } .coding-box:focus { outline: none; } footer { margin-left: 5%; margin-right: 5%; } .hero-section { height: 100vh; background: linear-gradient(to bottom, #000000, #546bab); position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 80%); z-index: 1; } .hero-section .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 2; } .hero-section .container { position: relative; z-index: 3; color: #E5CC64 !important; text-align: center; } .hero-section .container h1 { font-size: 3rem; } .meteor-shower { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; } .meteor { position: absolute; top: -10%; left: calc(var(--x) * 1%); width: calc(2px * var(--size)); height: calc(50px * var(--size)); background: linear-gradient(45deg, #E5CC64, rgba(255, 255, 255, 0)); transform: rotate(45deg); animation: meteor 2s linear infinite; animation-delay: calc(var(--delay) * 1s); } @keyframes meteor { 0% { transform: translateY(0) translateX(0) rotate(45deg); opacity: 1; } 70% { opacity: 0.8; } 100% { transform: translateY(100vh) translateX(-200px) rotate(45deg); opacity: 0; } } .meteor:nth-child(1) { --x: 10; --size: 1; --delay: 0; } .meteor:nth-child(2) { --x: 20; --size: 1.2; --delay: 0.5; } .meteor:nth-child(3) { --x: 30; --size: 0.8; --delay: 1; } .meteor:nth-child(4) { --x: 40; --size: 1.5; --delay: 1.5; } .meteor:nth-child(5) { --x: 50; --size: 0.9; --delay: 2; } .meteor:nth-child(6) { --x: 60; --size: 1.3; --delay: 2.5; } .meteor:nth-child(7) { --x: 70; --size: 1.1; --delay: 3; } .meteor:nth-child(8) { --x: 80; --size: 0.7; --delay: 3.5; } .meteor:nth-child(9) { --x: 90; --size: 1.4; --delay: 4; } .meteor:nth-child(10) { --x: 95; --size: 1; --delay: 4.5; } .about-img { display: block; margin: auto; width: 70%; border-radius: 10px; border: 1px solid black; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); } .about-img:hover { margin: auto; width: 75%; box-shadow: 0 0 20px rgba(0, 0, 0, 0.7); border-radius: 2%; transform: translateY(5px); transition-duration: 1.5s; cursor: zoom-in; } .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; z-index: 9999; } .popup-content { background-color: white; padding: 20px; border-radius: 10px; text-align: center; width: 300px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } .popup h2 { margin-bottom: 20px; } .close-btn { background-color: #e74c3c; color: white; border: none; padding: 10px 20px; cursor: pointer; border-radius: 5px; } @keyframes appear { from { opacity: 0; scale: 0.5; } to { opacity: 1; scale: 1; } } .appear { animation: appear linear; animation-timeline: view(); animation-range: entry 0% cover 30%; }