.form-row {
  display: flex;
  gap: 2rem;
  margin: 0 0 1rem 0;
}
.checkin-form {
  margin: 0;
  font-weight: 500;

  textarea {
    min-width: 250px;
    max-width: 90%;
    min-height: 100px;
  }
}
#name {
  width: 250px;
}
#appt-time {
  width: 125px;
}
.message-textarea {
  margin: 2rem 0;
}
.message {
  margin-bottom: 0.25rem;
}

.btn-center-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
section.companies-section,
section.people-section {
  margin-bottom: 1rem;
}
.name {
  min-width: 30%;
}
.intro-text {
  display: block; /* Ensure it behaves as a block element */
  white-space: nowrap; /* Prevent wrapping */
  overflow: hidden; /* Hide overflow text */
  text-overflow: ellipsis; /* Add "..." when text overflows */
  max-width: 50%;
}

.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  gap: 2rem;

  h2 {
    font-size: 1.5rem;
  }
}

.admin-btn-container {
  display: flex;
  justify-content: center; /* Center the items */
  gap: 7rem; /* Set a maximum gap */
  padding: 0 20px;
  color: white;
}

.flex-col-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 2rem;
}

.add-company-flex-container,
.add-person-flex-container,
.add-building-flex-container .notification-flex-container {
  justify-content: space-around;
  gap: 2rem;
  flex-wrap: wrap;
  flex-grow: 1;
  .info {
    max-width: 600px;
    width: 50%;
  }
}

.notification-flex-container {
  justify-content: space-around;
  gap: 2rem;
  flex-wrap: wrap;
  flex-grow: 1;
  .info {
    width: 80%;
  }
}

.people-section .d-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; /* Ensure children stretch to the same height */
}

.flex-equal {
  flex: 1; /* Make all flex items the same size */
  text-align: left; /* Center-align the content */
  padding: 0 20px; /* Add some padding for spacing */
}

.flex-half {
  width: 2rem;
  flex: 0.5;
  text-align: left; /* Center-align the content */
  padding: 0 1.5rem 0 0.5rem; /* Add some padding for spacing */
}
.person-headshot img {
  height: 2rem;
  display: block;
}

.edit-delete {
  padding-left: 1rem;
}
.person-name,
.person-outlet,
.person-mobile {
  white-space: nowrap; /* Prevent wrapping */
  overflow: hidden; /* Hide overflow text if it exceeds the container width */
  text-overflow: ellipsis; /* Add ellipsis for overflowed text */
}

.drop-area,
#headshot-drop-area {
  border: 2px dashed #ccc;
  border-radius: 10px;
  min-width: 300px;
  max-width: 500px;
  width: 50%;
  height: auto;
  min-height: 300px;
  max-height: 450px;
  padding: 10px;
  font-family: sans-serif;
  margin: 50px 0;
  padding: 40px 25px 25px 40px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.drop-area.highlight,
#headshot-drop-area.highlight {
  border: 2px dashed #00ff00; /* Change border to green */
  background-color: #f0f8ff; /* Light background color */
}

.canvas-container {
  display: block;
  width: 80%;
  height: auto;
  margin: auto;
}

.canvas-container.hidden,
.form-container.hidden,
button.delete.hidden {
  display: none;
}

.file-select {
  display: inline-block;
  padding: 8px 16px;
  /* background-color: #4caf50; */
  color: white;
  border: none;
  cursor: pointer;
  margin-top: 10px;
}

.user-info {
}

.close-sm {
  font-size: 0.75rem;
}

/* Ensure labels wrap naturally while keeping inputs aligned below */
label.form-data {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  white-space: normal; /* Allows text to wrap */
  overflow-wrap: break-word; /* Ensures long words break properly */
}

/* Ensure form elements stay in a column layout but retain different widths */
.user-form-group {
  display: flex;
  flex-direction: column; /* Stacks label on top of input */
  justify-content: space-between; /* Stretches inputs evenly */
  flex-grow: 1; /* Ensures items expand evenly */
}

/* Keep input boxes and dropdowns aligned */
.user-form-group input,
.user-form-group select {
  width: 100%;
  height: 2.5rem;
}

/* Ensure the form layout adapts and wraps properly */
#userForm {
  display: flex;
  flex-wrap: wrap; /* Allows items to move to the next row when necessary */
  justify-content: space-between; /* Distributes fields evenly */
  gap: 1rem; /* Adds spacing */
  align-items: stretch; /* Stretches all form fields to the same height */
}

/* Maintain different widths for different form-groups */
.w-md {
  width: 12%;
  min-width: 140px;
  max-width: 300px;
}
.w-ml {
  width: 20%;
  min-width: 220px;
}
.w-lg {
  width: 25%;
  min-width: 200px;
  max-width: 400px;
}
.w-sm {
  max-width: 120px;
} /* Shorter fields like 'Role' */

input,
textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}
textarea {
  resize: none;
  height: 110px;
}
textarea.reply-box {
  height: 4rem;
}

textarea.notifications {
  height: 80px;
}

button.delete {
  background: none;
  border: none; /* Removes the border */
  cursor: pointer; /* Makes it clear it's clickable */
  padding: 0; /* Removes default padding */
  margin: 0; /* Removes default margin */
}
button.delete:hover i {
  color: green;
}

i.muted {
  color: #6c757d;
}
i.icon:hover {
  color: #ff5733;
}
.logo img {
  height: 50px;
}
img.logo:hover {
  animation: tilt 0.6s ease-in-out infinite alternate;
}
/* Keyframes for tilt animation */
@keyframes tilt {
  0% {
    transform: rotateY(-2deg);
  }
  100% {
    transform: rotateY(20deg);
  }
}

img.headshot {
  border-radius: 50%;
  background-color: var(--primary-color);
  border: 1px solid var(--secondary-color-dark-dim);
}

/* Media Queries */
@media (max-width: 1200px) {
  /* img.logo {
    height: 50px;
  } */

  .name {
    min-width: 20%;
  }

  .intro-text {
    max-width: 40%;
  }

  .add-company-flex-container,
  .add-person-flex-container,
  .add-building-flex-container {
    .info {
      max-width: 600px;
      width: 80%;
    }
  }
}
@media (max-width: 800px) {
  .flex-container {
    gap: 1rem;
  }
  img.logo {
    height: 70px;
  }

  .intro-text {
    max-width: 35%;
  }
  textarea.notifications {
    height: 120px;
  }
}

/* Responsive Fix for Small Screens */
@media (max-width: 768px) {
  .user-form-group {
    width: 100%; /* Stack full width on small screens */
  }
}
