:root {
  --body-bg-img: url('./images/snow2.gif');
}

body {
  background-image: var(--body-bg-img);
  background-repeat: repeat;
  background-size: auto;
  background-color: black;
}

.wrapper {
  height: 100vh; /* Take full viewport height */
  display: flex; /* Use flexbox for centering */
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
  margin: 0; /* Remove default margin */
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-auto-rows: minmax(200px, auto);
  gap: 10px;
  max-width: 80%; /* Limits width to 80% of the page */
  margin: 0 auto; /* Centers the grid horizontally */
  padding: 10px; /* Adds space on the sides */
}

.grid-items {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 2px solid #333;
  padding: 20px;
  text-align: center;
  font-size: 20px;
  color: white;
  height: 500px;
  background-color: rgba(128, 128, 128, 0.2);
}

.link-div {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  width: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth hover effect */
}

.link-div:hover .nav{
  background-color: rgba(128, 128, 128, 0.2);
  transform: scale(1.02); /* Slight zoom-in effect */
  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.3); /* Enhanced shadow on hover */
  text-decoration: underline;
}

/*about me specific stuff*/

.about-me-div {
  max-width: 80%;
  background-color: rgba(128, 128, 128, 0.2);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 2px solid #333;
  padding: 50px;
  text-align: center;
  font-size: 20px;
  color: white;
  height: 500px;
}

#footer-nav {
  text-decoration: none;
  color: white;
}

#footer-nav:hover {
  text-decoration: underline;
}

footer {
    text-align: center;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    position: fixed;
    bottom: 0;
    width: 100%;
}

/*projects stuff*/
main {
  color: white;
  padding: 10px;
  margin: 0 auto;
  max-width: 80%;
}

.project-box {
  display: flex;
  align-items: center; /* Centers content vertically */
  justify-content: space-between; /* Pushes text and image to opposite sides */
  max-width: 900px; /* Adjust width as needed */
  margin: 50px auto; /* Centers the div */
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.1); /* Semi-transparent background */
  border: white;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); /* Shadow for depth */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth hover effect */
}

.project-box:hover {
  transform: scale(1.02); /* Slight zoom-in effect */
  box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.3); /* Enhanced shadow on hover */
}

.text-side {
    flex: 1; /* Takes available space */
    padding-right: 20px; /* Adds space between text and image */
}

.image-side img {
    width: 250px; /* Set image size */
    border-radius: 10px; /* Optional rounded corners */
}

.contact-links a {
  text-decoration: none;
  color: #00bcd4;
}

.contact-links a:hover {
  text-decoration: underline;
  color: gray;
}

/* obviously i did not write these media queries, gpt did. why? cause i'm lazy*/
/*ps: i shouldn't have been lazy, this looks like shit*/

/* Mobile devices (max-width: 600px) */
@media (max-width: 600px) {
  .wrapper {
    height: auto; /* Allow content to dictate height */
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .grid-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90%;
  }

  .grid-items {
    width: 100%;
    height: auto;
    padding: 15px;
  }

  img {
    width: 150px; /* Reduce image size */
  }

  /* Fix "About Me" text overflowing */
  .about-me-div {
    max-width: 90%;
    height: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
    padding: 20px;
  }

  /* Fix footer centering */
  footer {
    text-align: center;
    width: 100%;
    position: relative; /* Remove fixed positioning */
  }
}

/* Tablets (max-width: 900px) */
@media (max-width: 900px) {
  .grid-container {
    grid-template-columns: 1fr; /* Stack items vertically */
  }

  .grid-items {
    height: auto;
  }

  .nav {
    font-size: 18px; /* Slightly smaller text */
  }
}

