.hero {
  position: absolute;
  width: 100%; /* Ensures the hero section spans the full width */
  height: 500px; /* Ensures the height remains fixed at 500px */
  top: 0;
  left: 0; /* Adjust as needed */
  overflow: hidden; /* Hide overflow if image is cropped */
}

.hero img {
  position: absolute;
  top: 50%; /* Position the image vertically at the center */
  left: 50%; /* Position the image horizontally at the center */
  width: 100%; /* Ensure the image takes the full width */
  height: 100%; /* Ensure the image takes the full height */
  object-fit: cover; /* Cover the area, cropping as necessary */
  transform: translate(-50%, -50%); /* Center the image */
  opacity: 0;
  transition: opacity 2s ease-in-out; /* Fade transition */
}

/* Initially show the first image */
.hero img:first-child {
  opacity: 1;
}

.hero .welcome {
  position: absolute;
  bottom: 20%;
  left: 10%;
  width: 40%;
  padding: 10px;
  border-radius: 2px;
  box-sizing: border-box; /* Include padding in width/height calculation */
  word-wrap: break-word; /* Allow long words to break and wrap to new line */
  word-break: break-word; /* Break long words if necessary */
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 100;
}

.hero .welcome .address {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
  justify-content: flex-end;
  gap: 20px;
}

.hero .welcome .address .maps {
  height: 80px;
  width: 80px;
}

.hero .welcome .address .maps .maps-logo {
  height: 100%;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .hero {
    height: 500px; /* Fix the height on smaller screens as well */
  }
  .hero .welcome {
    left: 20px;
    margin-right: 20px;
    padding: 10px;
    width: calc(100% - 20px - 20px);
    bottom: 15%;
    background-color: rgba(255, 255, 255, 0.7);
  }
  hero .welcome table {
    table-layout: auto;
    width: 70%;
  }
}
