/* General Body Styling */
body {
  background-color: #EFEFEF;
}

.modal-content {
  border-radius: 8px;
  padding: 20px;
  background-color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.modal-header {
  border-bottom: none;
  text-align: center;
}

.modal-header .modal-title {
  font-size: 1.5rem;
  font-weight: bold;
  color: #333;
  text-align: center;
}

/* Base Container Styling */
.container-fluid {
  display: flex; /* Use flexbox for layout */
  align-items: center;
  justify-content: space-between; /* Space out elements */
  flex-wrap: wrap; /* Allow wrapping for smaller screens */
  height: auto; /* Adjust height dynamically */
  background-color: #FFFFFF;
  box-shadow: 0 7px 3px -2px lightgrey;
  padding: 10px 20px;
  position: relative; /* Enables precise positioning adjustments */
}

/* Logo Styling */
.logo {
  width: 240px;
  height: auto; /* Maintain aspect ratio */
  max-width: 100%;
  margin-left: 20px; /* Move logo to the right */
  position: relative; /* Allows precise control over placement */
  left: 20px; /* Fine-tune placement */
}

/* Search Bar Styling */
.search-bar {
  display: flex;
  flex-grow: 1; /* Allow search bar to grow dynamically */
  max-width: 800px; /* Limit max width */
  margin-right: 10px;
}

/* Search Input Field */
.search-bar .form-control {
  flex-grow: 1; /* Fill available space */
  font-size: 18px;
  border-radius: 74px;
  padding-left: 40px;
  margin-right: 10px; /* Space between input and button */
}

/* Search Button */
.search-bar .btn-outline-success {
  height: 55px;
  font-size: 20px;
  border-radius: 74px;
  background-color: #1A54C0;
  color: #FFFFFF;
  padding: 0 45px;
}

/* Hover Effects */
.search-bar .btn-outline-success:hover {
  background-color: #154a9e;
  transform: scale(1.01); /* Hover effect */
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Login Button Styling */
.btn-primary {
  height: 40px;
  font-size: 16px;
  border-radius: 74px;
  background-color: #1A54C0;
  padding: 0 25px;
  margin-right: 20px; /* Adjust spacing for better placement */
  position: relative;
  
}

.btn-primary:hover {
  background-color: #154a9e;
  transform: scale(1.01); /* Hover effect */
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .container-fluid {
      flex-direction: column; /* Stack elements vertically */
      align-items: flex-start; /* Align items to the left */
  }

  .logo {
      margin-bottom: 20px; /* Add spacing below the logo */
      margin-left: 0; /* Reset left margin */
      left: 0; /* Reset left position */
  }

  .search-bar {
      flex-direction: column; /* Stack input and button */
      align-items: stretch; /* Full width for stacked elements */
      width: 100%; /* Take full width */
      max-width: 100%;
      margin-bottom: 20px; /* Add spacing below */
  }

  .search-bar .form-control {
      margin-right: 0; /* Remove margin for stacking */
      margin-bottom: 10px; /* Add spacing below input */
  }

  .search-bar .btn-outline-success {
      width: 100%; /* Full width button */
  }

  .btn-primary {
      width: 100%; /* Full width login button */
      margin: 0; /* Align with other buttons */
      left: -5px; /* Reset right position */
  }
}

/* Logo Styling for Modal */
.rpc-logo {
  width: 300px;
  height: 100px;
  margin-left: 60px;
}

/* Login Form Styling */
.form-box {
  text-align: center;
}

.form-box img {
  max-width: 100px;
  margin-bottom: 15px;
}

.input-group {
  margin-bottom: 15px;
  text-align: left;
  position: relative;
  display: flex;
  align-items: center; /* Vertically aligns input and icon */
}

.input-group label {
  font-size: 0.9rem;
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
  text-transform: uppercase;
  color: #333;
}

.input {
  background-color: #D9D9D9;
  border-radius: 18px;
  padding-left: 20px;
  width: 100%;
  font-size: 0.9rem;
  border: 1px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease; /* Smooth focus transitions */
}

.input-field {
  width: 100%;
  padding: 10px;
  padding-left: 20px;
  border: 1px solid #ddd;
  border-radius: 18px !important;
  font-size: 0.9rem;
  background-color: #D9D9D9;
}

.input-group .toggle-password {
  position: absolute; /* Position inside the container */
  right: 20px; /* Distance from the right edge */
  top: 50%; /* Center vertically */
  transform: translateY(-50%); /* Adjust for perfect vertical centering */
  width: 20px; /* Icon size */
  height: 20px;
  cursor: pointer;
  opacity: 0.7; /* Slight transparency */
  transition: opacity 0.2s ease;
  z-index: 10; /* Ensure it stays above input field */
  margin-top: 15px;
}

.input-group:focus-within .toggle-password {
  opacity: 1; /* Full visibility on focus */
}

.input-field:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 3px rgba(0, 123, 255, 0.5);
}

/* Button Styling */
.d-grid .login-btn {
  width: 130px;
  height: 40px;
  background-color: #007bff;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 0;
  justify-content: center;
  margin-left: 150px;
  border: none;
  border-radius: 18px;
  font-size: 18px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  margin-top: 15px;
}

.d-grid .login-btn:hover {
  background-color: #0056b3;
  transform: scale(1.03); /* Hover effect */
  transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Create Account Link */
.create-account {
  color: #007bff;
  text-decoration: none;
  font-size: 0.9rem;
}

.create-account:hover {
  text-decoration: underline;
}

/* Center the "Don't have an account?" text */
p {
  font-size: 0.9rem;
  margin: 12px 0;
  color: #333;
  text-align: center;
}

/* Registration Styling */
#registrationModal .modal-content {
  border-radius: 20px;
  padding: 20px;
  background-color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

#registrationModal .rpc-logo {
  margin-right: 65px;
  margin-bottom: -20px;
}

#registrationModal .input-group {
  position: relative;
  display: flex;
  align-items: center; /* Vertically aligns input and icon */
}

