
    /* Container for the map */
    #map-container {
      position: relative;
      width: 100%;
      max-width: 900px;
    }

    #map-container img {
      width: 100%;
      height: auto;
    }

    #all-companies {
      width: 100%; 
      text-align: center;
      padding-top: 70px;
    }
    
     #sorting-options {
      display: flex;
      flex-direction: row;
      align-items: baseline; /* Aligns items along the baseline to fix the height difference */
      gap: 10px;
      margin: 20px 0;
      flex-wrap: wrap;
    }
    #sorting-options label {
      font-weight: bold;
      color: #54677c;
      font-size: 0.8em;
      margin-right: 8px;
      line-height: 0; /* Adjusts label line height to match dropdowns */
    }

    #sort-by-parish,
    #sort-alphabetically {
      padding: 10px 25px 10px 10px; /* Adjust padding: top/bottom, right (for arrow space), left */
      border: 1px solid #ccc; 
      border-radius: 4px;
      background-color: white; 
      font-family: 'Roboto', sans-serif;
      font-size: 0.9em; 
      color: #54677c;
      width: 130px;
      appearance: none; /* Removes default arrow */
      background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2354677c'><path d='M10 12l-6-6h12l-6 6z'/></svg>");
      background-repeat: no-repeat;
      background-position: right 10px center; /* Positions custom arrow */
      background-size: 12px; /* Adjust size of custom arrow */
    }


    #sorting-options label {
      font-weight: bold;
      margin-bottom: 3px;
      color: #54677c;
      font-size: 0.8em; /* Adjust size as needed */
    }



    #sort-by-parish:focus,
    #sort-alphabetically:focus {
      outline: none; /* Remove the default outline */
      border-color: #4CAF50; /* Change border color on focus */
    }

    #search-sort-container {
      display: flex;
      justify-content: space-between; /* Distribute space between the search bar and sorting options */
      align-items: center; /* Vertically aligns both the search and sorting options */
      gap: 10px; /* Space between search bar and sorting options */
      width: 100%; /* Ensure the container takes up full width */
      padding: 0 180px; /* Add horizontal padding to ensure space from the edges */
    }
    
    
    #search-container {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    
    #search-container label {
      font-weight: bold;
      color: #54677c;
      font-size: 0.9em;
      margin-right: 8px;
    }
    
    .search-box {
      position: relative;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .search-icon {
      font-size: 18px;
      color: #333;
    }
    
    .search-box input {
      padding: 5px 10px;
      padding-left: 25px; /* Space for icon */
      border: none;
      outline: none;
      font-size: 16px;
      color: #333;
      background: transparent;
    }
    
    .search-box .line {
      position: absolute;
      bottom: 0;
      left: 0;
      height: 2px;
      width: 100%;
      background: #ddd;
      transition: transform 0.4s ease;
      transform: scaleX(0);
      transform-origin: left;
    }
    
    .search-box input:focus + .line {
      transform: scaleX(1);
      background: #4158d0;
    }
    
    .search-box input:focus + .line + .search-icon {
      display: none;
    }


.marker {
  position: absolute;
  width: 50px; /* Increased width */
  height: 50px; /* Increased height */
  background-image: url('../images/pin.png');
  background-size: contain; /* Ensure the image scales correctly */
  background-repeat: no-repeat; /* Prevents repeating the image */
  cursor: pointer;
}
 /* Count display for hover effect */
    .marker span {
      display: none; /* Hidden by default */
      position: absolute;
       width: 50px;
    height: 50px;
      transform: translateY(-50%);
      font-family: 'Avigea', sans-serif;
      font-weight: bold;
      font-size: 1.0em;
      text-shadow: 2px 2px 2px rgba(0, 0, 139, 0.7);
      pointer-events: none;
      color: #54677c;
    }
          /* Show count on hover */
    .marker:hover span {
      display: block;
    }

    /* Company card container */
    .company-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      margin-top: 40px;
    }

    /* Style for company cards */
    .card {
      position: relative;
      width: 300px;
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.15);
      padding: 75px 16px; /* Increased top padding for logo */
      margin: 24px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }

    /* White circle logo inside each card */
    .logo-placeholder {
      position: absolute;
      top: -40px; /* Adjusted to move it half off the card */
      left: 50%; /* Center the logo horizontally */
      transform: translateX(-50%); /* Adjust for centering */
      width: 100px; /* Increased width for the logo */
      height: 100px; /* Increased height for the logo */
      background-color: white;
      border-radius: 50%;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .logo-placeholder img {
      width: 60%; /* Adjust logo size */
    }

    .card p {
      line-height: 24px;
      letter-spacing: 0.5px;
      margin-bottom: 12px;
      text-align: center;
    }

    .card .name {
      font-size: 1.4em;
      color: #333;
      font-weight: bold;
      margin-bottom: 8px;
    }

    .card p.role {
      font-size: 0.9em; /* Smaller size for role */
      color: #7d9cb8; /* Lighter color for role */
      margin-bottom: 12px; /* Maintain margin for consistency */
    }

    .socials {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .socials button {
      margin: 12px 8px;
      width: 44px;
      height: 44px;
      border: none;
      border-radius: 50%;
      cursor: pointer;
      transition: opacity 0.4s;
    }

    .socials button i {
      color: #fff;
      font-size: 1.4em;
    }

    /* Social media colors */
    .socials button.phone {
      background-color: #4CAF50;
    }

    .socials button.instagram {
      background-color: #E1306C;
    }
      
          /* Responsive design for smaller screens */
          @media (max-width: 768px) {
            /* Container for search and sorting */
            #search-sort-container {
              display: flex;
              flex-direction: column;  /* Stack elements vertically */
              align-items: center;     /* Center items */
              padding: 0 20px;         /* Adjust horizontal padding */
              gap: 15px;               /* Add some gap between search and sorting */
            }
          
            /* Sorting options container */
            #sorting-options {
              display: flex;
              flex-direction: column;  /* Stack sorting options vertically */
              align-items: center; /* Align sorting options to the left */
              gap: 5px;               /* Add spacing between sorting options */
              margin-bottom: 30px;     /* Add spacing below sorting options */
              width: 100%;             /* Ensure it takes up full width */
            }
          
            /* Search container */
            #search-container {
              display: flex;
              flex-direction: column;  /* Stack search box vertically */
              align-items: center;     /* Center items */
              width: 100%;             /* Ensure search container spans full width */
              gap: 15px;               /* Reduce gap between label and input */
            }
          
            /* Search box input */
            .search-box input {
              width: 100%;             /* Ensure input takes up full width */
              font-size: 14px;         /* Adjust font size for smaller screens */
              padding: 10px;           /* Add padding to the input */
              box-sizing: border-box;  /* Ensure padding doesn’t affect input width */
            }
          
            /* Line inside search box */
            .search-box .line {
              left: 0;
              right: 0;
            }
          
          
                .marker {
                  width: 30px;
                  height: 30px;
                }
          
                #all-companies {
                  width: 100%;
                  text-align: center;
                  padding-top: 50px;
                }
          
                .company-container {
                  display: grid; /* Use grid layout for better centering */
                  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Dynamic columns */
                  gap: 20px; /* Vertical and horizontal spacing */
                  justify-items: center; /* Center cards within grid */
                  margin-top: 20px; /* Adjust top margin */
                  padding-top: 30px;
                }
              }
