.notifications {
  width: calc(100% - 1rem);
  max-width: 360px;
  position: fixed;
  top: 1rem;
  right: 50%;
  transform: translateX(50%);
  z-index: 1000;
}

.notification {
  transition-duration: .3s;
  animation-name: notificationAnimation;
  animation-duration: .3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}

.notification::after {
  content: '';
  bottom: 0;
  left: 0;
  height: 2px;
  position: absolute;

  animation-name: notificationTimeline;
  animation-duration: 5s;
  animation-timing-function: linear;
}

.notification a:hover {
  text-decoration: underline;
}

.notification a {
  font-weight: bold;
}

@keyframes notificationAnimation {
  from {
    opacity: 0;
    margin-top: -10%;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}
@keyframes notificationTimeline {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.notification-badge {
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  position: absolute;
  margin-left: 0.25rem;
  transform: translate(70%, -70%);
  transform-origin: 100% 0%;
  height: 16px;
  min-width: 16px;
  border-radius: 50px;
  padding: 4px 4px;
  background: red;
  color: white;
  border: 1.5px solid white;
  font-size: 0.78rem;
  font-weight: bold;
}