@charset "UTF-8";
/* ------------------------------
   General Styles
------------------------------ */
@font-face {
  font-family: "Replica Regular";
  src: url("/static/reports/fonts/Replica-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
body {
  font-family: "Replica Regular", sans-serif;
  padding-top: 56px; /* Adjust based on the height of your navbar */
}

/* Utility Classes */
.form-container {
  display: flex;
  flex-wrap: wrap; /* Ensures responsiveness */
  gap: 15px; /* Adds spacing between elements */
  align-items: center; /* Aligns elements properly */
}


.form-group {
  margin-bottom: 1rem; /* Additional spacing if needed */
  position: relative; /* Required for z-index to take effect */
  z-index: 10; /* Ensure form group stays above the graph */
  flex: 1; /* Makes each item flexible */
  min-width: 200px; /* Prevents items from getting too small */
}

/* Loading Messages */
.loading-message {
  font-size: 1.2em;
  text-align: center;
}

#alert-container {
  min-height: 60px; /* Adjust as needed */
}

.download-buttons {
  margin-bottom: 80px; /* Adjust as needed */
}


/* Plotly Graph */
.plotly-graph {
  width: 100%; /* Ensure the graph always takes 100% of the content area width */
  height: 100%; /* Allow the height to adjust based on the container */
  min-height: 700px; /* Set a minimum height to make the graph visible on smaller screens */
  margin: 0 auto 2rem; /* Center horizontally and add bottom margin for spacing */
  position: relative;
  z-index: 1; /* Ensure the graph stays below form elements */
}

/* Responsive Scaling */
@media (max-width: 991px) {
  .plotly-graph {
    height: 50vh; /* Use viewport height to make it responsive */
    min-height: 500px; /* Maintain minimum height for better responsiveness */
  }
}
@media (max-width: 767px) {
  .plotly-graph {
    height: 50vh; /* Make the graph smaller on small screens using viewport height */
    min-height: 600px; /* Set a smaller minimum height for smaller screens */
  }
}
/* ------------------------------
   Navbar Styles
------------------------------ */
.navbar {
  position: fixed; /* Keep the navbar fixed at the top of the page */
  top: 0; /* Align it to the top */
  left: 0; /* Ensure it stays on the left edge */
  right: 0; /* Stretch it across the full width */
  z-index: 1030; /* Ensure it stays above other content */
  padding-top: 0.25rem; /* Adjust to control the padding */
  padding-bottom: 0.25rem; /* Adjust to control the padding */
  font-weight: bold;
  background-color: #ffffff; /* Optional: Add background color to prevent content from showing through */
}

#logo {
  max-height: 40px; /* Set max height to prevent the navbar from expanding */
  height: auto; /* Maintain the aspect ratio of the logo */
}

.nav-link {
  font-size: 1rem;
  color: grey; /* Default color for non-active links */
  display: block;
  text-align: left; /* Left-align the text inside the link */
  text-decoration: none;
  transition: color 0.2s;
  width: 100%; /* Ensure the links take up the full width */
  padding: 20px; /* Add some padding around the links */
}

.nav-link.active,
.nav-link:hover {
  color: black; /* Color for active or hovered links */
  font-weight: bold;
}

#login-link, #logout-link {
  background-color: #f00000 !important; 
  border-color: #f00000 !important;
  color: white !important; 
  font-weight: bold;
  padding: 8px 15px;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
}

#login-link:hover, #logout-link:hover {
  background-color: #c00000 !important; /* Slightly darker red on hover */
  border-color: #c00000 !important;
}


/* ------------------------------
   Sidebar Styles
------------------------------ */
#sidebar {
  position: fixed;
  min-width: 200px;
  top: 56px; /* Adjust based on your navbar height */
  height: calc(100vh - 56px); /* Full height of the viewport minus navbar height */
  background-color: #f8f9fa; /* Sidebar background */
  padding-top: 1rem; /* Optional: add some padding */
  overflow-y: auto; /* Allow scrolling if the content exceeds the height */
  z-index: 1020; /* Below navbar but above content */
}

/* Sidebar: Responsive Adjustments */
@media (max-width: 991px) {
  #sidebar {
    position: static;
    height: auto; /* Set height to auto for small screens */
    max-height: none; /* Remove height limitation */
    overflow-y: visible; /* Ensure the sidebar is fully visible */
    width: 100%; /* Ensure the sidebar takes up full width on small screens */
  }
}
/* ------------------------------
   Content Area Styles
------------------------------ */
#content-area {
  margin-left: 220px;
  overflow-x: hidden; /* Prevent horizontal scrolling in the content area */
}

/* Content Area: Responsive Adjustments */
@media (max-width: 991px) {
  #content-area {
    position: relative;
    margin-left: 0; /* Remove margin on medium and small screens */
    padding-left: 10px; /* Optional padding for readability */
    padding-right: 10px; /* Optional padding for readability */
    width: 100%; /* Ensure content area takes full width */
  }
}
/* ------------------------------
   Graph Container Styles
------------------------------ */
.graph-container {
  position: relative;

}

/* ------------------------------
   Heimili Page Styles
------------------------------ */
hr {
  width: 100%;
}




/* ------------------------------
   Left and Right Content Padding
------------------------------ */
#left-div-1, #left-div-2, #right-div-1, #right-div-2  {
  padding-left: 5%;
  padding-right: 5%;
}