#registrationModal .input-field {
  width: 100%;
  padding: 10px;
  padding-left: 20px;
  border: 1px solid #ddd;
  border-radius: 18px !important;
  font-size: 0.9rem;
  background-color: #D9D9D9;
}

/* Toggle Password Icon Styling */
#registrationModal .input-group .toggle-password {
  position: absolute; /* Anchored to the input group */
  right: 30px; /* Adjust distance from the right edge */
  top: 50%; /* Center vertically */
  transform: translateY(-50%); /* Ensure perfect centering */
  width: 20px; /* Icon size */
  height: 20px;
  cursor: pointer;
  opacity: 0.7; /* Slight transparency */
  transition: opacity 0.2s ease, transform 0.2s ease; /* Smooth transition */
  margin-top: 15px;
  z-index: 10; /* Ensure it stays above input field */
}

#registrationModal .input-group input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 3px rgba(0, 123, 255, 0.5);
}

/* Ensure icon stays visible while typing */
#registrationModal .input-group:focus-within .toggle-password {
  opacity: 1; /* Full visibility on focus */
}

#registrationModal .btn-primary {
  width: 130px;
  height: 40px;
  border-radius: 18px;
  padding: 0;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#registrationModal .btn-primary {
  margin-left: 170px;
}

#registrationModal .btn-primary:hover {
  background-color: #0056b3;
  transform: scale(1.03); /* Hover effect */
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.feedback {
  font-size: 0.9rem;
  margin-top: -15px;
}

/* Terms and Conditions */
#registrationModal .terms {
  margin-top: 15px;
  font-size: 0.9rem;
}

#registrationModal .terms a {
  color: #007bff;
}

#registrationModal .terms a:hover {
  text-decoration: underline;
}

/* Create Account Link in Registration */
#registrationModal .create-account {
  color: #007bff;
  text-decoration: none;
  font-size: 0.9rem;
}

#registrationModal .create-account:hover {
  text-decoration: underline;
}

/* Center the "Already have an account?" text */
#registrationModal p {
  font-size: 0.9rem;
  color: #333;
  text-align: center;
  margin-top: -8px;
  margin-bottom: 25px;
}

.icon-group {
    position: relative;
    left: 1200px;
    bottom: 110px;
    display: flex;
    gap: 20px;
  }
  
  .icon-button {
    width: 40px;
    height: 40px;
    background-color: #007BFF;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .icon-button:hover {
    background-color: #0056b3;
  }
  
  .icon-image {
    width: 100%;
    height: auto;
  }
  
  /* Container for the icons */
  .icon-container {
    display: flex; /* Use flexbox to align items horizontally */
    align-items: center; /* Vertically center items */
    justify-content: center; /* Center the icons horizontally */
    margin-right: 30px;
  }
  
  /* Style for the images inside the buttons */
  .icon-container img {
    width: auto; /* Adjust the width of the image */
    height: 60px; /* Maintain aspect ratio */
    transition: transform 0.3s ease; /* Smooth transform transition for hover effect */
  }
  
  /* Hover effect for the images */
  .icon-container a:hover img {
    transform: scale(1.03); /* Hover effect */
    transition: transform 0.3s ease, background-color 0.3s ease;
  }
  
  /* Add space between the images */
  .icon-container a {
    margin-right: 20px; /* Space between the images */
  }
  
  /* Optional: Add spacing between icons */
  .icon-container a:not(:last-child) {
    margin-right: 10px; /* Add right margin to all buttons except the last one */
  }