/* HEADER styles ======================================== */
body {
  padding-top: 56px;
  /* Height of the navbar */
  /* overflow-x: hidden; - Removed as it breaks Bootstrap nav-tabs flexbox layout */
  overflow-y: auto; /* Allow vertical scrolling */
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* Removed transform from transition to prevent stacking context issues with modals */
  transition: top 0.5s ease, left 0.5s ease, width 0.5s ease, height 0.5s ease;
  font-family: 'DM Sans', sans-serif;
}
  
/* Home page specific header styles */
.home-header {
  background: white !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.home-header .home-logo {
  height: 40px !important;
  width: auto;
}

/* Show full logo on mobile for home page */
@media (max-width: 767px) {
  .home-header .home-logo {
    height: 40px !important;
  }
}
  
  
  .mt-6 {
    margin-top: 4rem !important;
  }
  
  .mt-7 {
    margin-top: 5rem !important;
  }
  
  .mt-8 {
    margin-top: 7.5rem !important;
  }
  
  .mt-9 {
    margin-top: 10rem !important;
  }
  
  .mt-10 {
    margin-top: 12.5rem !important;
  }
  
  .mt-11 {
    margin-top: 15rem !important;
  }
  

  
  .navbar-main img {
  height: 40px;
  width: auto;
  }
  
  .navbar-toggler {
  order: 1;
  }
  
  .navbar-main {
  order: 0;
  }
  
  .nav-item i {
  margin-right: 10px;
  }
  
  .avatar-placeholder {
  border: 2px solid #aaa;
  background-color: #ddd;
  width: 40px;
  height: 40px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  }
  
  .header-shadow{
  box-shadow: 0 0.5rem 0.5rem -0.5rem rgba(0, 0, 0, 0.2)
  }
  
  @media (min-width: 768px) {
  .profile-main-menu {
  margin-top: -60px;
  }
  }
  
  @media (max-width: 768px) {
  .navbar-main img {
  height: 40px;
  }
  
  .navbar-toggler {
  display: block;
  }
  }
  
  
  
  .navbar-main img {
      height: 40px;
      width: auto;
  }
  .navbar-toggler {
  order: 1;
  }
  .navbar-main {
  order: 0;
  }
  .nav-item i {
  margin-right: 10px;
  }
  @media (max-width: 768px) {
  .navbar-main img {
  height: 40px;
  width: 40px;
  }
  .navbar-nav {
  display: none;
  }
  .navbar-toggler {
  display: block;
  }
  }
  .footer {
  background: #f8f9fa;
  padding: 20px 0;
  width: 100%;
  }
  
    /* Custom styles for the button on smaller screens */
    @media (max-width: 576px) {
      #megaMenuButton {
   padding: 0.2rem 0.8rem !important;
        font-size: 0.8rem !important;
      }
  
      #megaMenuToggle {
   padding: 0.2rem 0.8rem !important;
      }
    }
  
  
    .avatar-menu .dropdown-menu {
      background-color: white !important;
      color: black;
    }
    .avatar-menu .dropdown-item {
      color: black;
    }
    .avatar-menu .dropdown-item:hover {
      background-color: #f8f9fa;
    }
    .avatar-placeholder {
      width: 40px !important;
      height: 40px !important;
      background-size: cover;
      background-position: center;
    }
  
  
    /* Darker checkbox */
  .form-check-input {
    border-color: #202327; /* Dark border color */
    box-shadow: none; /* Remove the default box shadow */
  }
  
  .form-check-input:checked {
    border-color: #202327; /* Darker border when checked */
  }
  
  .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(52, 58, 64, 0.25); /* Slight shadow on focus */
  }
  
  
  
  /* ====== FIX BOOSTRAP INPUT GROUPS LABELS ====== */
    .form-floating .input-group > .form-control:not(:placeholder-shown) + label,
    .form-floating .input-group > .form-control:focus + label {
      transform: scale(0.85) translateY(-1.6rem) !important;
      opacity: 1 !important;
    }
  
    .form-floating .input-group > .form-control:focus + label {
      color: #0d6efd !important; /* Optional: change label color on focus */
    }
  
    .form-floating .input-group > .form-control + label {
      position: absolute !important;
      top: 0.75rem !important;
      left: 0.75rem !important;
      padding: 0 0.25rem !important;
      background: white !important;
      pointer-events: none !important;
      transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out !important;
      transform-origin: 0 0 !important;
      opacity: 0.65 !important;
      z-index: 3 !important;
    }
  
    /* Adjustments for input group button alignment */
    .input-group .form-control:focus {
      z-index: 2 !important;
    }
  
    .input-group .btn {
      z-index: 1 !important;
    }
  
  
    .text-underline {
      text-decoration: underline;
  }
  
  
  /*===== font sizes =====*/
  
  .fs-11 {
    font-size: 0.6944444444rem !important;
  }
  
  .fs-10 {
    font-size: 0.8333333333rem !important;
  }
  
  .fs-9 {
    font-size: 1rem !important;
  }
  
  .fs-8 {
    font-size: 1.2rem !important;
  }
  
  .fs-7 {
    font-size: 1.44rem !important;
  }
  
  .fs-6 {
    font-size: 1.728rem !important;
  }
  

  /* Extra small devices (portrait phones, less than 576px) */
