/* Reset default browser styles */ * { margin: 0; padding: 0; box-sizing: border-box; } /* Reset some basic elements */ body, h1, h2, h3, p, ul, li, form, input, textarea, button { margin: 0; padding: 0; box-sizing: border-box; } /* General Styles */ body { font-family: 'Lato', sans-serif; margin: 0; padding: 0; background-color: #f9f9f9; color: #333; } /* Navigation Bar */ nav { background-color: #4CAF50; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; } nav .logo { float: left; padding: 15px 20px; font-size: 1.5em; font-weight: 700; } nav .logo a { color: #fff; text-decoration: none; font-size: 1.5em; margin-left: 20px; font-weight: bold; } .nav-links { list-style: none; display: flex; gap: 15px; } nav .nav-links { float: right; margin-right: 20px; } nav .nav-links li { display: inline-block; line-height: 60px; margin-left: 20px; } nav .nav-links li a { display: block; padding: 0 20px; text-decoration: none; color: #fff; font-size: 1.1em; font-weight: 500; } .nav-links li a { color: #fff; text-decoration: none; font-weight: 500; padding: 8px 12px; border-radius: 4px; transition: background-color 0.3s ease; } nav .nav-links li a:hover { text-decoration: underline; } .nav-links li a:hover { background-color: #45a049; } /* Hero Section (homepage.html) */ .hero { position: relative; background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/static/library.jpg') no-repeat center center/cover; height: 80vh; display: flex; align-items: center; justify-content: center; color: #ffffff; text-align: center; overflow: hidden; background-image: url('{{ url_for('static', filename='images/hero-background.jpg') }}'); background-size: cover; background-position: center; } .hero::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); } .hero-content { position: relative; z-index: 1; animation: fadeInUp 1s ease-out forwards; text-align: center; max-width: 600px; padding: 20px; } .hero-content h1 { font-size: 4em; margin-bottom: 20px; text-shadow: 2px 2px 8px rgba(0,0,0,0.7); font-size: 3em; } .hero-content p { font-size: 1.5em; margin-bottom: 30px; text-shadow: 1px 1px 5px rgba(0,0,0,0.6); font-size: 1.2em; } .cta-button { background: linear-gradient(45deg, #ff6347, #ff4c29); color: #fff; padding: 15px 40px; border: none; border-radius: 50px; font-size: 1.3em; cursor: pointer; text-decoration: none; transition: transform 0.3s, box-shadow 0.3s; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); background-color: #4CAF50; padding: 15px 30px; border-radius: 5px; font-size: 1em; transition: background-color 0.3s ease; } .cta-button:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); background-color: #45a049; } /* About Section (homepage.html) */ .about { padding: 80px 20px; background-color: #fff; text-align: center; animation: fadeIn 1s ease-out forwards; } .about h2 { font-size: 2.5em; margin-bottom: 20px; color: #333; } .about p { font-size: 1.2em; color: #555; margin-bottom: 20px; max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.6; transition: color 0.3s; } .about p:hover { color: #ff6347; } /* Features Section (homepage.html) */ .features { background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/static/images/hihi.jpg') no-repeat center center/cover; padding: 80px 20px; background-color: #f0f8ff; text-align: center; padding: 60px 0; background-color: #f1f1f1; } .features h2 { font-size: 2.5em; margin-bottom: 40px; color: #333; position: relative; text-align: center; margin-bottom: 40px; color: #222; } .features h2::after { content: ''; width: 60px; height: 4px; background: #ff6347; display: block; margin: 10px auto 0; border-radius: 2px; } .feature-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; } .features-grid { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; } .feature-item { width: 280px; margin: 15px; padding: 30px 20px; background-color: #fff; border-radius: 15px; box-shadow: 0 6px 20px rgba(0,0,0,0.1); transition: transform 0.3s, box-shadow 0.3s; background-color: #fff; padding: 20px; border-radius: 8px; flex: 1 1 250px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); text-align: center; } .feature-item:hover { transform: translateY(-10px); box-shadow: 0 12px 30px rgba(0,0,0,0.2); } .feature-item h3 { font-size: 1.8em; margin-bottom: 15px; color: #333; margin-bottom: 15px; color: #4CAF50; } .feature-item p { font-size: 1em; color: #666; line-height: 1.5; color: #555; line-height: 1.6; } /* Call to Action Section (homepage.html) */ .cta { padding: 80px 20px; text-align: center; background: linear-gradient(135deg, #ff7e5f, #feb47b); color: #fff; animation: slideIn 1s ease-out forwards; } .cta h2 { font-size: 2.5em; margin-bottom: 20px; } .cta .cta-button { background: #fff; color: #ff6347; padding: 15px 40px; border: none; border-radius: 50px; font-size: 1.3em; cursor: pointer; text-decoration: none; transition: background-color 0.3s, color 0.3s; } .cta .cta-button:hover { background-color: #ff4c29; color: #fff; } /* Main Container */ .container { width: 90%; max-width: 1200px; margin: 40px auto; padding: 20px; background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); animation: fadeIn 1s ease-out forwards; } /* Homepage Headings and Text */ .container h1 { font-size: 3.5em; margin-bottom: 15px; color: #333; text-align: center; text-shadow: 1px 1px 5px rgba(0,0,0,0.1); } .container p { font-size: 1.3em; color: #555; margin-bottom: 50px; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.6; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes slideIn { from { opacity: 0; transform: translateX(-100%); } to { opacity: 1; transform: translateX(0); } } /* styles.css */ /* ... Existing Styles ... */ /* Contact Section */ .contact { padding: 80px 20px; background-color: #fff; text-align: center; animation: fadeIn 1s ease-out forwards; } .contact h1 { font-size: 2.5em; margin-bottom: 20px; color: #333; } .contact p { font-size: 1.2em; color: #555; margin-bottom: 40px; max-width: 800px; margin-left: auto; margin-right: auto; line-height: 1.6; } .contact-form { max-width: 600px; margin: auto; text-align: left; background-color: #f9f9f9; padding: 30px; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,0.1); transition: box-shadow 0.3s; } .contact-form:hover { box-shadow: 0 12px 30px rgba(0,0,0,0.2); } .contact-form .form-group { margin-bottom: 25px; } .contact-form label { display: block; font-size: 1.1em; color: #333; margin-bottom: 8px; font-weight: 600; } .contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea, .contact-form select { width: 100%; padding: 12px 15px; border: 2px solid #ccc; border-radius: 5px; font-size: 1em; transition: border-color 0.3s, box-shadow 0.3s; } .contact-form input[type="text"]:focus, .contact-form input[type="email"]:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: #ff6347; box-shadow: 0 0 5px rgba(255, 99, 71, 0.5); outline: none; } .contact-form button { background-color: #ff6347; color: #fff; padding: 15px 30px; border: none; border-radius: 50px; font-size: 1.2em; cursor: pointer; transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s; display: block; margin: auto; } .contact-form button:hover { background-color: #ff4c29; transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2); } /* Responsive Adjustments */ @media (max-width: 768px) { .contact-form { padding: 20px; } .contact-form button { width: 100%; } } /* Form Styles (recommendations) */ form { display: flex; flex-direction: column; align-items: center; margin-bottom: 50px; } .form-group { margin-bottom: 20px; width: 100%; max-width: 500px; } label { display: block; font-size: 1em; color: #333; margin-bottom: 8px; } input[type="text"], input[type="email"], textarea { width: 100%; padding: 12px; border: 2px solid #ccc; border-radius: 5px; font-size: 1em; } button { background-color: #ff6347; color: #fff; padding: 15px 30px; border: none; border-radius: 5px; font-size: 1.2em; cursor: pointer; transition: background-color 0.3s; margin-top: 20px; } button:hover { background-color: #ff4c29; } /* Recommendations/Book Cards */ .recommendations { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 40px; gap: 20px; } .book-card { background-color: #fafafa; border: 1px solid #ddd; border-radius: 3px; margin: 15px; padding: 20px; width: 220px; text-align: center; transition: box-shadow 0.3s; width: 200px; padding: 10px; } .book-card:hover { box-shadow: 0 4px 15px rgba(0,0,0,0.1); } .book-card img { max-width: 100%; height: auto; margin-bottom: 15px; border-radius: 5px; } .book-card img.book-image { width: 100%; height: 300px; object-fit: cover; } .book-card h3 { font-size: 1.1em; color: #333; margin-bottom: 10px; margin: 10px 0; } .book-card p { font-size: 1em; color: #666; line-height: 1.5; font-size: 0.9em; color: #555; } .book-card .btn { display: inline-block; margin-top: 10px; padding: 8px 12px; background-color: #333; color: #fff; text-decoration: none; border-radius: 3px; } .book-card .btn:hover { background-color: #555; } /* Book Detail Page */ .book-detail { display: flex; flex-wrap: wrap; margin-top: 40px; background-color: #fff; padding: 30px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); padding: 20px; } .book-detail img.book-image-detail { width: 300px; height: 450px; object-fit: cover; float: left; margin-right: 20px; } .book-detail-image { max-width: 300px; width: 100%; height: auto; border-radius: 10px; margin-right: 30px; } .book-detail-content { display: grid; grid-template-columns: 1fr; gap: 20px; } @media (min-width: 768px) { .book-detail-content { grid-template-columns: 1fr 2fr; } } .book-image-detail { width: 100%; height: auto; border-radius: 8px; object-fit: cover; } .book-info { display: flex; flex-direction: column; justify-content: flex-start; flex: 1; min-width: 250px; } .book-info h1 { font-size: 2em; margin-bottom: 10px; color: #222; margin-top: 0; } .book-info p { margin: 8px 0; line-height: 1.6; } .book-info strong { color: #555; } .book-detail-info h1 { font-size: 2.5em; margin-bottom: 10px; color: #333; margin-bottom: 20px; } .book-detail-info p { font-size: 1em; color: #555; margin-bottom: 10px; } .book-detail-info h2 { font-size: 1.8em; margin-top: 20px; margin-bottom: 10px; color: #333; } .back-button { display: inline-block; margin-top: 20px; padding: 10px 20px; background-color: #ff6347; color: #fff; text-decoration: none; border-radius: 5px; transition: background-color 0.3s; } .back-button:hover { background-color: #ff4c29; } /* Contact Section */ .contact { padding: 60px 20px; background-color: #fff; text-align: center; } .contact h1 { font-size: 2.5em; margin-bottom: 20px; color: #333; } .contact p { font-size: 1.1em; color: #666; margin-bottom: 40px; } .contact-form { max-width: 600px; margin: auto; text-align: left; } .contact-form .form-group { margin-bottom: 20px; } .contact-form label { display: block; font-size: 1em; color: #333; margin-bottom: 8px; } .contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea { width: 100%; padding: 12px; border: 2px solid #ccc; border-radius: 5px; font-size: 1em; } /* Flash Messages */ .flash-messages { width: 90%; max-width: 1200px; margin: 20px auto; padding: 10px; width: 80%; margin: 20px auto; } .alert { padding: 15px; border-radius: 5px; margin-bottom: 10px; font-size: 1em; text-align: center; margin-bottom: 10px; border-radius: 4px; } .alert-success { background-color: #d4edda; color: #155724; background-color: #4CAF50; } .alert-danger { background-color: #f8d7da; color: #721c24; background-color: #f44336; } .alert-error { background-color: #f8d7da; color: #721c24; } /* Footer */ footer { text-align: center; padding: 20px; background-color: #f1f1f1; margin-top: 40px; font-size: 0.9em; color: #555; background-color: #333; color: #fff; padding: 20px 0; text-align: center; margin-top: 60px; padding: 15px 0; position: fixed; width: 100%; bottom: 0; } /* Responsive Design */ @media (max-width: 768px) { nav .nav-links { float: none; text-align: center; } nav .nav-links li { display: block; line-height: 30px; margin: 10px 0; } .container h1, .contact h1, .about h2, .features h2 { font-size: 2em; } input[type="text"], input[type="email"], textarea { max-width: 100%; } .book-card { width: 45%; } .book-detail { flex-direction: column; align-items: center; } .book-detail-image { margin-right: 0; margin-bottom: 20px; } .feature-list { flex-direction: column; align-items: center; } .feature-item { width: 80%; } footer { position: relative; } .recommendations { flex-direction: column; align-items: center; } .book-detail img.book-image-detail { float: none; display: block; margin: 0 auto 20px auto; } .hero-content h1 { font-size: 2.5em; } .hero-content p { font-size: 1em; } .cta-button { padding: 10px 20px; font-size: 0.9em; } .nav-links { flex-direction: column; align-items: center; } .features-grid { flex-direction: column; align-items: center; } .links-grid { flex-direction: column; align-items: center; } } @media (max-width: 480px) { .book-card { width: 100%; } .hero-content h1 { font-size: 2em; } .hero-content p { font-size: 1em; } .cta h2 { font-size: 1.5em; } } /* Authentication Forms */ .auth-form { max-width: 400px; margin: 40px auto; padding: 30px; background: #fff; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,0.1); display: flex; flex-direction: column; } .auth-form label { display: block; margin-bottom: 5px; font-weight: bold; } .auth-form input[type="text"], .auth-form input[type="email"], .auth-form input[type="password"] { width: 100%; padding: 10px; margin-bottom: 15px; border: 2px solid #ccc; border-radius: 5px; border: 1px solid #ccc; border-radius: 3px; } .auth-form button { width: 100%; padding: 15px; background-color: #ff6347; color: #fff; border: none; border-radius: 5px; font-size: 1em; cursor: pointer; padding: 10px; background-color: #333; border-radius: 3px; } .auth-form button:hover { background-color: #ff4c29; background-color: #555; } /* Book Detail Styling */ .book-detail { padding: 20px; } .book-detail-content { display: flex; flex-wrap: wrap; gap: 20px; } .book-image-detail { max-width: 300px; width: 100%; height: auto; border: 1px solid #ccc; border-radius: 5px; } .book-info { flex: 1; min-width: 250px; } .book-info h1 { margin-top: 0; } .book-info p { line-height: 1.6; } /* Links Section */ .links { padding: 60px 0; } .links h2 { text-align: center; margin-bottom: 40px; color: #222; } .links-grid { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; } .link-item { background-color: #4CAF50; color: #fff; padding: 15px 25px; text-decoration: none; border-radius: 5px; transition: background-color 0.3s ease; font-weight: 500; } .link-item:hover { background-color: #45a049; } /* Background Image for Index Page */ .index-page { /* background-image: url('../images/background.jpg'); */ background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/static/library.jpg') no-repeat center center/cover; background-size: cover; background-repeat: no-repeat; background-position: center; min-height: 100vh; }