.grayed-out { background-color: #d3d3d3; /* Light gray background */ color: #a9a9a9; /* Dark gray text color */ border-color: #a9a9a9; /* Dark gray border color */ opacity: 0.5; font-size: 14px !important; justify-content: center; /* Horizontally center the text */ padding: 0px 0px !important; display: flex; align-items: center; height: 30px; width: 120px; margin-top: 10px; margin-bottom: 10px; margin-right: 10px; } /* Set a minimum height for the navbar to ensure it doesn't shrink */ .navbar { min-height: 56px; /* Set minimum height instead of fixed height */ padding: 0 15px !important; /* Adjust padding for content */ transition: height 0.3s ease; /* Smooth transition when collapsing */ } /* Ensure the navbar brand logo and text are aligned properly */ .navbar .navbar-brand { min-height: 56px; /* Ensure the brand/logo fits within the navbar */ display: flex; align-items: center; /* Vertically center logo and text */ } /* Adjust logo height to fit within the navbar */ .navbar .navbar-brand img { height: 40px; /* Adjust the logo height to fit */ width: auto; /* Maintain the aspect ratio */ } /* Ensure the text size stays consistent */ .navbar .navbar-brand span { font-size: 16px !important; /* Consistent font size */ } .navbar-nav .nav-item { margin-left: 1rem; } .navbar-logo { height: 10%; /* Adjust this percentage as needed */ max-height: 60px; /* Set a max-height to prevent it from growing too large */ object-fit: contain; /* Ensure the image maintains its aspect ratio */ } .tab-stock-prices .tab-label::before { font-family: "Font Awesome 5 Free"; content: "\f201"; /* FontAwesome icon for chart-line */ margin-right: 8px; } .tab-stock-news .tab-label::before { font-family: "Font Awesome 5 Free"; content: "\f1ea"; /* FontAwesome icon for newspaper */ margin-right: 8px; } .tab-indexed-comparison .tab-label::before { font-family: "Font Awesome 5 Free"; content: "\f24e"; /* FontAwesome icon for balance-scale */ margin-right: 8px; } .tab-investment-simulation .tab-label::before { font-family: "Font Awesome 5 Free"; content: "\f1ec"; /* FontAwesome icon for calculator */ margin-right: 8px; } @media (max-width: 768px) { .desktop-tabs { display: none !important; /* Hide the tabs on mobile devices */ } } @media (min-width: 768px) { .footer-nav { display: none !important; /* Hide the sticky footer on larger screens */ } } @media (max-width: 768px) { .desktop-filters { display: none !important; /* Hide filters collapse on mobile */ } } @media (min-width: 768px) { .mobile-filters { display: none !important; /* Hide sidebar on desktop */ } } #chatbot-conversation { background-color: var(--bs-secondary) padding: 15px; border-radius: 10px; height: 400px; /* Fixed height */ overflow-y: auto; /* Enable scrolling */ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } #chatbot-conversation p { padding: 10px; border-radius: 10px; margin: 5px 0; } #chatbot-conversation p.user { background-color: var(--bs-success); /*color: black;*/ align-self: flex-end; text-align: left; color: white; margin-left: 30%; } /* Fade-in effect */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { animation: fadeIn 0.5s ease-in; } #chatbot-conversation .chatbot-response { animation: fadeIn 1s ease-in-out; /* Apply the fade-in animation */ background-color: #e9ecef; color: black; margin-right: 30%; padding: 10px; border-radius: 10px; display: flex; align-items: flex-start; /* Align items to the top */ opacity: 0; /* Start hidden */ } #chatbot-conversation .chatbot-response.fade-in { opacity: 1; /* Fully visible */ } #chatbot-conversation .chatbot-response .robot-avatar { font-size: 25px; margin-right: 10px; margin-top: 5px; /* Adjust margin to align better with text */ } #chatbot-conversation .chatbot-response .chatbot-text { font-size: 16px; display: block; white-space: pre-wrap; /* Preserve line breaks */ } /* Other styling for inputs and buttons */ #chatbot-input { border-radius: 10px; border: 1px solid #ccc; padding: 10px; resize: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } #send-button, #clear-button { border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .typing-indicator { font-style: italic; color: gray; animation: blink 1s steps(5, start) infinite; } .final-response { opacity: 0; transition: opacity 0.5s ease-in; } .final-response.shown { opacity: 1; } @keyframes blink { 50% { opacity: 0; } } .carousel-caption { background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent background */ padding: 10px; border-radius: 10px; } .custom-carousel .carousel-item img { max-height: 70vh; /* Set the maximum height to 60% of the viewport height */ width: auto !important; /* Ensure the width adjusts automatically to maintain aspect ratio */ margin: 0 auto; /* Center the image horizontally */ display: block; /* Treat the image as a block-level element */ max-width: 100%; } .carousel-caption-header { color: #ffffff; font-weight: bold; font-size: 12px; } .carousel-caption p { color: #dddddd; } /* Custom CSS for carousel captions */ .custom-carousel .carousel-caption { position: relative; /* Make the caption relative to its normal position */ bottom: 0; /* Align caption to the bottom */ left: 50%; transform: translateX(-50%); width: 90%; /* Limit the width of the caption */ background-color: rgba(0, 0, 0, 0.3); /* Semi-transparent background for better readability */ padding: 10px; /* Padding inside the caption box */ color: white; text-align: center; font-size: 1rem; /* Adjust font size */ margin-top: 10px; /* Add margin to space out the caption from the image */ } /* Mobile-specific styling */ @media (max-width: 768px) { .custom-carousel .carousel-caption { position: relative; bottom: 0; /* Ensure the caption is above the indicator */ margin-top: 0; /* Remove margin */ margin-bottom: 10px; /* Add margin below the caption */ font-size: 0.8rem; /* Slightly smaller font size on mobile */ padding: 5px; /* Less padding on mobile */ } .custom-carousel .carousel-indicators { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); } } /* Footer Container */ .footer { background-color: #3b5e82; /* Light grey background color */ color: #e1e6eb; /* Darker text color for readability */ padding:10px 0; /* Reduce top and bottom padding */ font-size: 14px; /* Smaller font size */ text-align: center; margin-top:200px; margin-bottom:30px; /* Center text in the footer */ height:180px } /* Links in the Footer */ .footer a.footer-link { color: #e1e6eb; /* Darker text color for links */ text-decoration: none; /* Remove underline */ transition: color 0.3s ease; } .footer a.footer-link:hover { color: #007bff; /* Bootstrap primary color on hover */ } /* Footer Headings */ .footer h5 { font-size: 16px; /* Slightly larger font for headings */ margin-bottom: 15px; /* Space below headings */ font-weight: bold; /* Make headings bold */ color: #e1e6eb; /* Darker heading color */ } /* Footer Lists */ .footer ul { padding: 0; list-style-type: none; /* Remove list bullets */ display: inline-block; /* Make the list inline */ margin: 0 auto; /* Center the list */ } /* Center List Items */ .footer ul li { margin-bottom: 8px; /* Reduce space between list items */ text-align: center; /* Center each list item */ } /* Footer Bottom Row */ .footer .text-center { font-size: 13px; /* Small text for copyright */ margin-top: 15px; /* Space above the copyright text */ color: #e1e6eb; /* Muted grey color for copyright */ text-align: center; margin-bottom:40px/* Ensure copyright text is centered */ } /* Style for the checkmark list */ .checked-list { list-style-type: none; /* Remove the default bullets */ padding-left: 0; /* Remove left padding */ } .checked-list li { position: relative; /* Position the checkmark */ padding-left: 25px; /* Add padding to the left for the checkmark */ margin-bottom: 10px; /* Space between items */ } .checked-list li::before { content: "✔"; /* Unicode for checkmark */ color: white !important; /* Set the color of the checkmark */ position: absolute; /* Position the checkmark absolutely */ left: 0; /* Align it to the left */ top: 0; /* Align it to the top */ font-size: 1.2em; /* Slightly larger checkmark */ } .small-button { font-size: 14px !important; justify-content: center; /* Horizontally center the text */ padding: 0px 0px !important; display: flex; align-items: center; height: 30px; width: 80px; margin-top: 10px; margin-bottom: 10px; margin-right: 10px; } .custom-table td, .custom-table th { padding: 2px 5px !important; /* Reduce padding */ line-height: 1.2 !important; /* Adjust line height */ height: 20px !important; /* Set a fixed height */ vertical-align: middle !important; /* Ensure vertical alignment is middle */ } .custom-table { border-spacing: 0 !important; /* Remove extra space between cells */ } .custom-table .btn-link { padding: 0 !important; /* Remove padding */ height: 20px !important; /* Set the desired height */ line-height: 1.2 !important; /* Set the desired line height */ } .footer-nav { display: flex; flex-wrap: nowrap; /* Prevent wrapping to new lines */ overflow-x: auto; /* Enable horizontal scrolling */ -webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS */ background-color: var(--bs-light); /* Light background */ border-top: 5px solid var(--bs-primary); /* Border at the top of the footer */ padding: 10px 0; /* Padding for the entire footer nav */ position: fixed; bottom: 0; width: 100%; /* Full width */ color: var(--bs-primary); font-weight: bold; z-index: 1500; /* Ensure it stays above other content */ white-space: nowrap; /* Prevent wrapping of nav items */ scroll-behavior: smooth; /* Smooth scroll */ overflow-y: hidden; /* Disable vertical scrolling */ } /* Desktop-specific styles */ @media (min-width: 769px) { /* Adjusted to 769px for desktop */ .footer-nav { display: none !important; /* Hide the sticky footer on larger screens */ } } /* Mobile-specific styles */ @media (max-width: 768px) { .footer-nav { display: flex !important; /* Show the sticky footer on mobile */ } } /* Ensure the navbar items remain in one line and scrollable */ .footer-nav { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; background-color: var(--bs-light); border-top: 2px solid var(--bs-primary); padding: 10px 0; position: fixed; bottom: 0; width: 100%; z-index: 1500; white-space: nowrap; /* Prevent wrapping of nav items */ scroll-behavior: smooth; overflow-y: hidden; box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.3); /* Horizontal offset, Vertical offset, Blur radius, Color */ } /* Wrapper to hold the footer and gradient */ .footer-nav-wrapper { position: relative; /* Relative positioning for gradient */ width: 100%; } /* The gradient stays fixed at the right of the screen */ .footer-gradient-right { content: ""; position: fixed; /* Stay fixed to the viewport */ right: 0; bottom: 0px; top: auto; /* Ensure it's at the bottom of the viewport */ width: 50px; /* Adjust width as needed */ height: 64px; /* Adjust height if needed */ background: linear-gradient(to left, rgba(0, 0, 0, 0.3), transparent); pointer-events: none; /* Ensure it doesn't block scrolling */ z-index: 1600; /* Ensure it's on top of the footer */ } /* Show the gradient only on mobile viewports */ @media (min-width: 768px) { .footer-gradient-right { display: none; /* Hide the gradient on larger screens */ } } .footer-nav .nav-item { flex: 0 0 auto; } .footer-nav .nav-link { white-space: nowrap; padding: 10px 10px; font-size: 14px; color: var(--bs-dark); text-align: center; min-width: 80px; transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; } .footer-nav .nav-link.active { background-color: var(--bs-primary); color: white !important; border-radius: 8px; border: 2px solid white; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); } .footer-nav .nav-link:hover:not(.active) { background-color: var(--bs-light); color: var(--bs-primary); border-radius: 5px; } .footer-nav .nav-scroll::-webkit-scrollbar { display: none; } .footer-nav .nav-scroll { -ms-overflow-style: none; scrollbar-width: none; } .desktop-only { display: none; } .mobile-only { display: block; } @media (min-width: 768px) { .desktop-only { display: block; } .mobile-only { display: none; } } #filters-collapse .card { border-color: #ccc; /* Optional: border color */ background-color: var(--bs-light); color: var(--bs-dark); } /* Add padding and other styling for the sidebar */ #filters-collapse .card-body { padding: 15px; border-radius: 8px; /* Optional: Add some border radius for a softer look */ margin-bottom:10px } #filters-collapse .card { margin-bottom:70px } #filters-collapse { /*position: fixed;*/ top: 65px; /* Adjust this value to leave space for the button */ left: 0; /*width: 85%; /* Set to 80% width for mobile */ z-index: 1000; /* Ensure it stays above other elements */ overflow-y: auto; /* Allow scrolling if the content exceeds screen height */ /*max-height: calc(100vh - 160px); /* Adjust height dynamically based on the top space */ display: none; /* Hide collapse by default */ } @media (min-width: 768px) { #filters-collapse { display: block !important; /*position: fixed !important; /* Make the sidebar sticky */ top: 90px; /* Stick to the top of the viewport */ /*max-width:450px; /*height: 900px; /* Full height for the sidebar */ border-radius: 8px; /* Optional: Add slight border radius */ padding: 10px; /* Adds internal spacing instead of margin */ box-sizing: border-box; /* Ensure padding doesn't affect width */ order: 1px solid #ddd; /* Optional: Add a border for clarity */ padding-right: 10px; /* Optional: Add padding to the right for scrollbar spacing *//* Add margin at the bottom to avoid cutting off content */ } /* Hide the toggle button on desktop */ #toggle-filters-button { display: none; } } @media (max-width: 767px) { #filters-collapse { display: none; /* Initially hidden */ position: fixed; top: 64px; /* Ensure collapse starts below the button */ /*width: 70%; /* Set the width to 80% for mobile */ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);*/ height: 60%; /* Shadow around the entire box */ max-height:500px; } #filters-collapse.show { display: block; /* Show collapse when triggered on mobile */ } /* Toggle button should be visible on mobile */ #toggle-filters-button { display: block; } } a { cursor: pointer; text-decoration: underline; color: #007bff; } a:hover { color: #0056b3; } @media (max-width: 768px) { .footer-nav { display: flex !important; /* Ensure the sticky footer is always visible on mobile */ } } @media (min-width: 768px) { .footer-nav { display: none !important; /* Hide the sticky footer on larger screens */ } } /* Hide the sticky footer by default */ #sticky-footer-container { display: none; } /* Show the sticky footer only on mobile screens */ @media (max-width: 768px) { #sticky-footer-container { display: block; } } /* Overlay styling */ .mobile-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent black */ z-index: 999; /* Ensure it is above other elements but below the sidebar */ } /* Ensure the overlay is only visible on mobile */ @media (min-width: 768px) { .mobile-overlay { display: none !important; /* Hide the overlay on larger screens */ } } /* Make sure the toggle button stays on top of everything */ #toggle-filters-button { z-index: 1001; /* Ensure the button is above the overlay */ position: fixed; /* Keep the button fixed */ top: 90px; /* Adjust position as needed */ left: 10px; /* Adjust left position */ margin-bottom: 15px; } @media (min-width: 768px) { #toggle-filters-button { display: none; /* Hide the button on desktop */ } } /* Sidebar collapse container */ #filters-collapse { z-index: 1000; /* Ensure it is above the overlay */ } /* Custom styling for dcc.Dropdown */ .custom-dropdown .Select__control, .custom-dropdown .css-1hwfws3 { border: 2px solid #FF5733 !important; /* Highlighted border color */ background-color: #f0f8ff !important; /* Light background color */ box-shadow: none !important; /* Remove the default shadow */ } .custom-dropdown .Select__menu, .custom-dropdown .css-26l3qy-menu { background-color: #f0f8ff !important; /* Dropdown menu background color */ } .custom-dropdown .Select__option--is-focused, .custom-dropdown .css-1n7v3ny-option { background-color: #FF5733 !important; /* Highlighted background color when focused */ color: white !important; /* Text color when focused */ } .custom-dropdown .Select__single-value, .custom-dropdown .css-1uccc91-singleValue { color: #333333 !important; /* Text color */ } .custom-progress .progress-bar { color: var(--bs-alarm) !important; /*color: black !important; /* Set the text color to black */ font-size: 12px; /* Adjust font size if needed */ } .bg-primary-with-shadow { text-align: center; font-size: 20px; font-weight: bold; color: white; padding: 30px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important; /* Add shadow */ border-radius: 10px; /* Optional: rounded corners */ margin-top: -350px; } .custom-margin { margin-left: 20px !important; margin-right: 20px !important; } .stylish-modal { max-width: 600px; } .benefits-list { margin-left: 20px; list-style-type: none; } .benefits-list li:before { content: "✔️"; margin-right: 10px; } .modal-content-container { padding: 10px 20px; text-align: left; } .register-button { background-color: #28a745; color: white; /*border-radius: 5px;*/ } .sticky-tabs { position: sticky !important; top: 75px; z-index: 1000; /* Ensures it stays on top */ } .custom-light-bg { background-color: rgba(173, 216, 230, 0.4); /* Light blue with 40% opacity */ } /* Completely remove Bootstrap's default icon */ .navbar-toggler-icon { display: none !important; } /* Custom hamburger icon when closed */ .toggler-icon::before { content: "\2630"; /* Unicode for hamburger icon */ font-size: 1.3rem; color: white; /* Adjust to match your theme */ } /* Custom "X" icon when open */ .toggler-icon.open::before { content: "\2715"; /* Unicode for 'X' icon */ font-size: 1.3rem; color: white; /* Adjust to match your theme */ } /* Remove the background and border that Bootstrap adds */ .toggler-icon { background: none; border: none; box-shadow: none; } .toc ul { list-style-type: none; padding: 0; } .toc li { padding: 8px 0; } .toc a { color: #007bff; text-decoration: none; } .toc a:hover { text-decoration: underline; } .sidebar-card { background-color: var(--bs-light); /* Ensure background color consistency */ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add a shadow for visual consistency */ border-radius: 8px; /* Rounded corners */ /*width: 81%; /* Ensure it uses the full available width */ /*max-width:450px; margin-left:10px;*/ color:var(--bs-dark) !important; /* Ensure background color consistency */ } .sidebar-card-body { background-color: var(--bs-light); /* Ensure background color consistency */ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Add a shadow for visual consistency */ border-radius: 8px; /* Rounded corners */ width: 100%; /* Ensure it uses the full available width */ max-width:550px; }