/* CSS reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, system-ui, "Segoe UI", Helvetica, Arial, sans-serif,
  "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

* {
  margin: 0;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1 {
  margin-bottom: 15px; 
}

header h1 {
  font-size: 3em;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

header {

  background: hsla(213, 72%, 65%, 1);

  background: linear-gradient(
    270deg,
    hsla(213, 72%, 65%, 1) 0%,
    hsla(0, 0%, 100%, 1) 100%
  );

  background: -moz-linear-gradient(
    270deg,
    hsla(213, 72%, 65%, 1) 0%,
    hsla(0, 0%, 100%, 1) 100%
  );

  background: -webkit-linear-gradient(
    270deg,
    hsla(213, 72%, 65%, 1) 0%,
    hsla(0, 0%, 100%, 1) 100%
  );

  filter: progid: DXImageTransform.Microsoft.gradient( startColorstr="#65A0E6", endColorstr="#FFFFFF", GradientType=1 );

  display: flex;
  padding: 50px;
  gap: 30px;
}

header,
main {
  padding: 2rem;
}

footer {
  display: flex;
  padding: 30px;
  background:  hsla(213, 69%, 68%, 0.5);
  box-shadow: rgba(0, 0, 0, 0.16) 0px -3px 5px 0px;
}

.contact-info-container {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 10px;
  
}


header img {
  border-radius: 8px;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px,
    rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

footer img {
  max-height: 550px;
  border-radius: 8px;
}

svg {
  display: block;
  width: 44px;
  height: 44px;
  transition: transform 0.3s ease-in-out;
}

svg:hover {
  transform: scale(1.3);
}

.about-me {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding: 1rem;
}

.about-me .social-media-icons {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.contact-info-container .social-media-icons {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.footer-icons {
  display: flex;
  gap: 8px;
}

#container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, auto));
  gap: 2rem;
}

.projectCard {
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px,
    rgba(39, 37, 37, 0.23) 0px 3px 6px;
  opacity: 0;
  border-radius: 5px;
  transition: opacity 1s ease-in-out 0.5s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.projectCard > h3,
.projectCard > p {
  padding: 0.5rem 1rem;
}

.projectCard > a {
  display: flex;
  text-decoration: none;
  color: black;
  align-items: center;
  font-weight: bold;
}

/* Ensure images maintain their aspect ratio:*/
.projectCard img {
  max-height: 480px; 
  max-width: 100%; 
  width: auto; 
  height: auto;
  object-fit: contain; 
  margin: 0 auto; 
}


/* mobile */
@media (max-width: 600px) {
  header picture {
    padding: 1rem;
    justify-content: center;
  }

  header h1 {
    position: absolute;
    top: 7%;
    left: 15%;
    font-size: 1.7em;
  }

  header {
    display: block;
  }

  main > h2 {
    text-align: center;
    margin-bottom: 1rem;
  }

  footer {
    display: block;
    padding: 0;
  }

  #infront-korean-temple {
    padding: 10px;
    display: block;
    margin: auto;
    justify-content: center;
  }
}

/* Desktop */
@media (min-width: 1100px) {
  .projectCard > a > span {
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }

  .projectCard > a:hover > span {
    opacity: 1;
    animation: slide-in 0.6s ease-in-out;
  }

  @keyframes slide-in {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(0%);
    }
  }

  header {
    padding: 6rem;
  }
}