/* style.css */
body {
  font-family: "Open Sans", Arial, sans-serif;
  color: #333;
  margin: 0;
  background-color: #fff;
}

.container {
  display: flex;
  flex-direction: column;
  height: 95vh;
  justify-content: space-between;
  max-width: 960px;
  margin: auto;
  padding: 20px;
}

.header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0px;
  padding: 0 20px; /* Adds padding on both sides of the header */
}

.header-button {
  display: inline-flex;
  align-items: center;
  padding: 0px 20px;
  color: black;
  text-decoration: none;
  border-radius: 5px;
  font-size: 16px;
  background-color: white;
  transition: background-color 0.3s, color 0.3s;
}

.header-button i {
  margin-right: 8px;
}

.header-button:hover {
  background-color: #667bf7;
  color: white;
}

.contact-link {
  margin-right: 10px; /* Adds space to the right of each button */
}

.right-content {
  display: flex; /* Aligns the links next to each other */
}

.main-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tagline-container {
  display: flex;
  align-items: center;
  justify-content: start;
  margin: 20px 0;
  padding: 60px 0;
}

.logo {
  max-width: 300px;
  display: inline;
  margin-right: 60px;
}

.tagline {
  text-align: left;
  position: relative;
  font-size: 48px;
  color: #000;
  z-index: 1;
}

#services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.service {
  text-align: center;
  background-color: #f9f9f9;
  padding: 10px 25px;
  border-radius: 8px;
}

.service i {
  font-size: 32px;
  color: #667bf7;
  margin-left: 5px;
  margin-right: 5px;
}

.service p {
  font-size: 14px;
}

/* Hover style for the service box */
.service:hover {
  background-color: #e0e4fd; /* Darker brand color on hover */
}

footer {
  text-align: center;
  font-size: 12px;
  padding: 25px 0 0 0;
  color: #999;
}

.modal-content {
  background-color: #ffffff;
  margin: 15% auto; /* Vertically center and horizontally auto to align with container */
  padding: 50px;
  width: 100%; /* Adjust this to 100% to match container's max-width */
  max-width: 960px; /* Match the container's max-width */
  border-radius: 8px; /* Match the border-radius of the service containers */
}

.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgba(
    0,
    0,
    0,
    0
  ); /* Black with opacity for background (DISABLED) */
}

.close {
  color: #667bf7;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* responsive */
@media (max-width: 768px) {
  .container {
    padding: 10px;
    max-width: 550px;
  }

  .header {
    flex-direction: column;
    align-items: flex-start;
  }

  .main-content {
    flex-direction: column;
  }

  .tagline-container {
    flex-direction: column;
    padding: 30px 0;
  }

  .logo {
    margin: 50px auto 20px;
    max-width: 80%;
  }

  .tagline {
    font-size: 24px;
  }

  #services {
    grid-template-columns: 1fr;
  }

  .service i {
    font-size: 24px;
  }

  .modal-content {
    margin: 20% auto; /* Increase the top margin on smaller screens */
    width: 85%; /* Slightly smaller width to fit small screens */
    padding: 15px; /* Adjust padding to be proportionate */
  }

  .close {
    font-size: 32px; /* Larger close button for easier interaction */
    padding: 5px 15px; /* Larger hit area for touch devices */
  }

  .modal-content h2,
  .modal-content p {
    font-size: 16px; /* Adjust font size for readability on small screens */
  }
}
