@media (min-width: 100px) {
  .giftApp {
    height: 95vh;
    /*background-image: url('/images/present.png');*/
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 45%;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 0 0 0;
  }

  .giftCard {
    width: 80%;
    background-color: #000;
    height: 40vh;
    margin: 2rem 0 0 0;
    border-radius: 25px;
    animation: zoom-in 1s ease-out 1;
  }

  .giftCardBack {
    width: 80%;
    background-color: #000;
    height: 40vh;
    margin: 2rem 0 0 0;
    border-radius: 25px;
  }

  .giftCard h1,
  .giftCard h4,
  .giftCardBack h1,
  .giftCardBack h4 {
    color: #fff;
  }

  .toLabel,
  .fromLabel {
    text-align: center;
  }
  .toLabel {
    padding: 2rem;
  }
  .fromLabel {
    padding: 2rem 0 0 0;
    margin: 0 0 2.5rem 0;
  }
}

@media (min-width: 551px) {
  .giftApp {
    height: 100vh;
    /*background-image: url('/images/present.png');*/
    background-repeat: no-repeat;
    background-size: 75%;
    background-position: 50% 35%;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 0 0 0;
  }
}

@media (min-width: 760px) {
  .giftApp {
    height: 100vh;
    /*background-image: url('/images/present.png');*/
    background-repeat: no-repeat;
    background-size: 70%;
    background-position: 50% 35%;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 0 0 0;
  }

  .toLabel,
  .fromLabel {
  }

  .toLabel {
    text-align: center;
  }

  .fromLabel {
    text-align: center;
  }
}

.fr-logo {
  animation: fr-anim 0.8s ease-out 1s 1;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes zoom-in {
  0% {
    transform: scale(0, 0);
  }
  50% {
    transform: scale(0.5, 0.5);
  }
  100% {
    transform: scale(1, 1);
  }
}

@keyframes fr-anim {
  from {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}

.container {
  margin: 20px;
  width: 500px;
  height: 500px;
  perspective: 1000px;
}

.card {
  transition: transform 2s;
  transform-style: preserve-3d;
  cursor: pointer;
}

.front,
.back {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  backface-visibility: hidden;
}

.front {
  border: 2px solid black;
  background: url('http://placehold.it/250x250');
}

.front:hover {
  bottom: 2px;
  left: 2px;
  box-shadow: 0px 0px 20px 1px #000;
}

.back {
  border: 2px solid black;
  background: url('http://placehold.it/100x100');
  transform: rotateY(180deg);
}

.back:hover {
  bottom: 2px;
  right: 2px;
  box-shadow: 0px 0px 20px 1px #000;
}
