body, html.js_active body {
  overflow-x:visible !important
}

#loading-icon {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
}

#loading-icon::after {
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
      transform: rotate(360deg);
  }
}

/* Scoped styles for doctor cards component */
#doctor-cards-container .doctor-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px; /* Add space between the filter bar and the doctor cards */


}
#doctor-cards-container {
  position: relative !important;
  min-height:500px !important;
}

.doctor-card {
  display: flex;
  flex-direction: row;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
  background-color: #fff;
}

.doctor-card-column {
  display: flex;
  flex-direction: column;
  padding: 15px;
  flex: 1;
}

.doctor-card-image {
  flex: 0 0 auto; /* Allow the image to be responsive */
  max-width: 250px; /* Set a max width for the image */
  width: 100%; /* Ensure the width is 100% */
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self:center;
}

.doctor-card-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  flex-shrink: 0; /* Prevent the image from shrinking */
}

.doctor-card-content h3 {
  font-size: 1.25em;
  margin: 0;
  color: #23a6e6; /* Use primary color */
}

.doctor-card-content p {
  margin: 0;
  line-height: 1.5;
}

.star-rating.ds-summary {
  margin-top: 10px;
  /* margin-bottom: 5em !important; */
}

.view-profile-button {
  margin-top: auto;
  padding: 10px;
  text-align: center;
  background-color: #23a6e6; /* Use primary color */
  color: #fff !important; /* Ensure button text is white */
  text-decoration: none;
  border-radius: 4px;
}

.view-profile-button:hover {
  background-color: #1d8ec2; /* Darken the primary color on hover */
}

/* Responsive styles */
@media (max-width: 768px) {
  .doctor-card {
      flex-direction: column;
  }

  .doctor-card-column {
      width: 100%;
      padding: 10px;
  }

  .doctor-card-image {
      width: 100%;
      height: auto;
  }

  .doctor-card-image img {
      width: 100%;
      height: auto;
      object-fit: cover;
  }
}

/* Filter Bar */
#doctors-search-filter-container {
  position: relative;
}

.filter-bar-toggle-button {
  display: none;
  background-color: #23a6e6; /* Use primary color */
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 4px;
  margin-bottom: 10px;
}

.filter-bar {
  display: flex;
  flex-wrap: wrap; /* Allow the filter bar to wrap */
  gap: 20px;
  background: #f8f8f8;
  padding: 10px;
  border-bottom: 1px solid #ddd;
  position: sticky;
  top: 0;
  z-index: 10;
  justify-content: space-between;
}

.filter-item-wrapper {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  width: 100%; /* Ensure filter items take full width on small screens */
}
.site-content .filter-item-wrapper li {
  padding-left:15px;
}
.filter-item-wrapper.gender-select-wrapper {
  /* max-width:150px; */
  /* min-width:unset; */
}
.filter-item-wrapper .search-field input,
.filter-item-wrapper select,
.filter-item-wrapper .select2-container--default .select2-selection--multiple {
  min-height:49px;
}

.filter-item-wrapper h4 {
  margin-bottom: 5px;
  font-size:18px;
}
.filter-item-wrapper select {
  background:#fff;
}
.filter-item {
  width: 100% !important; /* Ensure the width is overridden */
  box-sizing: border-box;
  background-color: #fff !important; /* Ensure background color is white */
}

/* Revert Select2 Styles */
.select2-container--default .select2-selection--multiple {
  border: 1px solid #ddd;
  border-radius: 0px;
  padding: 5px;
  min-height: 48px;
  height: auto !important; /* Ensure height is overridden */
  display: flex;
  align-items: center;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #23a6e6; /* Use primary color */
  border: 1px solid #1d8ec2; /* Darker shade for the border */
  color: #fff;
  padding: 3px 10px;
  border-radius: 4px;
  margin: 2px 5px 2px 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #fff;
  margin-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #ccc;
}

li.select2-search.select2-search--inline {
  margin: 0; /* Ensure no margin for the search input */
}

.select2-container .select2-search__field {
  height: auto;
  width: auto !important; /* Ensure width is auto */
}

.select2-container--default .select2-dropdown {
  position: relative; /* Ensure the dropdown is positioned correctly */
  z-index: 1000; /* Ensure the dropdown appears above other elements */
  margin-top: 5px; /* Add margin to separate dropdown from input */
}

/* Non-sticky filter bar on mobile */
@media (max-width: 768px) {
  .filter-bar {
      /* display: none; */
      position: relative;
  }
  .filter-bar-toggle-button {
      /* display: block; */
  }
  #doctors-search-filter-container {
    position:relative;
  }
}

#doctors-search-filter-container {
  background-color: white; /* Ensure it has a background color */
  padding: 10px; /* Optional: Add some padding for better appearance */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: Add a shadow for better visibility */
}
@media (min-width:768px) {
  #doctors-search-filter-container {
  position: -webkit-sticky; /* For Safari */
  position: sticky;
  top: 0;
  z-index: 1000; /* Ensure it appears above other content */
}
}
.doctor-card-column {
  /* Other styles */
}
.doctor-card-column .contact-info {
  margin-bottom:1em;
}

.doctor-card-column h3,
.doctor-card-column p strong,
.doctor-card-column p.title {
  margin: 0; /* Remove margin from titles */
}

.doctor-card-column p.title-item {
  margin-bottom: 15px;
}
.doctor-card-column hr {
  margin: 5px 0; /* Remove margin from hr */
  border: none;
  border-top: 1px solid #ccc; /* Ensure the border color is set */
}
.select2-results {
  margin-top:32px;
}