.fs-xs-11 { font-size: 0.6944444444rem !important; }
.fs-xs-10 { font-size: 0.8333333333rem !important; }
.fs-xs-9  { font-size: 1rem !important; }
.fs-xs-8  { font-size: 1.2rem !important; }
.fs-xs-7  { font-size: 1.44rem !important; }
.fs-xs-6  { font-size: 1.728rem !important; }
.fs-xs-5 { font-size: 2.0736rem !important; }
.fs-xs-4 { font-size: 2.4883rem !important; }
.fs-xs-3 { font-size: 2.9859rem !important; }
.fs-xs-2 { font-size: 3.5831rem !important; }
.fs-xs-1 { font-size: 4.2997rem !important; }

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .fs-sm-11 { font-size: 0.6944444444rem !important; }
  .fs-sm-10 { font-size: 0.8333333333rem !important; }
  .fs-sm-9  { font-size: 1rem !important; }
  .fs-sm-8  { font-size: 1.2rem !important; }
  .fs-sm-7  { font-size: 1.44rem !important; }
  .fs-sm-6  { font-size: 1.728rem !important; }
  .fs-sm-5 { font-size: 2.0736rem !important; }
  .fs-sm-4 { font-size: 2.4883rem !important; }
  .fs-sm-3 { font-size: 2.9859rem !important; }
  .fs-sm-2 { font-size: 3.5831rem !important; }
  .fs-sm-1 { font-size: 4.2997rem !important; }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .fs-md-11 { font-size: 0.6944444444rem !important; }
  .fs-md-10 { font-size: 0.8333333333rem !important; }
  .fs-md-9  { font-size: 1rem !important; }
  .fs-md-8  { font-size: 1.2rem !important; }
  .fs-md-7  { font-size: 1.44rem !important; }
  .fs-md-6  { font-size: 1.728rem !important; }
  .fs-md-5 { font-size: 2.0736rem !important; }
  .fs-md-4 { font-size: 2.4883rem !important; }
  .fs-md-3 { font-size: 2.9859rem !important; }
  .fs-md-2 { font-size: 3.5831rem !important; }
  .fs-md-1 { font-size: 4.2997rem !important; }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .fs-lg-11 { font-size: 0.6944444444rem !important; }
  .fs-lg-10 { font-size: 0.8333333333rem !important; }
  .fs-lg-9  { font-size: 1rem !important; }
  .fs-lg-8  { font-size: 1.2rem !important; }
  .fs-lg-7  { font-size: 1.44rem !important; }
  .fs-lg-6  { font-size: 1.728rem !important; }
  .fs-lg-5 { font-size: 2.0736rem !important; }
  .fs-lg-4 { font-size: 2.4883rem !important; }
  .fs-lg-3 { font-size: 2.9859rem !important; }
  .fs-lg-2 { font-size: 3.5831rem !important; }
  .fs-lg-1 { font-size: 4.2997rem !important; }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .fs-xl-11 { font-size: 0.6944444444rem !important; }
  .fs-xl-10 { font-size: 0.8333333333rem !important; }
  .fs-xl-9  { font-size: 1rem !important; }
  .fs-xl-8  { font-size: 1.2rem !important; }
  .fs-xl-7  { font-size: 1.44rem !important; }
  .fs-xl-6  { font-size: 1.728rem !important; }
  .fs-xl-5 { font-size: 2.0736rem !important; }
  .fs-xl-4 { font-size: 2.4883rem !important; }
  .fs-xl-3 { font-size: 2.9859rem !important; }
  .fs-xl-2 { font-size: 3.5831rem !important; }
  .fs-xl-1 { font-size: 4.2997rem !important; }
}

