.lst-projects {
  padding-left: 150px;
  /* padding-right: 150px; */
  display: grid;
  grid-template-columns: repeat(3, 330px);
  grid-auto-rows: 27rem;
  column-gap: 20px;
  row-gap: 20px;
  margin-top: 14px;
  margin-bottom: 30px;
}

.project-item {
  /* border: 2px solid green; */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0rem;
  position: relative;
  /* border-radius: 0.5rem; */
}

.project-item:hover {
  box-shadow: 2px 2px 4px 0px rgba(10, 12, 15, 0.27);
  box-shadow: 0px 0px 30px 0px rgba(10, 12, 15, 0.27);
}

.project-item::before {
  background-color: #4158d0;
  background-image: linear-gradient(
    43deg,
    #4158d0 0%,
    #c850c0 46%,
    #ffcc70 100%
  );
}

.project-item::after {
  background-color: #85ffbd;
  background-image: linear-gradient(45deg, #85ffbd 0%, #fffb7d 100%);
}

.project-item::before,
.project-item::after {
  content: "";
  height: 100%;
  position: absolute;
  transition: all 0.2s;
  transition-delay: 0.2s;
  transform: translateY(0px) translateX(0px);
  width: 100%;
  z-index: -1;
  opacity: 0;
}

.project-item:hover::before {
  animation: slick-hover-2 3s 0.6s linear infinite;
  transform: translateY(-1.2rem) translateX(-1.2rem);
  opacity: 1;
}
.project-item:hover::after {
  animation: slick-hover 3s 0.6s linear infinite reverse;
  transform: translateY(1.2rem) translateX(1.2rem);
  opacity: 1;
}

@keyframes slick-hover {
  0.00%,
  100% {
    transform: translateY(20px) translateX(20px);
  }
  16.67% {
    transform: translateY(-13px) translateX(-9px);
  }
  33.33% {
    transform: translateY(4px) translateX(12px);
  }
  50.00% {
    transform: translateY(20px) translateX(-20px);
  }
  66.67% {
    transform: translateY(-3px) translateX(8px);
  }
  83.33% {
    transform: translateY(-15px) translateX(-11px);
  }
}
@keyframes slick-hover-2 {
  0.00% {
    transform: translateY(-20px) translateX(-20px);
  }
  16.67% {
    transform: translateY(3px) translateX(-5px);
  }
  33.33% {
    transform: translateY(18px) translateX(-10px);
  }
  50.00% {
    transform: translateY(-20px) translateX(20px);
  }
  66.67% {
    transform: translateY(15px) translateX(-4px);
  }
  83.33% {
    transform: translateY(-1px) translateX(15px);
  }
  100.00% {
    transform: translateY(-20px) translateX(-20px);
  }
}

#project-image > img {
  max-width: 100%;
  max-height: 100%;
  width: 31rem;
  object-fit: cover;
  /* height: 16rem; */
  /* border: 2px solid red; */
}

@keyframes pulse {
  from,
  to {
    scale: 1;
    transform: rotateY(0deg);
  }

  25% {
    scale: 1.1;
    transform: rotate(40deg);
  }

  50% {
    scale: 1.3;
    transform: rotateY(80deg);
  }

  75% {
    scale: 1.1;
    transform: translate(40deg);
  }
}

#project-image:hover > img {
  animation: pulse 600ms ease-in-out;
  border: 0.2rem solid rgb(255 255 255 / 15%);
}

.project-title {
  text-align: center;
  font-size: 2rem;
}

.header-text {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.text1 {
  color: red;
}
.text2 {
  color: black;
}

/* kabucho h1 */
:root {
  --purple: rgb(123, 31, 162);
  --violet: rgb(103, 58, 183);
  --pink: rgb(244, 143, 177);
}

@keyframes background-pan {
  from {
    background-position: 0% center;
  }

  to {
    background-position: -200% center;
  }
}

@keyframes scale {
  from,
  to {
    transform: scale(0);
  }

  50% {
    transform: scale(1);
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(180deg);
  }
}

/* sparkle h1 */

h1 > .magic {
  display: inline-block;
  position: relative;
}

h1 > .magic > .magic-star {
  --size: clamp(20px, 1.5vw, 30px);

  animation: scale 700ms ease forwards;
  display: block;
  height: var(--size);
  left: var(--star-left);
  position: absolute;
  top: var(--star-top);
  width: var(--size);
}

h1 > .magic > .magic-star > svg {
  animation: rotate 1000ms linear infinite;
  display: block;
  opacity: 0.7;
}

h1 > .magic > .magic-star > svg > path {
  fill: var(--violet);
}

h1 > .magic > .magic-text {
  animation: background-pan 3s linear infinite;
  background: linear-gradient(
    to right,
    var(--purple),
    var(--violet),
    var(--pink),
    var(--purple)
  );
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .lst-projects {
    display: block;
    padding-left: 2rem;
  }
}
