1089 lines
21 KiB
CSS
1089 lines
21 KiB
CSS
/* 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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|