/* Extra extra large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
  .fs-xxl-11 { font-size: 0.6944444444rem !important; }
  .fs-xxl-10 { font-size: 0.8333333333rem !important; }
  .fs-xxl-9  { font-size: 1rem !important; }
  .fs-xxl-8  { font-size: 1.2rem !important; }
  .fs-xxl-7  { font-size: 1.44rem !important; }
  .fs-xxl-6  { font-size: 1.728rem !important; }
  .fs-xxl-5 { font-size: 2.0736rem !important; }
  .fs-xxl-4 { font-size: 2.4883rem !important; }
  .fs-xxl-3 { font-size: 2.9859rem !important; }
  .fs-xxl-2 { font-size: 3.5831rem !important; }
  .fs-xxl-1 { font-size: 4.2997rem !important; }
}

  
  .admin-impersonation-bg {
    background-color: #f8d7da !important; /* Light red base color */
    background-image: repeating-linear-gradient(
        45deg,
        rgba(220, 53, 69, 0.1) 0,
        rgba(220, 53, 69, 0.1) 20px,
        transparent 20px,
        transparent 40px
    ) !important;
    background-size: 3900px 80px !important; /* Further increased size for smoother stripes */
}


/*===============================================================================================================*/
.custom-dropdown-menu-190 {
    accent-color: auto;
    align-content: normal;
    align-items: normal;
    background-clip: padding-box;
    background-color: rgb(255, 255, 255);
    border-color: rgba(216, 226, 239, 1);
    border-style: solid;
    border-width: 1px;
    border-radius: 4px;
    box-shadow: rgba(65, 69, 88, 0.1) 0px 5px 10px, rgba(0, 0, 0, 0.07) 0px 2px 4px;
    box-sizing: border-box;
    color: rgb(0, 0, 0);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    list-style: none;
    width: auto;
    padding: 0;
    position: absolute;
    right: 0px;
    text-align: left;
    z-index: 1050;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.custom-dropdown-menu-190 li {
    padding: 0;
    margin: 0;
    border: none;
}

.custom-dropdown-menu-190 a {
    display: block;
    text-decoration: none;
    padding: 8px 16px;
    border: none; /* Ensure no borders */
    white-space: nowrap;
    background-color: transparent; /* Ensure no background color is affecting layout */
    box-shadow: none; /* Remove potential shadow */
}

.custom-dropdown-menu-190 a:hover, 
.custom-dropdown-menu-190 a:focus {
    background-color: rgba(0, 0, 0, 0.1) !important; /* Optional hover effect without borders */
    outline: none; /* Remove focus outline */
}

#bg_avatarMenuMain {
    border: none !important; /* Remove any borders */
    box-shadow: none !important; /* Remove any box shadows */
    padding: 0 !important; /* Remove padding */
    margin: 0 !important; /* Remove margins */
    background-size: cover !important; /* Ensure background covers the circle */
    background-position: center !important; /* Center the background image */
}
    
