@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #f7f7f7;
}

.horizontal {
  display: flex;
  justify-content: space-evenly;
}

.boujee-text {
  --bg-size: 400%;
  --color-one: hsl(15 90% 55%);
  --color-two: hsl(40 95% 55%);
  font-size: clamp(3rem, 10vmin, 8rem);
  background: linear-gradient(90deg,
      var(--color-one),
      var(--color-two),
      var(--color-one)) 0 0 / var(--bg-size) 100%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  animation: move-bg 8s infinite linear;
}

@media (prefers-reduced-motion: no-preference) {
  .boujee-text {
    animation: move-bg 8s linear infinite;
  }

  @keyframes move-bg {
    to {
      background-position: var(--bg-size) 0;
    }
  }
}


.container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 10%;
}

.container .box {
  position: relative;
  width: 400px;
  height: 70px;
  background: #fff;
  cursor: pointer;
  transition: 0.5s ease-in-out;
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.25);
}

.container .box::before {
  content: '';
  position: absolute;
  width: 6px;
  height: 100%;
  background: var(--clr);
  transition: 0.5s ease-in-out;
}

.container .box:hover::before {
  width: 100%;
}

.container .box .content {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.container .box .content .icon {
  position: relative;
  padding-left: 10px;
  min-width: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container .box .content .icon ion-icon {
  font-size: 2.5em;
  color: var(--clr);
  transition: 0.5s ease-in-out;
}

.container .box:hover .content .icon ion-icon {
  color: #fff;
}

.container .box .content .text h3 {
  padding-left: 5px;
  font-weight: 500;
  color: var(--clr);
}

.container .box .content .text p {
  padding-left: 5px;
  font-size: 0.9em;
  color: #999;
  transition: 0.5s ease-in-out;
}

.container .box:hover .content .text h3,
.container .box:hover .content .text p {
  color: #fff;
}


.emoji {
  width: 120px;
  height: 120px;
  margin: 15px 15px;
  background: #ffda6a;
  display: inline-block;
  border-radius: 50%;
  position: relative;
}

.emoji:after {
  position: absolute;
  bottom: -40px;
  font-size: 18px;
  width: 60px;
  left: calc(50% - 30px);
  color: #8a8a8a;
}

.emoji__face,
.emoji__eyes,
.emoji__mouth,
.emoji__tongue {
  position: absolute;
}

.emoji__face:before,
.emoji__face:after,
.emoji__eyes:before,
.emoji__eyes:after,
.emoji__mouth:before,
.emoji__mouth:after,
.emoji__tongue:before,
.emoji__tongue:after {
  position: absolute;
  content: "";
}

.emoji__face {
  width: inherit;
  height: inherit;
}

.emoji--haha:after {
  content: "";
}

.emoji--haha .emoji__face {
  -webkit-animation: haha-face 2s linear infinite;
  animation: haha-face 2s linear infinite;
}

.emoji--haha .emoji__eyes {
  width: 26px;
  height: 6px;
  border-radius: 2px;
  left: calc(50% - 13px);
  top: 35px;
  transform: rotate(20deg);
  background: transparent;
  box-shadow: -25px 5px 0 0 #000000, 25px -5px 0 0 #000000;
}

.emoji--haha .emoji__eyes:after {
  left: 0;
  top: 0;
  width: 26px;
  height: 6px;
  border-radius: 2px;
  transform: rotate(-40deg);
  background: transparent;
  box-shadow: -25px -5px 0 0 #000000, 25px 5px 0 0 #000000;
}

.emoji--haha .emoji__mouth {
  width: 80px;
  height: 40px;
  left: calc(50% - 40px);
  top: 50%;
  background: #000000;
  border-radius: 0 0 40px 40px;
  overflow: hidden;
  z-index: 1;
  -webkit-animation: haha-mouth 2s linear infinite;
  animation: haha-mouth 2s linear infinite;
}

.emoji--haha .emoji__tongue {
  width: 70px;
  height: 30px;
  background: #f55064;
  left: calc(50% - 35px);
  bottom: -10px;
  border-radius: 50%;
}

@-webkit-keyframes haha-face {
  10% {
    transform: translateY(25px);
  }

  20% {
    transform: translateY(15px);
  }

  30% {
    transform: translateY(25px);
  }

  40% {
    transform: translateY(15px);
  }

  50% {
    transform: translateY(25px);
  }

  60% {
    transform: translateY(0);
  }

  70% {
    transform: translateY(-10px);
  }

  80% {
    transform: translateY(0);
  }

  90% {
    transform: translateY(-10px);
  }
}

@keyframes haha-face {
  10% {
    transform: translateY(25px);
  }

  20% {
    transform: translateY(15px);
  }

  30% {
    transform: translateY(25px);
  }

  40% {
    transform: translateY(15px);
  }

  50% {
    transform: translateY(25px);
  }

  60% {
    transform: translateY(0);
  }

  70% {
    transform: translateY(-10px);
  }

  80% {
    transform: translateY(0);
  }

  90% {
    transform: translateY(-10px);
  }
}

@-webkit-keyframes haha-mouth {
  10% {
    transform: scale(0.6);
    top: 45%;
  }

  20% {
    transform: scale(0.8);
    top: 45%;
  }

  30% {
    transform: scale(0.6);
    top: 45%;
  }

  40% {
    transform: scale(0.8);
    top: 45%;
  }

  50% {
    transform: scale(0.6);
    top: 45%;
  }

  60% {
    transform: scale(1);
    top: 50%;
  }

  70% {
    transform: scale(1.2);
    top: 50%;
  }

  80% {
    transform: scale(1);
    top: 50%;
  }

  90% {
    transform: scale(1.1);
    top: 50%;
  }
}

@keyframes haha-mouth {
  10% {
    transform: scale(0.6);
    top: 45%;
  }

  20% {
    transform: scale(0.8);
    top: 45%;
  }

  30% {
    transform: scale(0.6);
    top: 45%;
  }

  40% {
    transform: scale(0.8);
    top: 45%;
  }

  50% {
    transform: scale(0.6);
    top: 45%;
  }

  60% {
    transform: scale(1);
    top: 50%;
  }

  70% {
    transform: scale(1.2);
    top: 50%;
  }

  80% {
    transform: scale(1);
    top: 50%;
  }

  90% {
    transform: scale(1.1);
    top: 50%;
  }
}