/* Smooth transitions for collapse/expand effect */ #dropdown-div { overflow: hidden; /* Hide overflowing content */ transition: max-height 2s ease-out; /* Smooth transition for height */ } /* Arrow rotation */ .arrow { transition: transform 0.5s ease; cursor: pointer; } .rotate-down { transform: rotate(180deg); /* Arrow pointing up */ } .rotate-up { transform: rotate(0deg); /* Arrow pointing down */ } html, body { scroll-behavior: smooth; /* Smooth scrolling */ overflow-anchor: none; /* Prevents layout shift from causing jump */ } /* Prevent scrollbar jumping due to margin collapse */ body { overflow-y: scroll; /* Always show the vertical scrollbar, preventing jumps */ } /* General form styling */ .form-group label { font-size: 14px; font-weight: 600; color: #6c757d; /* Muted grey color */ } .selectpicker { font-size: 14px; padding: 8px; } /* Ensure the table has proper padding and layout */ .table-responsive { max-height: 400px; /* Add max height to make the table scrollable if content exceeds */ overflow-y: auto; } /* Range input styling */ .custom-range { width: 100%; /* Ensure the slider takes full width */ } #slider { height: 8px; background-color: #007bff; /* Primary blue */ border-radius: 5px; } #slider::-webkit-slider-thumb { background-color: #fff; border: 2px solid #007bff; height: 18px; width: 18px; border-radius: 50%; } #slider::-moz-range-thumb { background-color: #fff; border: 2px solid #007bff; height: 18px; width: 18px; border-radius: 50%; } #slider::-ms-thumb { background-color: #fff; border: 2px solid #007bff; height: 18px; width: 18px; border-radius: 50%; } /* Styling for the output value under the slider */ #value { font-size: 16px; font-weight: bold; text-align: center; margin-top: 8px; color: #007bff; /* Matching the blue slider */ } /* Button styling */ button.btn-primary { font-size: 16px; padding: 10px 20px; background-color: #007bff; /* Primary blue */ border: none; border-radius: 5px; } button.btn-primary:hover { background-color: #0056b3; /* Darker blue on hover */ transition: background-color 0.3s ease; } /* Action button row */ .row.justify-content-center { margin-top: 30px; } /* Preprocessing checkboxes styling */ .form-check-inline .form-check-label { margin-left: 5px; font-size: 14px; } /* Align preprocessing checkboxes in flexbox */ .d-flex.flex-wrap { display: flex; flex-wrap: wrap; gap: 10px; } .form-check-inline { margin-right: 20px; } /* Responsive adjustments */ @media (max-width: 768px) { .form-group { margin-bottom: 15px; } .form-row .form-group { margin-bottom: 10px; } } /* For the table wrapper */ .table-responsive { max-height: 500px; /* Scroll if table content exceeds this height */ } .table-bordered { border: 1px solid #dee2e6; /* Add subtle border */ } /* Subtle card styling */ .card { border-radius: 8px; } /* Card Body Styling */ .card-body { padding: 20px; /* Increase padding for better content spacing */ } /* Table Border Styles */ .table-bordered { border: 1px solid #ddd; } /* Centered Content for Better UX */ .text-center { text-align: center; } /* Responsive Padding */ @media (max-width: 768px) { .card-body { padding: 15px; /* Adjust padding for smaller screens */ } } /* Hover effect for dropdowns */ select.form-control:hover, select.form-control:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); } /* To ensure proper alignment of checkboxes within the flex row */ .form-check-input { margin-top: 5px; } /* Ensure layout consistency */ h6 { margin-bottom: 10px; } .btn-dataset { border: 1px solid #ddd; background-color: #f9f9f9; color: #555; transition: all 0.3s ease; border-radius: 30px; } .btn-dataset:hover { background-color: #e2e6ea; color: #333; border-color: #ccc; transform: scale(1.05); } .btn-dataset.active { background-color: #007bff; color: white; border-color: #007bff; } .btn-dataset i { margin-right: 8px; color: #666; } .btn-dataset.active i { color: white; } /* Minimal button style */ .dataset-btn { display: block; width: 100%; padding: 0.5rem; font-size: 0.875rem; font-weight: 500; color: #333; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 0.25rem; text-align: center; cursor: pointer; transition: background-color 0.2s, color 0.2s; } /* Hover and active states */ .dataset-btn:hover { background-color: #f1f1f1; } .dataset-btn.active { background-color: #e9ecef; border-color: #007bff; color: #007bff; } /* Smaller and simplified upload button */ .btn-outline-primary { padding: 0.4rem 0.75rem; font-size: 0.875rem; } /* Adjust spacing for a minimalist feel */ .mb-3 { margin-bottom: 1rem !important; } .h4 { font-size: 1.3rem !important; } /* Reduce padding around the form */ .card-body { padding: 1rem; } .form-group { margin-bottom: 1rem; } /* Centering the file upload section */ .col-lg-5 { max-width: 80%; } /* Wrapper and transitions */ #wrapper { transition: all 0.3s ease; } #content-wrapper { transition: margin-left 0.3s ease; margin-left: 14rem; /* Adjust this for default sidebar width */ } /* Sidebar adjustments */ #accordionSidebar { width: 14rem; /* Default sidebar width */ height: 100vh; top: 0; overflow-y: auto; padding-top: 1rem; z-index: 1000; transition: width 0.3s ease; } /* Minimized sidebar style */ #accordionSidebar.minimized { width: 5rem; /* Minimized sidebar width */ } /* Adjust main content based on sidebar size */ #content-wrapper.expanded { margin-left: 14rem; } #content-wrapper.collapsed { margin-left: 7rem; } /* Ensure icons are visible in minimized state */ #accordionSidebar.minimized .nav-item .nav-link span { display: none; } #accordionSidebar.minimized .sidebar-brand-text { display: none; } /* Sidebar link styles */ .sidebar .nav-item .nav-link { font-weight: 500; color: #e3f2fd; transition: color 0.2s ease, background-color 0.2s ease; } .sidebar .nav-item .nav-link:hover, .sidebar .nav-item .nav-link.active { color: #ffffff; background-color: rgba(255, 255, 255, 0.1); } .sidebar .nav-item .nav-link.active i { color: #ffffff; } /* Responsive adjustments for small screens */ @media (max-width: 768px) { #accordionSidebar { width: 100%; height: auto; position: relative; transition: none; /* Remove transition on mobile for smoother behavior */ } #content-wrapper { margin-left: 0; } /* Hide the sidebar when minimized on mobile */ #accordionSidebar.minimized { display: none; } /* Show a toggle button for small screens */ .sidebar-toggler { display: block; position: fixed; top: 10px; right: 10px; z-index: 1100; } } .minimal-section-title { font-size: 1.8rem; /* Slightly larger font size for emphasis */ font-weight: 500; /* Medium weight for a clean, modern look */ color: #333; /* Dark gray for a softer contrast than pure black */ border-left: 4px solid #007bff; /* A simple, colored left border for uniqueness */ padding-left: 15px; /* Space between the border and the text */ margin-bottom: 30px; /* Margin to separate the title from the content below */ text-transform: capitalize; /* Capitalize the first letter of each word for a polished look */ } .cool-separator hr { border: 0; height: 1px; background: linear-gradient(to right, #007bff, transparent, #007bff); opacity: 0.6; /* Make it a bit subtle */ margin: 20px 0; /* Spacing around the separator */ } .disabled { color: #ccc; /* Greyed out text */ pointer-events: none; /* Disable click events */ cursor: not-allowed; /* Change cursor to indicate it's disabled */ } /*skata */ .container-fluid { padding-bottom: 500px; } .card-header { background-color: #f8f9fa !important; /* Soft light gray */ color: #333; /* Dark gray for text */ font-size: 1.1rem; /* Slightly smaller text */ border-bottom: 1px solid #e0e0e0; /* Light border for separation */ } .card { border: 1px solid #e0e0e0; /* Subtle border around the card */ } .form-check-label, .alert, .btn { font-weight: 400 !important; /* Lighter weight for labels and buttons */ } .btn-primary { background-color: #007bff !important; /* Keep a softer blue for buttons */ border: none; } /* Add hover effect for list-group items */ .list-group-item:hover { background-color: #f8f9fa; /* Light gray background on hover */ } /* Make the active radio button visually distinct */ .form-check-input:checked + label { font-weight: bold; color: #007bff; /* Bootstrap primary color */ } .card-header { background-color: #f8f9fa !important; /* Soft light gray */ color: #333; /* Dark gray for text */ font-size: 1.1rem; /* Slightly smaller text */ border-bottom: 1px solid #e0e0e0; /* Light border for separation */ } .btn-view-models { background-color: #ffffff; color: #007bff; border: 2px solid #007bff; border-radius: 5px; padding: 10px 20px; font-size: 16px; font-weight: 500; text-transform: uppercase; transition: all 0.3s ease; display: inline-flex; align-items: center; justify-content: center; } .btn-view-models:hover { background-color: #007bff; color: #ffffff; border-color: #0056b3; /* Slightly darker blue for hover effect */ transform: translateY(-2px); /* Subtle lift effect */ box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3); /* Light shadow for depth */ } .btn-view-models i { font-size: 18px; /* Adjust icon size */ transition: all 0.3s ease; } .btn-view-models:hover i { transform: translateX( 5px ); /* Slide the icon slightly to the right on hover */ } .smooth-transition { opacity: 0; transition: opacity 0.5s ease-in-out; } .smooth-transition.show { opacity: 1; } .btn-group .btn { font-weight: 700; font-size: 15px; padding: 12px 25px; border-radius: 25px; /* Softer rounded edges */ border-width: 2px; /* Slightly thicker border for emphasis */ transition: all 0.4s ease; /* Smoother transition effect */ outline: none; /* Remove the default outline */ text-transform: uppercase; /* Make text uppercase for a bold look */ } .btn-outline-primary { color: #0066cc; /* A richer blue for better contrast */ border-color: #0066cc; background-color: #ffffff; /* White background for a clean look */ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Soft shadow for depth */ } .btn-outline-primary:hover { background-color: #0066cc; /* Blue background on hover */ color: #ffffff; /* White text on hover */ border-color: #005bb5; /* Slightly darker border on hover */ box-shadow: 0 4px 15px rgba(0, 102, 204, 0.3); /* Enhanced shadow on hover */ } .btn-outline-primary:focus, .btn-outline-primary:active { background-color: #005bb5; /* Darker blue when focused or active */ color: #ffffff; border-color: #005bb5; box-shadow: 0 4px 12px rgba(0, 91, 181, 0.4); /* Deeper shadow when active */ transform: translateY(2px); /* Button press effect */ } .btn[style*="display: none;"] { opacity: 0; /* Make the button invisible */ visibility: hidden; pointer-events: none; /* Disable interaction */ } /* Fade-in Animation */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Apply animation to the card container */ .animate-card { animation: fadeIn 0.5s ease forwards; } .animate-card-delay { animation: fadeIn 0.8s ease forwards; } /* Existing Loader Spinner */ .loader { display: inline-block; width: 1.5rem; height: 1.5rem; border: 2px solid rgba(0, 0, 0, 0.1); border-radius: 50%; border-top-color: #007bff; animation: spin 0.6s linear infinite; margin-left: 8px; } /* Keyframes for spinner animation */ @keyframes spin { to { transform: rotate(360deg); } } /* Loader Overlay */ .loader-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); /* Semi-transparent white background */ display: flex; justify-content: center; align-items: center; z-index: 10; /* Ensure it overlays the content */ } /* Spinner Loader */ .spinner-border { width: 3rem; height: 3rem; border: 4px solid rgba(0, 0, 0, 0.1); border-top-color: #007bff; /* Customize color */ border-radius: 50%; animation: spin 0.6s linear infinite; } /* Keyframes for spinner animation */ @keyframes spin { to { transform: rotate(360deg); } } /* Enhanced style for the modal trigger button */ .info-button { background: none; border: none; font-size: 1.2rem; color: #6c757d; cursor: pointer; transition: color 0.3s ease; } .info-button:hover { color: #007bff; } /* Sticky header row */ .sticky-top-table table thead tr { position: sticky; top: 0; background-color: #f1f1f1; /* Background color for sticky header */ color: #555; /* Text color for header */ font-weight: bold; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Shadow for sticky effect */ z-index: 10; } table th, .sticky-top-table table td { padding: 12px 15px; border: 1px solid #e0e0e0; /* Border for each cell */ text-align: left; } .sticky-top-table table tbody tr:nth-child(even) { background-color: #f9f9f9; } .sticky-top-table table tbody tr:nth-child(odd) { background-color: #ffffff; } /* Hover effect for rows */ .sticky-top-table table tbody tr:hover { background-color: #eaf1f8; /* Soft highlight on hover */ } /* Modal Styling */ #deleteFileModal .modal-content { border-radius: 4px; padding: 0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } #deleteFileModal .modal-header { padding: 0.5rem 1rem; border-bottom: none; } #deleteFileModal .modal-title { font-size: 1rem; color: #d9534f; } #deleteFileModal .modal-body { font-size: 0.9rem; color: #444; } /* Custom Buttons */ .custom-btn-secondary, .custom-btn-danger { font-size: 0.85rem; padding: 0.4rem 1rem; border-radius: 2px; cursor: pointer; transition: background-color 0.2s; } .custom-btn-secondary { color: #555; background-color: #f8f9fa; border: 1px solid #ddd; } .custom-btn-secondary:hover { background-color: #e2e6ea; } .custom-btn-danger { color: #fff; background-color: #d9534f; border: 1px solid transparent; } .custom-btn-danger:hover { background-color: #c9302c; } /* Delete icon next to file names */ .delete-file-icon { font-size: 1.2rem; color: #bbb; cursor: pointer; transition: color 0.2s; } .delete-file-icon:hover { color: #d9534f; } .custom-alert { display: flex; align-items: center; padding: 5px 10px; border-radius: 8px; background-color: #eafaf1; color: #28a745; font-size: 14px; max-width: 250px; opacity: 0; transform: translateY(-10px); transition: opacity 0.4s ease, transform 0.4s ease; } .custom-alert.show { opacity: 1; transform: translateY(0); } .loader i { font-size: 1.2em; color: #007bff; } .card-header h6 { font-size: 1rem; font-weight: 600; margin-right: auto; } .card-footer { font-size: 0.85rem; color: #6c757d; } /* Add to your CSS file */ .blur-effect { transition: filter 0.3s ease, opacity 0.3s ease; } /* Ensure the modal respects the maximum height */ #modelAnalysisModal .modal-content { max-height: 80vh; /* Adjust the maximum height as needed */ overflow-y: auto; /* Add vertical scrolling when content exceeds height */ } /* Style for the modal body */ #modelAnalysisModal .modal-body { padding: 20px; /* Add some padding for better readability */ } /* Optional: Keep the tabs navigation fixed at the top inside the modal */ #modelAnalysisModal .nav-tabs { position: sticky; top: 0; z-index: 1020; background-color: #f8f9fa; /* Match with modal header background */ border-bottom: 1px solid #dee2e6; } /* Optional: Add smooth scrolling */ #modelAnalysisModal .modal-content::-webkit-scrollbar { width: 8px; } #modelAnalysisModal .modal-content::-webkit-scrollbar-thumb { background-color: #6c757d; /* Darker thumb for scrollbar */ border-radius: 4px; } #modelAnalysisModal .modal-content::-webkit-scrollbar-track { background-color: #f8f9fa; /* Light track for scrollbar */ } /* Make the modal footer fixed to the bottom of the modal */ #modelAnalysisModal .modal-footer { position: sticky; /* Keep it at the bottom of the modal body */ bottom: 0; z-index: 1050; /* Ensure it appears above the modal body content */ background-color: #fff; /* Match the modal's background color */ border-top: 1px solid #dee2e6; /* Optional: Add a top border */ box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1); /* Optional: Add subtle shadow */ } /* Adjust the modal body to account for the footer's height */ #modelAnalysisModal .modal-body { max-height: calc(80vh - 60px); /* Subtract the approximate footer height */ overflow-y: auto; /* Enable scrolling if content exceeds height */ } /* Minimal animations and transitions */ .fade-in { opacity: 0; transform: translateY(20px); transition: all 0.5s ease-in-out; } .fade-in.visible { opacity: 1; transform: translateY(0); } /* Button hover effect */ .btn-outline-primary { border: 2px solid #007bff; color: #007bff; background: none; transition: all 0.3s ease-in-out; } .btn-outline-primary:hover { background: #007bff; color: #fff; transform: scale(1.05); } /* Card hover effect */ .feature-card { transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; } .feature-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); } /* Typography tweaks */ h1, h2, h3 { font-weight: 600; } p { font-size: 1rem; line-height: 1.6; } .separator { height: 2px; background-color: #ddd; width: 100px; margin: 20px auto; } .fade-in { animation: fadeIn 1s ease-in-out; } .btn-primary { transition: background-color 0.3s ease, transform 0.2s ease; } .btn-primary:hover { background-color: #0056b3; transform: scale(1.05); } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .carousel-control-prev-icon, .carousel-control-next-icon { width: 3rem; height: 3rem; } .carousel-indicators li { width: 1rem; height: 1rem; margin: 0 0.5rem; } #backToTop { position: fixed; bottom: 20px; right: 20px; display: none; z-index: 1000; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } #backToTop:hover { background-color: #007bff; color: white; } body.dark-mode { background-color: #121212; color: #ffffff; } .dark-mode .bg-light { background-color: #2a2a2a; } .dark-mode .text-dark { color: #ffffff; } .dark-mode .btn-primary { background-color: #0056b3; border-color: #0056b3; } /* Background Enhancements */ #home_intro { overflow: hidden; position: relative; background: linear-gradient(145deg, #f3f4f6, #ffffff); } #home_intro .background-shape { position: absolute; width: 180px; /* Reduced size */ height: 180px; /* Reduced size */ background: rgba(0, 123, 255, 0.2); border-radius: 50%; filter: blur(60px); z-index: 0; animation: float 5s ease-in-out infinite; } #home_intro .background-shape.shape-1 { top: -40px; left: -40px; } #home_intro .background-shape.shape-2 { bottom: -40px; right: -40px; animation-delay: 2s; } /* Keyframe Animation for Background Shapes */ @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(15px); } } /* Logo Styling */ #home_intro .logos .logo { max-height: 60px; /* Smaller logo size */ filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.1)); transition: transform 0.3s ease, filter 0.3s ease; } #home_intro .logos .logo:hover { transform: scale(1.1); filter: drop-shadow(0 5px 7px rgba(0, 0, 0, 0.2)); } /* Animation for Fading in */ .fade-in { animation: fadeIn 1s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Styling */ @media (max-width: 768px) { #home_intro .logos { flex-wrap: wrap; } #home_intro .logos .logo { margin-bottom: 8px; /* Reduced spacing */ } } /* Overall Styling */ .collapse { padding: 20px; line-height: 1.6; font-size: 16px; } .collapse h4 { font-weight: 600; text-align: center; margin-bottom: 20px; } .collapse ul { padding: 0; margin: 20px 0; list-style: none; } .collapse ul li { display: inline-block; margin: 0 15px; font-size: 16px; font-weight: 500; color: #495057; } .collapse ul li i { font-size: 20px; vertical-align: middle; } .collapse p { text-align: justify; margin: 10px 0; } .collapse a.btn { font-size: 14px; padding: 10px 20px; border: 1px solid #007bff; color: #007bff; transition: background-color 0.3s ease, color 0.3s ease; } .collapse a.btn:hover { background-color: #007bff; color: white; } .about-dashboard-section { background-color: #f8f9fa; padding: 60px 20px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .about-dashboard-section h2 { font-size: 1.75rem; font-weight: bold; color: #333; } .about-dashboard-section ul { list-style: none; padding: 0; } .about-dashboard-section li { display: flex; align-items: flex-start; } .about-dashboard-section i { font-size: 1.25rem; } .about-dashboard-section .btn-primary { background-color: #007bff; border-color: #007bff; transition: background-color 0.3s ease; } .about-dashboard-section .btn-primary:hover { background-color: #0056b3; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }