/* Layout général */ body { overflow-x: hidden; } /* Sidebar styles */ .sidebar { width: 250px; min-height: 100vh; position: fixed; top: 0; left: 0; z-index: 100; transition: all 0.3s; } .sidebar-header { border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .sidebar .nav-link { padding: 0.75rem 1rem; border-radius: 0.25rem; margin-bottom: 0.25rem; transition: all 0.2s; } .sidebar .nav-link:hover { background-color: rgba(255, 255, 255, 0.1); } .sidebar .nav-link.active { background-color: rgba(255, 255, 255, 0.2); font-weight: bold; } .sidebar .nav-link i { margin-right: 0.5rem; } .content-wrapper { margin-left: 250px; width: calc(100% - 250px); min-height: 100vh; } /* For mobile devices */ @media (max-width: 768px) { .sidebar { width: 100%; position: relative; min-height: auto; } .content-wrapper { margin-left: 0; width: 100%; } } .body-landing { background-color: rgb(255, 255, 255); min-height: 100vh; padding-bottom: 5rem; } /* Header */ .main-header { background-color: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .1); /*padding: 1rem 0;*/ margin-bottom: 2rem; } .main-header h1 { font-size: 1.5rem; margin: 0; } .main-header a { text-decoration: none; color: inherit; } /* Footer */ .main-footer { background-color: #f8f9fa; padding: 2rem 0; margin-top: 3rem; border-top: 1px solid #dee2e6; } .main-footer p { margin-bottom: 0.5rem; } .main-footer a { color: #0d6efd; text-decoration: none; } .main-footer a:hover { text-decoration: underline; } /* Barre de progression */ #completion_progress { position: fixed; bottom: 0; width: 100%; padding: 1rem; background-color: white; border-top: 1px solid #e9ecef; z-index: 1000; box-shadow: 0 -2px 4px rgba(0, 0, 0, .1); } #completion_progress .container { padding: 0; } /* Home page specific styles */ .hero-image { max-width: 100%; height: auto; } .feature-icon { display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; margin-bottom: 1rem; font-size: 2rem; color: #fff; border-radius: 0.75rem; background-color: #0d6efd; } .step-circle { display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background-color: #0d6efd; color: white; font-weight: bold; font-size: 1.25rem; margin-right: 1rem; } .card { transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important; } /* Media queries */ @media (max-width: 768px) { .main-header h1 { font-size: 1.25rem; } .main-footer { padding: 1.5rem 0; } .display-4 { font-size: 2.5rem; } .hero-image { max-height: 200px; margin-top: 2rem; } }