.custom-dropdown-menu-190 hr {
    margin: 8px 0;
    border: 1px solid rgba(0, 0, 0, 0.1) !important; /* Add subtle divider */
    border-top: 1px solid rgba(0, 0, 0, 0.1); /* Add subtle divider */
}



#bg_avatarMenuMain + .dropdown-menu {
  min-width: 290px; /* Make dropdown wider */
}


@media (max-width: 768px) {
  /* Overrides for mobile devices */
  .simplebar-content {
      overflow: auto !important;
  }
}

.top-header {
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #eee;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  height: 60px;
}

.login-btn {
  background: var(--bs-primary );
  color: white;
  border: none;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
}

.login-btn:hover {
  color: white;
  opacity: 0.9;
}

/* Main content */
.main-content {
  padding-top: 15px;
}

/* Header spacer - pushes content below fixed header */
.header-spacer {
  height: 70px;
  flex-shrink: 0;
}

/* Make the header sticky */
.sticky-header {
  position: sticky;
  top: 0;
  z-index: 1020;
}

/* Fix for admin/impersonation modes */
.admin-impersonation-bg {
  background-color: rgba(255, 200, 200, 0.2);
}

.signup-exit-btn {
  margin-left: 10px;
  font-size: 1.2rem;
}

/* Right-aligned navigation items */
.center-nav {
  display: flex;
  justify-content: flex-end;
}

.top-header .center-nav .nav-link {
  padding: 0 15px;
  color: #212529;
  text-decoration: none;
  font-weight: 500;
}

.top-header .center-nav .nav-link:hover {
  color: #0d6efd;
}

/* Avatar placeholder styling */
.avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  cursor: pointer;
  background-color: #e9ecef;
}

.avatar-placeholder:empty {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  background-color: #ffffff;
  color: white;
}

/* Logo sizing */
.navbar-brand.header-logo {
  display: flex;
  align-items: center;
}

.mobile-logo {
  height: 32px;
  display: none;
}

.desktop-logo {
  height: 40px;
  display: none;
}

@media (max-width: 767px) {
  .mobile-logo {
      display: block;
  }
}

@media (min-width: 768px) {
  .desktop-logo {
      display: block;
  }
}

/* Info Boxes Styling */
.info-boxes {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
  padding: 10px 0;
}

.info-box {
  display: flex;
  align-items: center;
  background-color: white;
  border-radius: 10px;
  padding: 10px 15px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  height: 100%;
}

.info-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  color: #0d6efd;
  font-size: 1.2rem;
}

.info-box-content {
  flex: 1;
}

.info-box-label {
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: 600;
}

.info-box-value {
  font-size: 0.95rem;
  font-weight: 500;
  color: #212529;
}

/* Stats in Menu */
.stats-menu-container {
  background-color: #f8f9fa;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.stats-menu {
  display: flex;
  justify-content: space-around;
}

.stats-menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 8px 5px;
  border-radius: 8px;
  flex: 1;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s;
}

.stats-menu-item:hover {
  background-color: rgba(13, 110, 253, 0.1);
}

.stats-menu-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(13, 110, 253, 0.1);
  color: #0d6efd;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
  font-size: 1.1rem;
}

.stats-menu-value {
  font-size: 1rem;
  font-weight: 600;
  color: #212529;
  line-height: 1.2;
}

.stats-menu-label {
  font-size: 0.7rem;
  color: #6c757d;
  line-height: 1.1;
}


  
  /* The main content should take all available space */
  .main-content {
    margin-top:30px;
      flex: 1 0 auto;
      /* Removed overflow-y: auto to allow modals to work properly */
      padding:20px;
      padding-bottom: 15px;
  }
  
  
  .main-content {
    min-height: calc(100vh - 445px);
    align-items: center;
    justify-content: center;
}

@media (min-width: 992px) {
  .main-content {
      display: flex;
      align-items: center;
      justify-content: center;
  }
}

@media (min-width: 768px) {
  .main-contentx {
      padding: 3rem 2rem;
  }
}