/*Overriding Colors*/ :root { --bs-primary: #76599a; --bs-secondary: #b14f9d; --bs-success: #f8e1a9; --bs-info: #423372; --bs-warning: #eb7f31; --bs-danger: #9c2d66; } /* Overriding the background gradient and text colors */ .bg-gradient-success { background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); } .shadow-success { box-shadow: 0px 4px 20px 0px rgba(118, 89, 154, 0.5); /* Adjusting shadow color */ } .border-radius-lg { border-radius: 1rem; /* Assuming you want to keep the large border-radius */ } .text-white { color: #f8e1a9 !important; /* Adjust text to the EveAI success color */ } .text-sm { font-size: 0.875rem; /* Adjust size if needed, keeping original */ } /* Override for the link with text-success and text-gradient classes */ .text-success { color: var(--bs-primary) !important; /* Use EveAI primary color */ } .text-gradient { background-image: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .font-weight-bold { font-weight: 700; /* Retain bold text */ } /* Navbar customization */ .navbar-light .navbar-brand { color: var(--bs-primary) !important; /* Primary color for the brand text */ } .navbar-light .navbar-nav .nav-link { color: var(--bs-secondary) !important; /* Secondary color for the nav links */ } /* Ensure consistent alignment for all dropdown icons */ .navbar-nav .nav-link i.material-icons { font-size: 24px; /* Ensures all icons are the same size */ vertical-align: middle; /* Align icons vertically with text */ margin-right: 8px; /* Space between icon and text */ line-height: 1; /* Prevents misalignment due to line-height issues */ } .navbar-nav .nav-link { display: flex; align-items: center; /* Aligns icon and text vertically */ padding: 0; /* Remove any additional padding */ } /* Adjust the size and spacing of the material-symbols-outlined icons */ .navbar-nav .nav-link .material-symbols-outlined { font-size: 20px; /* Adjust the icon size */ vertical-align: middle; /* Ensure vertical alignment with text */ margin-right: 8px; /* Add space between the icon and the text */ line-height: 1; /* Maintain alignment */ } .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: var(--bs-primary) !important; /* Primary color on hover/focus */ } .bg-white { background-color: var(--bs-light) !important; /* Adjust the background to a custom light color if needed */ } .btn.bg-gradient-primary { background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); color: var(--bs-white) !important; /* Ensures text is readable on the gradient */ border: none; } .navbar-toggler .navbar-toggler-bar { background-color: var(--bs-secondary); /* Adjusts color of the toggler bars */ } .dropdown-menu { background-color: var(--bs-light); /* Light background for dropdown */ border-radius: 0.375rem; /* Retains rounded corners */ } .dropdown-item { color: var(--bs-primary) !important; /* Primary color for dropdown items */ } .dropdown-item:hover, .dropdown-item:focus { background-color: var(--bs-secondary) !important; /* Secondary color for hover/focus background */ color: var(--bs-white) !important; /* White text on hover/focus */ } .btn.bg-gradient-primary { background: linear-gradient(90deg, var(--bs-primary) 0%, var(--bs-secondary) 100%); color: var(--bs-white) !important; } /* Page header customization */ .page-header { background-size: cover; background-position: center; min-height: 25vh; position: relative; } .page-header .mask { background: linear-gradient(90deg, var(--bs-primary), var(--bs-secondary)) !important; /* Gradient overlay */ opacity: 0.8; /* Adjust opacity to let the background image show through */ } .page-header h1 { color: var(--bs-success) !important; /* Use the success color for the header text */ margin-top: -1.5rem; /* Adjusted margin to align text properly */ } .page-header p.lead { color: var(--bs-info) !important; /* Use the info color for the lead text */ padding-left: 1.5rem; padding-right: 1.5rem; } /* Ensure consistent padding */ .page-header .container { padding-top: 3rem; padding-bottom: 3rem; } .page-header .col-lg-7 { margin-top: -5rem; /* Adjust margin to improve vertical alignment */ } /* Card and table customization */ .card { border: 1px solid var(--bs-secondary) !important; /* Secondary color for the card border */ border-radius: 0.5rem; /* Keeps the border-radius consistent */ box-shadow: 0 4px 8px rgba(118, 89, 154, 0.2); /* Soft shadow with primary color */ } .table { color: var(--bs-body-color) !important; /* Ensure the text color matches the theme */ background-color: var(--bs-light) !important; /* Light background color */ border-collapse: separate !important; /* Ensure borders do not collapse */ border-spacing: 0; /* Remove spacing between table cells */ border-radius: 0.375rem; /* Rounded corners */ overflow: hidden; /* Ensure the rounded corners apply to the entire table */ border: 1px solid var(--bs-secondary) !important; /* Apply border with secondary color */ } .table thead th { color: var(--bs-info) !important; /* Info color for the table headers */ background-color: var(--bs-light) !important; /* Background for table headers */ border-bottom: 1px solid var(--bs-secondary) !important; /* Secondary color for the header bottom border */ } /* Ensures corners are colored */ .table thead th:first-child { border-top-left-radius: 0.375rem !important; } .table thead th:last-child { border-top-right-radius: 0.375rem !important; } .table tbody tr:last-child td:first-child { border-bottom-left-radius: 0.375rem !important; } .table tbody tr:last-child td:last-child { border-bottom-right-radius: 0.375rem !important; } .table tbody tr { border-top: 1px solid var(--bs-gray-300) !important; /* Subtle border between rows */ } .table tbody tr:hover { background-color: var(--bs-secondary) !important; /* Secondary color on row hover */ color: var(--bs-white) !important; /* White text on hover */ } .table tbody tr:hover a, .table tbody tr:hover p, .table tbody tr:hover td { color: var(--bs-white) !important; /* Ensure all text, links, and paragraphs change to white */ } .table tbody tr:hover .text-xs { color: var(--bs-white) !important; /* Ensure the smaller text also changes to white */ } .table .text-xs { color: var(--bs-body-color) !important; /* Consistent text color in the table cells */ } input[type="radio"] { accent-color: var(--bs-primary); /* Primary color for radio buttons */ } /* Buttons customization */ .btn-primary { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: var(--bs-white) !important; } .btn-secondary { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: var(--bs-white) !important; } .btn-success { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; color: var(--bs-white) !important; } /* Adjust the form group margin */ .form-group { margin-top: 1.5rem; /* Adjust for better spacing */ } /* Card footer customization */ .card-footer { /*background-color: var(--bs-light) !important; !* Light background for the footer *!*/ padding-top: 1rem; /* Adjust padding for consistent spacing */ padding-bottom: 1rem; /* Adjust padding for consistent spacing */ /*border-top: 1px solid var(--bs-secondary) !important; !* Border with secondary color *!*/ padding-left: 0 !important; padding-right: 0 !important; } .card-footer .pagination { padding-left: 0 !important; /* Remove extra padding */ padding-right: 0 !important; /* Remove extra padding */ } /* Pagination customization */ .pagination { display: flex; justify-content: center; padding-left: 0; list-style: none; border-radius: 0.375rem; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; /* Add some padding inside the pagination */ padding-right: 0 !important; /* Add some padding inside the pagination */ } .pagination .page-item { margin-left: 0 !important; margin-right: 0 !important; } .page-item.disabled .page-link { color: var(--bs-gray-500) !important; /* Disabled state color */ background-color: var(--bs-gray-200) !important; /* Disabled state background */ border-color: var(--bs-gray-300) !important; /* Disabled state border */ } .page-item.active .page-link { z-index: 1; color: var(--bs-white) !important; /* Active page color */ background-color: var(--bs-primary) !important; /* Active page background */ border-color: var(--bs-primary) !important; /* Active page border */ } .page-item .page-link { border-radius: 50% !important; /* Ensure circular buttons */ margin: 0 5px; /* Add some spacing between buttons */ } .page-link { color: var(--bs-primary) !important; /* Default link color */ background-color: var(--bs-light) !important; /* Light background for links */ border: 1px solid var(--bs-secondary) !important; /* Border with secondary color */ border-radius: 0.375rem; /* Rounded corners */ padding: 0.5rem 0.75rem; margin: 0 0.25rem; /* Adjust margin for spacing */ } .page-link:hover { color: var(--bs-white) !important; /* Hover state text color */ background-color: var(--bs-secondary) !important; /* Hover state background */ border-color: var(--bs-secondary) !important; /* Hover state border */ } .page-link i.fa { margin-right: 0.25rem; /* Add spacing between icon and text */ } /* Align text centrally */ .text-center { text-align: center !important; } /* Form and Input Fields */ .form-group label.form-label { color: var(--bs-secondary) !important; /* Secondary color for labels */ font-weight: 500; /* Slightly bolder labels */ } .form-group:last-of-type { margin-bottom: 2rem; /* Adjust this value to control spacing */ } .form-control { background-color: var(--bs-light) !important; /* Light background for input fields */ border-color: var(--bs-secondary) !important; /* Secondary color for borders */ color: var(--bs-body-color) !important; /* Text color consistent with the theme */ } .form-control:disabled { background-color: var(--bs-gray-100) !important; /* Gray background for disabled fields */ color: var(--bs-gray-600) !important; /* Dimmed text color for disabled fields */ } .form-check-input:checked { background-color: var(--bs-primary) !important; /* Primary color for checked checkboxes */ border-color: var(--bs-primary) !important; /* Primary color for checkbox border */ } .form-check-label { color: var(--bs-body-color) !important; /* Consistent text color for check labels */ } /* Tabs Navigation */ .nav-pills .nav-link { color: var(--bs-primary) !important; /* Primary color for inactive tab text */ border-radius: 0.375rem !important; /* Rounded corners for tabs */ transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transitions */ } .nav-pills .nav-link.active { background-color: var(--bs-primary) !important; /* Primary background for active tab */ color: var(--bs-white) !important; /* White text for active tab */ } .nav-pills .nav-link:hover { background-color: var(--bs-secondary) !important; /* Secondary background on hover */ color: var(--bs-white) !important; /* White text on hover */ } /* Tabs Content */ .tab-pane { padding-top: 1rem; /* Consistent padding inside tabs */ } .moving-tab { background-color: var(--bs-primary) !important; /* Primary color for the moving tab indicator */ } /* Buttons */ .btn-primary:hover { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; } #copy-message { color: var(--bs-success) !important; /* Success color for the copy message */ } /* Danger Button Styling */ .btn-danger { background-color: var(--bs-danger) !important; /* Use the danger color from the EveAI theme */ border-color: var(--bs-danger) !important; color: var(--bs-white) !important; /* Ensure text is white for readability */ transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transition on hover */ } .btn-danger:hover { background-color: darken(var(--bs-danger), 10%) !important; /* Darken the background on hover */ border-color: darken(var(--bs-danger), 10%) !important; /* Darken the border on hover */ color: var(--bs-white) !important; /* Ensure the text remains white and readable */ } /* Success Alert Styling */ .alert-success { background-color: var(--bs-success) !important; /* EveAI success background color */ color: var(--bs-dark) !important; /* Dark color for the text for better readability */ border-color: var(--bs-success) !important; /* Matching border color */ border-radius: 0.375rem; /* Rounded corners for the alert box */ padding: 1rem; /* Consistent padding */ box-shadow: 0px 4px 10px rgba(118, 89, 154, 0.2); /* Soft shadow for some depth */ } .alert-success .alert-heading { color: var(--bs-dark) !important; /* Ensure the heading stands out */ font-weight: 600; /* Slightly bolder heading */ } .alert-success p { margin-bottom: 0; /* Remove extra margin from paragraphs inside alerts */ } .form-control { border: 1px solid #d2d6da; padding: 0.625rem 0.75rem; } .form-control:focus { color: #495057; background-color: transparent; border-color: #d2d6da; outline: 0; box-shadow: none; } /* Custom styles for chat session view */ .accordion-button:not(.collapsed) { background-color: var(--bs-primary); color: var(--bs-white); } .accordion-button:focus { box-shadow: 0 0 0 0.25rem rgba(118, 89, 154, 0.25); } .interaction-question { font-size: 1rem; /* Normal text size */ } .interaction-icons { display: flex; align-items: center; } .interaction-icons .material-icons { font-size: 24px; margin-left: 8px; } .thumb-icon.filled { color: var(--bs-success); } .thumb-icon.outlined { color: var(--thumb-icon-outlined); } /* Algorithm icon colors */ .algorithm-icon.rag_tenant { color: var(--algorithm-color-rag-tenant); } .algorithm-icon.rag_wikipedia { color: var(--algorithm-color-rag-wikipedia); } .algorithm-icon.rag_google { color: var(--algorithm-color-rag-google); } .algorithm-icon.llm { color: var(--algorithm-color-llm); } .accordion-body { background-color: var(--bs-light); } /* Markdown content styles */ .markdown-content { font-size: 1rem; line-height: 1.5; } .markdown-content p { margin-bottom: 1rem; } .markdown-content h1, .markdown-content h2, .markdown-content h3, .markdown-content h4, .markdown-content h5, .markdown-content h6 { margin-top: 1.5rem; margin-bottom: 1rem; } .markdown-content ul, .markdown-content ol { margin-bottom: 1rem; padding-left: 2rem; } .markdown-content code { background-color: #f8f9fa; padding: 0.2em 0.4em; border-radius: 3px; } .markdown-content pre { background-color: #f8f9fa; padding: 1rem; border-radius: 5px; overflow-x: auto; } /* Hide Select2's custom elements */ .select2-container-hidden { position: absolute !important; left: -9999px !important; } .select2-dropdown-hidden { display: none !important; } /* Ensure the original select is visible and styled */ select.select2 { display: block !important; width: 100% !important; height: auto !important; padding: .375rem .75rem !important; font-size: 1rem !important; line-height: 1.5 !important; color: #495057 !important; background-color: #fff !important; background-clip: padding-box !important; border: 1px solid #ced4da !important; border-radius: .25rem !important; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out !important; } /* Style for multiple select */ select.select2[multiple] { height: auto !important; } /* REQUIRED FIELD SETTINGS ---------------------------------------------------- */ /* Required field indicator styling */ .field-label-wrapper { display: flex; align-items: baseline; /* Changed from center to baseline for proper text alignment */ gap: 0.25rem; } .required-field-indicator { display: inline-flex; align-items: baseline; /* Match the wrapper's alignment */ } .required-field-indicator .required-icon { font-size: 0.7rem; transition: transform 0.2s ease-in-out; opacity: 0.8; line-height: 1; /* Ensure proper vertical alignment */ } /* Hover animation */ .field-label-wrapper:hover .required-icon { transform: scale(1.2); opacity: 1; } /* Animation when field is invalid */ .is-invalid + .field-label-wrapper .required-icon { color: var(--bs-danger); animation: pulse 1s infinite; } @keyframes pulse { 0% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.2); opacity: 1; } 100% { transform: scale(1); opacity: 0.8; } } /* Hide visually but maintain accessibility */ .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* TAB ERROR STYLES ----------------------------------------------------------- */ /* Style for tabs with errors */ .nav-link.has-error { position: relative; } .nav-link.has-error::after { content: ''; position: absolute; top: 0; right: 0; width: 8px; height: 8px; background-color: var(--bs-danger); border-radius: 50%; transform: translate(50%, -50%); } /* Enhance the invalid field visualization */ .form-control:invalid { border-color: var(--bs-danger); box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } /* Add smooth transition for tab changes */ .tab-pane { transition: opacity 0.15s linear; } .tab-pane.fade { opacity: 0; } .tab-pane.fade.show { opacity: 1; }