@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap'); :root { --primary-color: #00c6ff; --secondary-color: #0072ff; --background-image: url('https://images.pexels.com/photos/1287145/pexels-photo-1287145.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2'); --text-color: #f0f0f0; --heading-color: #ffffff; --glass-bg: rgba(255, 255, 255, 0.1); --glass-border: rgba(255, 255, 255, 0.2); --blur-strength: 10px; --border-radius: 1rem; } body { font-family: 'Poppins', sans-serif; color: var(--text-color); background-image: var(--background-image); background-size: cover; background-attachment: fixed; background-position: center; overflow-x: hidden; } h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; font-weight: 700; color: var(--heading-color); } .navbar { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border-bottom: 1px solid var(--glass-border); transition: background-color 0.3s ease-in-out; } .navbar .navbar-brand { font-weight: 700; font-size: 1.5rem; color: var(--heading-color); } .navbar-dark .navbar-nav .nav-link { color: var(--text-color); font-weight: 400; transition: color 0.2s; padding: 0.5rem 1rem; border-radius: 0.5rem; } .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link.active { color: #fff; background: rgba(255, 255, 255, 0.15); } .hero { color: white; padding: 12rem 0; background: transparent; min-height: 100vh; display: flex; align-items: center; justify-content: center; } .hero h1 { font-size: 4.5rem; font-weight: 700; color: white; text-shadow: 0 2px 10px rgba(0,0,0,0.3); } .hero .lead { font-size: 1.5rem; font-weight: 300; text-shadow: 0 1px 5px rgba(0,0,0,0.2); } .btn-primary { background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)); border: none; border-radius: 50px; padding: 0.8rem 2rem; font-weight: 600; color: white; transition: transform 0.3s, box-shadow 0.3s; box-shadow: 0 4px 20px rgba(0, 150, 255, 0.3); } .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 6px 25px rgba(0, 150, 255, 0.5); } section { padding: 6rem 0; position: relative; } .section-title { text-align: center; margin-bottom: 4rem; font-size: 3rem; font-weight: 700; } .glass-card { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border: 1px solid var(--glass-border); border-radius: var(--border-radius); padding: 2rem; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1); transition: transform 0.3s, box-shadow 0.3s; } .glass-card:hover { transform: translateY(-10px); box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.15); } #about .img-fluid { border: 3px solid var(--glass-border); } .portfolio-item .card { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border: 1px solid var(--glass-border); border-radius: var(--border-radius); overflow: hidden; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1); transition: transform 0.3s, box-shadow 0.3s; color: var(--text-color); } .portfolio-item .card:hover { transform: translateY(-10px); box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.15); } .portfolio-item .card .card-title { color: var(--heading-color); } .portfolio-item .card .card-body { padding: 1.5rem; } .card-img-top { border-bottom: 1px solid var(--glass-border); opacity: 0.9; } #contact { background: transparent; } .form-control { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 0.5rem; color: var(--text-color); padding: 0.75rem 1rem; } .form-control::placeholder { color: rgba(240, 240, 240, 0.6); } .form-control:focus { background: rgba(255, 255, 255, 0.15); box-shadow: 0 0 0 0.25rem rgba(0, 198, 255, 0.25); border-color: var(--primary-color); color: #fff; } footer { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border-top: 1px solid var(--glass-border); color: var(--text-color); padding: 3rem 0; } footer a { color: var(--text-color); transition: color 0.2s; } footer a:hover { color: var(--primary-color); } .toast-container { position: fixed; bottom: 1rem; right: 1rem; z-index: 1055; } /* Add a background to sections for readability */ #about, #portfolio, #contact { position: relative; z-index: 1; } #portfolio { background: rgba(0,0,0,0.2); } .blog-card { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border: 1px solid var(--glass-border); border-radius: var(--border-radius); transition: transform 0.3s, box-shadow 0.3s; color: var(--text-color); } .blog-card:hover { transform: translateY(-10px); box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.15); } .blog-card .card-title { color: var(--heading-color); } .btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); } .btn-outline-primary:hover { color: #fff; background-color: var(--primary-color); border-color: var(--primary-color); } .blog-post { background: var(--glass-bg); backdrop-filter: blur(var(--blur-strength)); -webkit-backdrop-filter: blur(var(--blur-strength)); border: 1px solid var(--glass-border); border-radius: var(--border-radius); padding: 3rem; color: var(--text-color); } .blog-post h1 { color: var(--heading-color); } .blog-post .text-muted { color: rgba(240, 240, 240, 0.7) !important; } .blog-post section { line-height: 1.8; } .blog-listing { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 2rem; } .blog-post-preview { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--border-radius); padding: 2rem; display: flex; flex-direction: column; transition: transform 0.3s, box-shadow 0.3s; } .blog-post-preview:hover { transform: translateY(-10px); box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.15); } .blog-post-preview h3 { color: var(--heading-color); font-size: 1.5rem; margin-bottom: 0.5rem; } .blog-post-preview .date { font-size: 0.9rem; color: rgba(240, 240, 240, 0.7); margin-bottom: 1rem; } .blog-post-preview p { flex-grow: 1; line-height: 1.6; } .blog-post-preview .btn-outline-primary { align-self: flex-start; } .post-header { text-align: center; margin-bottom: 3rem; } .post-header h1 { font-size: 3.5rem; font-weight: 700; } .post-header .post-meta { font-size: 1rem; color: rgba(240, 240, 240, 0.7); margin-top: 1rem; } .post-content { font-size: 1.1rem; line-height: 1.9; } .share-section { text-align: center; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--glass-border); } .share-section h4 { margin-bottom: 1rem; } .share-buttons a { color: var(--text-color); margin: 0 0.5rem; font-size: 1.5rem; transition: color 0.2s; } .share-buttons a:hover { color: var(--primary-color); } .search-container { margin-bottom: 2rem; } .search-results-container { margin-top: 2rem; } .search-result-item { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--border-radius); padding: 1.5rem; margin-bottom: 1rem; transition: transform 0.3s, box-shadow 0.3s; } .search-result-item:hover { transform: translateY(-5px); box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.15); } .search-result-item h4 { color: var(--heading-color); margin-bottom: 0.25rem; } .search-result-item p { margin-bottom: 0.5rem; color: var(--text-color); } .search-result-item .date { font-size: 0.8rem; color: rgba(240, 240, 240, 0.7); }