
#gallery {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 70vw;
    margin: 30px auto;
  }
  
  figure {
    cursor: pointer;
    margin: 10px;
    padding: 4px;
    position: relative;
  }
  
  figure img {
    width: 100%;
  }
  
  img {
    filter: hue-rotate(10);
    padding: 0px;
    border: 3px solid #fff;
    box-shadow: 0px 0px 3px #ccc;
    z-index: -1;
    position: relative;
    width: 100%;
    box-sizing: border-box;
  }
  
  .colorturn {
    filter: hue-rotate(330deg) saturate(0.8);
  }
  
  figcaption {
    background-color: rgba(255, 255, 255, 0.5);
    width: 100%;
    text-align: center;
    color: #000000;
    z-index: 1;
    padding: 8px 20px 10px 0px;
    text-transform: uppercase;
    font-size: 1vw;
    position: absolute;
    bottom: -36px;
  }
  
  @media screen and (max-width: 600px) {
    figcaption {
      font-size: 3vw;
    }
    #gallery {
      grid-template-columns: 1fr;
      width: 90vw;
    }
  }
  
  .heart::before {
    font-family: "FontAwesome";
    content: "\f004";
    top: 0.4em;
    left: 0.5em;
    color: #fff;
    z-index: 1000;
    font-size: 2vw;
    position: absolute;
    opacity: 0;
    transform: scale(0);
    animation: animat 4.5s ease-in-out forwards;
  }
  
  .dark::before {
    color: #5e423f;
  }
  
  @keyframes animat {
    0% {
      opacity: 0;
      transform: scale(0);
    }
  
    10% {
      opacity: 1;
      transform: scale(1.2);
    }
  
    20% {
      opacity: 1;
      transform: scale(1);
    }
    
    90% {
      opacity: 1;
      transform: scale(1);
    }
    100% {
      opacity: 0;
      transform: scale(0);
    }
  }
  