/* General Styles */
body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  background-color: #111;
  color: #fff;
  overflow-x: hidden; /* Prevent horizontal scrolling */
}

a {
  color: inherit;
  text-decoration: none;
}

/* Hero Section */
.hero-section {
  display: flex; /* Flexbox for layout */
  align-items: center; /* Center items vertically */
  justify-content: center; /* Center items horizontally */
  padding: 50px 20px; /* Padding around the hero section */
  background-color: black; /* Background color for hero section */
  color: #fff; /* Text color */
  gap: 50px; /* Reasonable gap for content on larger screens */
  flex-wrap: wrap; /* Allow items to wrap on smaller screens */
  max-width: 100%; /* Ensure hero section fits within the screen */
  margin: 0 auto; /* Center the hero section */
}

.hero-content {
  max-width: 100%; /* Full width on small screens */
  flex: 1 1 300px; /* Allow flexbox to adjust width */
  margin-right: 0; /* Remove right margin */
  text-align: center; /* Center-align text on smaller screens */
  padding: 20px; /* Add padding */
}

.hero-content h2 {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.hero-content h1 {
  font-size: 50px;
  margin: 0;
  line-height: 1.2;
}

.highlight {
  color: #4a8fe7; /* Customize this color */
}

.hero-content p {
  margin: 20px 0;
  line-height: 1.6;
  font-family: 'Roboto', sans-serif; /* Example font for p */
  font-size: 18px; /* Example font size */
  color: white; /* Text color for p */
}

.cta-button {
  background-color: #fff;
  color: #000;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 15px;
  border: 3px solid #4b4b4b;
  display: inline-block;
}

.hero-image {
  width: 300px; /* Set a fixed width for the portrait image */
  height: 400px; /* Set a fixed height for the portrait image */
  overflow: hidden; /* Hide overflow to crop the image */
  border-radius: 90px; /* Add rounded corners for the portrait frame */
  border: 5px solid #4b4b4b; /* Add a border to the portrait frame */
  display: flex; /* Flexbox to center the image */
  align-items: center;
  justify-content: center;
  margin: 20px auto; /* Center the image on smaller screens */
  flex: 1 1 250px; /* Flexbox control */
}

.hero-image img {
  width: 100%; /* Make sure the image covers the container */
  height: 100%; /* Make sure the image covers the container */
  object-fit: cover; /* Crop the image to fill the container */
  object-position: center; /* Center the image within the container */
}

/* Services Section */
.services-section {
  text-align: center;
  padding: 50px 20px;
  background-image: url('../styles/photos/blacktexturebackground.jpg'); /* Update with your image path */
  background-size: cover; /* Ensures the background covers the entire section */
  background-position: center; /* Centers the background image */
  background-repeat: no-repeat; /* Prevents the background image from repeating */
  color: #fff; /* Changed text color to white for better visibility */
  max-width: 100%; /* Ensure services section fits within the screen */
  margin: 0 auto; /* Center the services section */
  overflow: hidden; /* Prevent overflow */
}

.services-section h2 {
  font-size: 2.5rem;
  margin-bottom: 40px;
  color: #fff; /* Ensures the heading color is readable over the background */
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Responsive grid */
  gap: 20px;
  max-width: 100%; /* Ensure grid does not exceed screen width */
  padding: 20px; /* Add padding to match hero section */
  margin: 0 auto; /* Center the grid */
  box-sizing: border-box; /* Include padding in width calculation */
}

.service-card {
  background-color: black; /* Solid color for service cards */
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  color: #fff; /* Text color for service cards */
  max-width: 100%; /* Ensure card does not exceed screen width */
  margin: 0 auto; /* Center card */
  position: relative;
}

.service-icon {
  font-size: 2rem;
  color: #4a8fe7;
  display: block;
  margin-bottom: 15px;
}

.service-card h3 {
  margin: 10px 0;
  font-size: 1.5rem;
  color: #fff; /* Ensures the heading color is readable */
}

.service-card p {
  font-size: 1rem;
  color: #ddd; /* Lightens text for better readability */
}

.service-link {
  display: block;
  margin-top: 15px; /* Space above the image */
  text-decoration: none; /* No underline for links */
}

/* General styles for all service images */
.service-image {
  max-width: 100%; /* Ensure images do not exceed the card width */
  border-radius: 5px; /* Optional: Add rounded corners to the images */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: Add shadow for effect */
  display: block; /* Ensure images are block-level elements */
  margin: 10px auto; /* Center images */
}

/* Specific styles for individual images */
.mike-kruce-photo, .pwa-logo, .great-white-logo {
  max-width: 300px; /* Set a maximum width */
  height: auto; /* Maintain aspect ratio */
  margin-top: 10px; /* Optional: Adjust spacing above the image */
  margin-bottom: 10px; /* Optional: Adjust spacing below the image */
}

/* About Me Section */
.about-me {
  display: flex; /* Use Flexbox for centering */
  justify-content: center; /* Center content horizontally */
  align-items: center; /* Center content vertically */
  padding: 50px 20px;
  background-color: #111;
  color: #fff;
  text-align: center; /* Center the text */
}

.about-content {
  max-width: 800px; /* Restrict width for better readability */
  margin: 0 auto; /* Center the content */
  line-height: 1.8; /* Improve readability */
}

.about-content h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #4a8fe7; /* Custom color for heading */
}

.about-content p {
  font-size: 1.1rem;
  margin-bottom: 20px;
  color: #ddd; /* Lighter color for paragraphs */
  text-align: center; /* Center the text */
}

/* Skills Section */
.skills-section {
  padding: 50px 20px;
  background-color: #111;
  color: #fff;
  text-align: center; /* Center the text */
}

.skills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.skill-card {
  background-color: #000;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center; /* Center text in skill cards */
}

.skill-card h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
  color: #4a8fe7; /* Custom color for skill card headings */
}

.skill-card p {
  font-size: 1rem;
  color: #ddd;
}

/* Footer Section */
.footer-section {
  background-color: #111;
  color: #fff;
  padding: 20px;
  text-align: center;
}

.footer-content p {
  margin: 0;
}

.social-icons a {
  color: #fff;
  margin: 0 10px;
  text-decoration: none;
  font-size: 1rem;
}

/* Media Queries */

/* For small devices (mobile phones, portrait tablets) */
@media (max-width: 600px) {
  .hero-section {
    flex-direction: column; /* Stack the content vertically */
    gap: 20px; /* Reduce gap between content */
    padding: 20px; /* Reduce padding */
  }

  .hero-content, .hero-image {
    max-width: 100%; /* Full width on small screens */
    margin: 0 auto; /* Center-align on smaller screens */
    text-align: center; /* Center-align text */
  }

  .hero-content h1 {
    font-size: 32px; /* Reduce heading size */
  }

  .services-grid {
    grid-template-columns: 1fr; /* Single column layout */
    padding: 10px; /* Reduce padding */
  }

  .service-card {
    padding: 15px; /* Reduce padding */
    margin-bottom: 20px; /* Add space between cards */
  }
}

/* For medium devices (landscape tablets, small laptops) */
@media (min-width: 601px) and (max-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr); /* Two columns layout */
    gap: 20px; /* Adjust gap */
  }

  .service-card {
    padding: 20px; /* Adjust padding */
  }
}
