@font-face {
  font-family: 'Chakra Petch';
  src: url('./assets/ChakraPetch-Bold.woff2') format('woff2');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Chakra Petch';
  src: url('./assets/ChakraPetch-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}

* {
  position: relative;
  box-sizing: border-box;
  margin: 0;
}

body {
  width: 100vw;
  height: 100vh;
  background-image: url(./assets/grass_background.svg);
  background-repeat: repeat;
  display: flex;
  justify-content: center;
  overflow-x: hidden;
  font-family: 'Chakra Petch', sans-serif;
  color: white;
}

.graveyard {
  height: fit-content;
  min-height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;

  & .graveyard__placeholder {
    height: 10em;
  }

  & .graveyard__left, & .graveyard__right {
    width: 21.25%;
    padding: 3em 0;
  }
  
  & .graveyard__dirt-path {
    background-image: url(./assets/dirt_path.svg);
    background-size: contain;
    background-repeat: repeat-y;
    background-position: center;
    width: 15%;
  }

  & .graveyard__tombstone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 1em;

    & .graveyard__tombstone--header {
      & .graveyard__tombstone--header-name {
        font-weight: bold;
        font-size: 20pt;
        transform: translateY(1em);
        transition: transform 0.4s ease-out;
      }
      
      & .graveyard__tombstone--header-class {
        font-weight: 500;
        font-size: 16pt;
      }
    }
    
    & .graveyard__tombstone--image {
      width: 5em;
    }

    & .graveyard__tombstone--date {
      font-weight: 500;
      font-size: 12pt;
    }
    
    & .graveyard__tombstone--description {
      font-weight: 500;
      font-size: 14pt;
    }

    & .graveyard__tombstone--info,
      .graveyard__tombstone--header-class {
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease-out;
    }

  }

  & .graveyard__tombstone:hover .graveyard__tombstone--info,
    .graveyard__tombstone:hover .graveyard__tombstone--header-class {
    opacity: 1;
    pointer-events: auto;
  }

  & .graveyard__tombstone:hover .graveyard__tombstone--header-name {
    transform: translateY(0);
  }
}

#pixel-rain-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}
.pixel-rain-svg {
  width: 100vw;
  height: 100vh;
  display: block;
}
.pixel-drop {
  fill: #0070b8; /* darker blue */
  opacity: 0.7;
  animation: pixel-rain-fall linear infinite;
}

@keyframes pixel-rain-fall {
  0% {
    transform: translateY(-10px);
    opacity: 0.7;
  }
  90% {
    opacity: 0.7;
  }
  100% {
    transform: translateY(100vh);
    opacity: 0;
  }
}