/* Zone College Management System - Custom Styles */ /* 1. Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&family=Lato:wght@400;700&display=swap'); /* 2. Variables */ :root { --primary-color: #005A9E; --secondary-color: #FFC107; --background-color: #F8F9FA; --surface-color: #FFFFFF; --text-color: #212529; --light-text-color: #F8F9FA; --border-radius: 0.5rem; --font-family-headings: 'Poppins', sans-serif; --font-family-body: 'Lato', sans-serif; } /* 3. General Styles */ body { font-family: var(--font-family-body); color: var(--text-color); background-color: var(--background-color); } h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-headings); font-weight: 600; color: var(--primary-color); } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.3s ease; } .btn-primary:hover { background-color: #004170; border-color: #004170; transform: translateY(-2px); } .btn-secondary { background-color: var(--secondary-color); border-color: var(--secondary-color); color: var(--text-color); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.3s ease; } .btn-secondary:hover { background-color: #e6ac00; border-color: #e6ac00; transform: translateY(-2px); } /* 4. Navbar */ .navbar { transition: background-color 0.3s ease; } .navbar-brand { font-family: var(--font-family-headings); font-weight: 700; font-size: 1.75rem; } .navbar.scrolled { background-color: var(--surface-color); box-shadow: 0 2px 10px rgba(0,0,0,0.1); } /* 5. Hero Section */ .hero { color: var(--light-text-color); height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; background: url('https://images.pexels.com/photos/256490/pexels-photo-256490.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1') no-repeat center center; background-size: cover; position: relative; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(0, 90, 158, 0.8), rgba(0, 40, 70, 0.9)); } .hero .container { position: relative; z-index: 2; } .hero h1 { font-size: 3.5rem; font-weight: 700; color: var(--surface-color); text-shadow: 2px 2px 4px rgba(0,0,0,0.3); } .hero p { font-size: 1.25rem; margin-bottom: 2rem; color: rgba(255, 255, 255, 0.9); } /* 6. Section Styles */ .section { padding: 6rem 0; } .section-title { text-align: center; margin-bottom: 4rem; font-size: 2.5rem; font-weight: 700; } /* 7. Features Section */ .feature-card { background-color: var(--surface-color); border: none; border-radius: var(--border-radius); padding: 2rem; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: all 0.3s ease; height: 100%; } .feature-card:hover { transform: translateY(-10px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); } .feature-icon { font-size: 3rem; color: var(--primary-color); margin-bottom: 1.5rem; } .feature-card h3 { font-size: 1.5rem; margin-bottom: 1rem; } /* 8. Contact Section */ #contact { background-color: var(--surface-color); } .form-control { border-radius: var(--border-radius); padding: 0.75rem; } .form-control:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.25rem rgba(0, 90, 158, 0.25); } /* 9. Footer */ footer { background-color: #343a40; color: var(--light-text-color); padding: 3rem 0; } footer a { color: var(--secondary-color); text-decoration: none; transition: color 0.3s ease; } footer a:hover { color: #fff; } /* 10. Utility Classes */ .page-content { padding-top: 120px; /* Adjust as needed for fixed header height */ } /* 11. Attendance Page */ .attendance-card { background-color: var(--surface-color); border-radius: var(--border-radius); margin-top: 2rem; margin-bottom: 2rem; } .attendance-card .card-header { background-color: transparent; border-bottom: 1px solid #dee2e6; padding: 1.5rem; } .attendance-card .card-body { padding: 2rem; } .attendance-card .avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid var(--primary-color); } .session-details p { margin-bottom: 0.5rem; } .map-placeholder { background-color: #e9ecef; border-radius: var(--border-radius); height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #6c757d; border: 2px dashed #ced4da; } .map-placeholder .bi { font-size: 3rem; margin-bottom: 0.5rem; } #check-in-btn { padding: 1rem; font-size: 1.25rem; } /* 12. Attendance Page - Selfie/Video */ .video-container { position: relative; width: 100%; max-width: 500px; margin: 0 auto; border-radius: var(--border-radius); overflow: hidden; border: 2px solid #dee2e6; } #video-preview { display: block; width: 100%; height: auto; transform: scaleX(-1); /* Mirror effect */ } /* 13. QR Code Generator */ .qr-code-container { margin-top: 2rem; padding: 2rem; background-color: var(--surface-color); border-radius: var(--border-radius); box-shadow: 0 4px 15px rgba(0,0,0,0.05); display: inline-block; } #qr-code-img { max-width: 300px; height: auto; border: 5px solid var(--surface-color); border-radius: var(--border-radius); }