.snackbar {
  box-sizing: border-box;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.84);
  color: #fff;
  text-align: center;
  border-radius: 2px;
  padding: 1rem 2.5rem 1rem 1rem;
  position: fixed;
  z-index: 99;
  min-width: 250px;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: row;
  align-items: center;
}
.snackbar *,
.snackbar *::before,
.snackbar *::after {
  box-sizing: inherit;
}
.snackbar .close {
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  position: absolute;
  right: 5px;
  top: 50%;
  font-size: 1.5rem;
  transform: translateY(-50%);
  padding: 0.25rem 0.5rem;
  font-weight: 300;
}
.snackbar .close:hover {
  background: #000;
}

.snackbar.show {
  visibility: visible;
  animation: fadein 1s;
}

@keyframes fadein {
  from {
    bottom: 0;
    opacity: 0;
  }
  to {
    bottom: 30px;
    opacity: 1;
  }
}
