2025-05-02 15:22:17 +03:00

977 lines
19 KiB
SCSS

$color_1: #6c757d;
$color_2: #007bff;
$color_3: #555;
$color_4: #333;
$color_5: white;
$color_6: #666;
$color_7: #e3f2fd;
$color_8: #ffffff;
$color_9: #ccc;
$color_10: #0066cc;
$color_11: #d9534f;
$color_12: #444;
$color_13: #fff;
$color_14: #bbb;
$color_15: #28a745;
$color_16: #495057;
$background-color_1: #007bff;
$background-color_2: #fff;
$background-color_3: #0056b3;
$background-color_4: #f9f9f9;
$background-color_5: #e2e6ea;
$background-color_6: #f1f1f1;
$background-color_7: #e9ecef;
$background-color_8: rgba(255, 255, 255, 0.1);
$background-color_9: #f8f9fa;
$background-color_10: #ffffff;
$background-color_11: #0066cc;
$background-color_12: #005bb5;
$background-color_13: #eaf1f8;
$background-color_14: #d9534f;
$background-color_15: #c9302c;
$background-color_16: #eafaf1;
$background-color_17: #6c757d;
$background-color_18: #ddd;
$background-color_19: #121212;
$background-color_20: #2a2a2a;
$border-color_1: #007bff;
$border-color_2: #ccc;
$border-color_3: #0056b3;
$border-color_4: #0066cc;
$border-color_5: #005bb5;
$border-top-color_1: #007bff;
/* Smooth transitions for collapse/expand effect */
/* Arrow rotation */
/* Prevent scrollbar jumping due to margin collapse */
/* General form styling */
/* Ensure the table has proper padding and layout */
/* Range input styling */
/* Styling for the output value under the slider */
/* Button styling */
/* Action button row */
/* Preprocessing checkboxes styling */
/* Align preprocessing checkboxes in flexbox */
/* Responsive adjustments */
/* For the table wrapper */
/* Subtle card styling */
/* Card Body Styling */
/* Table Border Styles */
/* Centered Content for Better UX */
/* Responsive Padding */
/* Hover effect for dropdowns */
/* To ensure proper alignment of checkboxes within the flex row */
/* Ensure layout consistency */
/* Minimal button style */
/* Hover and active states */
/* Smaller and simplified upload button */
/* Adjust spacing for a minimalist feel */
/* Reduce padding around the form */
/* Centering the file upload section */
/* Wrapper and transitions */
/* Sidebar adjustments */
/* Minimized sidebar style */
/* Adjust main content based on sidebar size */
/* Ensure icons are visible in minimized state */
/* Sidebar link styles */
/* Responsive adjustments for small screens */
/* Hide the sidebar when minimized on mobile */
/* Show a toggle button for small screens */
/*skata */
/* Add hover effect for list-group items */
/* Make the active radio button visually distinct */
/* Fade-in Animation */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Apply animation to the card container */
/* Existing Loader Spinner */
/* Keyframes for spinner animation */
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Loader Overlay */
/* Spinner Loader */
/* Keyframes for spinner animation */
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* Enhanced style for the modal trigger button */
/* Sticky header row */
/* Hover effect for rows */
/* Modal Styling */
/* Custom Buttons */
/* Delete icon next to file names */
/* Add to your CSS file */
/* Ensure the modal respects the maximum height */
/* Style for the modal body */
/* Optional: Keep the tabs navigation fixed at the top inside the modal */
/* Optional: Add smooth scrolling */
/* Make the modal footer fixed to the bottom of the modal */
/* Adjust the modal body to account for the footer's height */
/* Minimal animations and transitions */
/* Button hover effect */
/* Card hover effect */
/* Typography tweaks */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Background Enhancements */
/* Keyframe Animation for Background Shapes */
@keyframes float {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(15px);
}
}
/* Logo Styling */
/* Animation for Fading in */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Responsive Styling */
/* Overall Styling */
#dropdown-div {
overflow: hidden;
transition: max-height 2s ease-out;
}
.arrow {
transition: transform 0.5s ease;
cursor: pointer;
}
.rotate-down {
transform: rotate(180deg);
}
.rotate-up {
transform: rotate(0deg);
}
html {
scroll-behavior: smooth;
overflow-anchor: none;
}
body {
scroll-behavior: smooth;
overflow-anchor: none;
overflow-y: scroll;
}
.form-group {
label {
font-size: 14px;
font-weight: 600;
color: $color_1;
}
margin-bottom: 1rem;
}
.selectpicker {
font-size: 14px;
padding: 8px;
}
.table-responsive {
max-height: 400px;
overflow-y: auto;
max-height: 500px;
}
.custom-range {
width: 100%;
}
#slider {
height: 8px;
background-color: $background-color_1;
border-radius: 5px;
&::-webkit-slider-thumb {
background-color: $background-color_2;
border: 2px solid #007bff;
height: 18px;
width: 18px;
border-radius: 50%;
}
&::-moz-range-thumb {
background-color: $background-color_2;
border: 2px solid #007bff;
height: 18px;
width: 18px;
border-radius: 50%;
}
&::-ms-thumb {
background-color: $background-color_2;
border: 2px solid #007bff;
height: 18px;
width: 18px;
border-radius: 50%;
}
}
#value {
font-size: 16px;
font-weight: bold;
text-align: center;
margin-top: 8px;
color: $color_2;
}
button.btn-primary {
font-size: 16px;
padding: 10px 20px;
background-color: $background-color_1;
border: none;
border-radius: 5px;
&:hover {
background-color: $background-color_3;
transition: background-color 0.3s ease;
}
}
.row.justify-content-center {
margin-top: 30px;
}
.form-check-inline {
.form-check-label {
margin-left: 5px;
font-size: 14px;
}
margin-right: 20px;
}
.d-flex.flex-wrap {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.table-bordered {
border: 1px solid #dee2e6;
border: 1px solid #ddd;
}
.card {
border-radius: 8px;
border: 1px solid #e0e0e0;
}
.card-body {
padding: 20px;
padding: 1rem;
}
.text-center {
text-align: center;
}
select.form-control {
&:hover {
border-color: $border-color_1;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}
&:focus {
border-color: $border-color_1;
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}
}
.form-check-input {
margin-top: 5px;
&:checked {
+ {
label {
font-weight: bold;
color: $color_2;
}
}
}
}
h6 {
margin-bottom: 10px;
}
.btn-dataset {
border: 1px solid #ddd;
background-color: $background-color_4;
color: $color_3;
transition: all 0.3s ease;
border-radius: 30px;
&:hover {
background-color: $background-color_5;
color: $color_4;
border-color: $border-color_2;
transform: scale(1.05);
}
i {
margin-right: 8px;
color: $color_6;
}
}
.btn-dataset.active {
background-color: $background-color_1;
color: $color_5;
border-color: $border-color_1;
i {
color: $color_5;
}
}
.dataset-btn {
display: block;
width: 100%;
padding: 0.5rem;
font-size: 0.875rem;
font-weight: 500;
color: $color_4;
background-color: $background-color_4;
border: 1px solid #ddd;
border-radius: 0.25rem;
text-align: center;
cursor: pointer;
transition: background-color 0.2s, color 0.2s;
&:hover {
background-color: $background-color_6;
}
}
.dataset-btn.active {
background-color: $background-color_7;
border-color: $border-color_1;
color: $color_2;
}
.btn-outline-primary {
padding: 0.4rem 0.75rem;
font-size: 0.875rem;
color: $color_10;
border-color: $border-color_4;
background-color: $background-color_10;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
border: 2px solid #007bff;
color: $color_2;
background: none;
transition: all 0.3s ease-in-out;
&:hover {
background-color: $background-color_11;
color: $color_8;
border-color: $border-color_5;
box-shadow: 0 4px 15px rgba(0, 102, 204, 0.3);
background: #007bff;
color: $color_13;
transform: scale(1.05);
}
&:focus {
background-color: $background-color_12;
color: $color_8;
border-color: $border-color_5;
box-shadow: 0 4px 12px rgba(0, 91, 181, 0.4);
transform: translateY(2px);
}
&:active {
background-color: $background-color_12;
color: $color_8;
border-color: $border-color_5;
box-shadow: 0 4px 12px rgba(0, 91, 181, 0.4);
transform: translateY(2px);
}
}
.mb-3 {
margin-bottom: 1rem !important;
}
.h4 {
font-size: 1.3rem !important;
}
.col-lg-5 {
max-width: 80%;
}
#wrapper {
transition: all 0.3s ease;
}
#content-wrapper {
transition: margin-left 0.3s ease;
margin-left: 14rem;
}
#accordionSidebar {
width: 14rem;
height: 100vh;
top: 0;
overflow-y: auto;
padding-top: 1rem;
z-index: 1000;
transition: width 0.3s ease;
}
#accordionSidebar.minimized {
width: 5rem;
.nav-item {
.nav-link {
span {
display: none;
}
}
}
.sidebar-brand-text {
display: none;
}
}
#content-wrapper.expanded {
margin-left: 14rem;
}
#content-wrapper.collapsed {
margin-left: 7rem;
}
.sidebar {
.nav-item {
.nav-link {
font-weight: 500;
color: $color_7;
transition: color 0.2s ease, background-color 0.2s ease;
&:hover {
color: $color_8;
background-color: $background-color_8;
}
}
.nav-link.active {
color: $color_8;
background-color: $background-color_8;
i {
color: $color_8;
}
}
}
}
.minimal-section-title {
font-size: 1.8rem;
font-weight: 500;
color: $color_4;
border-left: 4px solid #007bff;
padding-left: 15px;
margin-bottom: 30px;
text-transform: capitalize;
}
.cool-separator {
hr {
border: 0;
height: 1px;
background: linear-gradient(to right, #007bff, transparent, #007bff);
opacity: 0.6;
margin: 20px 0;
}
}
.disabled {
color: $color_9;
pointer-events: none;
cursor: not-allowed;
}
.container-fluid {
padding-bottom: 500px;
}
.card-header {
background-color: $background-color_9 !important;
color: $color_4;
font-size: 1.1rem;
border-bottom: 1px solid #e0e0e0;
background-color: $background-color_9 !important;
color: $color_4;
font-size: 1.1rem;
border-bottom: 1px solid #e0e0e0;
h6 {
font-size: 1rem;
font-weight: 600;
margin-right: auto;
}
}
.form-check-label {
font-weight: 400 !important;
}
.alert {
font-weight: 400 !important;
}
.btn {
font-weight: 400 !important;
}
.btn-primary {
background-color: $background-color_1 !important;
border: none;
transition: background-color 0.3s ease, transform 0.2s ease;
&:hover {
background-color: $background-color_3;
transform: scale(1.05);
}
}
.list-group-item {
&:hover {
background-color: $background-color_9;
}
}
.btn-view-models {
background-color: $background-color_10;
color: $color_2;
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;
&:hover {
background-color: $background-color_1;
color: $color_8;
border-color: $border-color_3;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
i {
transform: translateX(5px);
}
}
i {
font-size: 18px;
transition: all 0.3s ease;
}
}
.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;
border-width: 2px;
transition: all 0.4s ease;
outline: none;
text-transform: uppercase;
}
}
// .btn[style*="display: {
// none;"] {
// opacity: 0;
// visibility: hidden;
// pointer-events: none;
// }
// }
.animate-card {
animation: fadeIn 0.5s ease forwards;
}
.animate-card-delay {
animation: fadeIn 0.8s ease forwards;
}
.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: $border-top-color_1;
animation: spin 0.6s linear infinite;
margin-left: 8px;
i {
font-size: 1.2em;
color: $color_2;
}
}
.loader-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8);
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
}
.spinner-border {
width: 3rem;
height: 3rem;
border: 4px solid rgba(0, 0, 0, 0.1);
border-top-color: $border-top-color_1;
border-radius: 50%;
animation: spin 0.6s linear infinite;
}
.info-button {
background: none;
border: none;
font-size: 1.2rem;
color: $color_1;
cursor: pointer;
transition: color 0.3s ease;
&:hover {
color: $color_2;
}
}
.sticky-top-table {
table {
thead {
tr {
position: sticky;
top: 0;
background-color: $background-color_6;
color: $color_3;
font-weight: bold;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
z-index: 10;
}
}
td {
padding: 12px 15px;
border: 1px solid #e0e0e0;
text-align: left;
}
tbody {
tr {
&:nth-child(even) {
background-color: $background-color_4;
}
&:nth-child(odd) {
background-color: $background-color_10;
}
&:hover {
background-color: $background-color_13;
}
}
}
}
}
table {
th {
padding: 12px 15px;
border: 1px solid #e0e0e0;
text-align: left;
}
}
#deleteFileModal {
.modal-content {
border-radius: 4px;
padding: 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.modal-header {
padding: 0.5rem 1rem;
border-bottom: none;
}
.modal-title {
font-size: 1rem;
color: $color_11;
}
.modal-body {
font-size: 0.9rem;
color: $color_12;
}
}
.custom-btn-secondary {
font-size: 0.85rem;
padding: 0.4rem 1rem;
border-radius: 2px;
cursor: pointer;
transition: background-color 0.2s;
color: $color_3;
background-color: $background-color_9;
border: 1px solid #ddd;
&:hover {
background-color: $background-color_5;
}
}
.custom-btn-danger {
font-size: 0.85rem;
padding: 0.4rem 1rem;
border-radius: 2px;
cursor: pointer;
transition: background-color 0.2s;
color: $color_13;
background-color: $background-color_14;
border: 1px solid transparent;
&:hover {
background-color: $background-color_15;
}
}
.delete-file-icon {
font-size: 1.2rem;
color: $color_14;
cursor: pointer;
transition: color 0.2s;
&:hover {
color: $color_11;
}
}
.custom-alert {
display: flex;
align-items: center;
padding: 5px 10px;
border-radius: 8px;
background-color: $background-color_16;
color: $color_15;
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);
}
.card-footer {
font-size: 0.85rem;
color: $color_1;
}
.blur-effect {
transition: filter 0.3s ease, opacity 0.3s ease;
}
#modelAnalysisModal {
.modal-content {
max-height: 80vh;
overflow-y: auto;
&::-webkit-scrollbar {
width: 8px;
}
&::-webkit-scrollbar-thumb {
background-color: $background-color_17;
border-radius: 4px;
}
&::-webkit-scrollbar-track {
background-color: $background-color_9;
}
}
.modal-body {
padding: 20px;
max-height: calc(80vh - 60px);
overflow-y: auto;
}
.nav-tabs {
position: sticky;
top: 0;
z-index: 1020;
background-color: $background-color_9;
border-bottom: 1px solid #dee2e6;
}
.modal-footer {
position: sticky;
bottom: 0;
z-index: 1050;
background-color: $background-color_2;
border-top: 1px solid #dee2e6;
box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1);
}
}
.fade-in {
opacity: 0;
transform: translateY(20px);
transition: all 0.5s ease-in-out;
animation: fadeIn 1s ease-in-out;
animation: fadeIn 1s ease-in-out;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
.feature-card {
transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
&:hover {
transform: translateY(-5px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
}
h1 {
font-weight: 600;
}
h2 {
font-weight: 600;
}
h3 {
font-weight: 600;
}
p {
font-size: 1rem;
line-height: 1.6;
}
.separator {
height: 2px;
background-color: $background-color_18;
width: 100px;
margin: 20px auto;
}
.carousel-control-prev-icon {
width: 3rem;
height: 3rem;
}
.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);
&:hover {
background-color: $background-color_1;
color: $color_5;
}
}
body.dark-mode {
background-color: $background-color_19;
color: $color_8;
}
.dark-mode {
.bg-light {
background-color: $background-color_20;
}
.text-dark {
color: $color_8;
}
.btn-primary {
background-color: $background-color_3;
border-color: $border-color_3;
}
}
#home_intro {
overflow: hidden;
position: relative;
background: linear-gradient(145deg, #f3f4f6, #ffffff);
.background-shape {
position: absolute;
width: 180px;
height: 180px;
background: rgba(0, 123, 255, 0.2);
border-radius: 50%;
filter: blur(60px);
z-index: 0;
animation: float 5s ease-in-out infinite;
}
.background-shape.shape-1 {
top: -40px;
left: -40px;
}
.background-shape.shape-2 {
bottom: -40px;
right: -40px;
animation-delay: 2s;
}
.logos {
.logo {
max-height: 60px;
filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.1));
transition: transform 0.3s ease, filter 0.3s ease;
&:hover {
transform: scale(1.1);
filter: drop-shadow(0 5px 7px rgba(0, 0, 0, 0.2));
}
}
}
}
.collapse {
padding: 20px;
line-height: 1.6;
font-size: 16px;
h4 {
font-weight: 600;
text-align: center;
margin-bottom: 20px;
}
ul {
padding: 0;
margin: 20px 0;
list-style: none;
li {
display: inline-block;
margin: 0 15px;
font-size: 16px;
font-weight: 500;
color: $color_16;
i {
font-size: 20px;
vertical-align: middle;
}
}
}
p {
text-align: justify;
margin: 10px 0;
}
a.btn {
font-size: 14px;
padding: 10px 20px;
border: 1px solid #007bff;
color: $color_2;
transition: background-color 0.3s ease, color 0.3s ease;
&:hover {
background-color: $background-color_1;
color: $color_5;
}
}
}
@media (max-width: 768px) {
.form-group {
margin-bottom: 15px;
}
.form-row {
.form-group {
margin-bottom: 10px;
}
}
.card-body {
padding: 15px;
}
#accordionSidebar {
width: 100%;
height: auto;
position: relative;
transition: none;
}
#content-wrapper {
margin-left: 0;
}
#accordionSidebar.minimized {
display: none;
}
.sidebar-toggler {
display: block;
position: fixed;
top: 10px;
right: 10px;
z-index: 1100;
}
#home_intro {
.logos {
flex-wrap: wrap;
.logo {
margin-bottom: 8px;
}
}
}
}
.plotly_fig {
resize: vertical;
overflow: hidden;
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
}