:root {
  --inmo-form-dark: #34495e;
  --inmo-form-light: #ffffff;
  --inmo-form-success: #0abf30;
  --inmo-form-error: #e24d4c;
}

.notifications {
  position: fixed;
  top: 30px;
  right: 20px;
  z-index: 1000;
}
.notifications :where(.toast, .column) {
  display: flex;
  align-items: center;
}
.notifications .toast {
  width: 400px;
  position: relative;
  overflow: hidden;
  list-style: none;
  border-radius: 4px;
  padding: 16px 17px;
  margin-bottom: 10px;
  background: var(--inmo-form-light);
  justify-content: space-between;
  animation: show_toast 0.3s ease forwards;
}
@keyframes show_toast {
  0% {
    transform: translateX(100%);
  }
  40% {
    transform: translateX(-5%);
  }
  80% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-10px);
  }
}
.notifications .toast.hide {
  animation: hide_toast 0.3s ease forwards;
}
@keyframes hide_toast {
  0% {
    transform: translateX(-10px);
  }
  40% {
    transform: translateX(0%);
  }
  80% {
    transform: translateX(-5%);
  }
  100% {
    transform: translateX(calc(100% + 20px));
  }
}
.toast::before {
  position: absolute;
  content: "";
  height: 3px;
  width: 100%;
  bottom: 0px;
  left: 0px;
  animation: progress 5s linear forwards;
}
@keyframes progress {
  100% {
    width: 0%;
  }
}
.toast.success::before {
  background: var(--inmo-form-success);
}
.toast.error::before {
  background: var(--inmo-form-error);
}
.toast .column span {
  font-size: 1.07rem;
  margin-left: 12px;
}
.toast .close-btn:last-child {
  color: #aeb0d7;
  cursor: pointer;
}
.toast .close-btn:last-child:hover {
  color: var(--inmo-form-dark);
}

@media screen and (max-width: 530px) {
  .notifications {
    width: 95%;
  }
  .notifications .toast {
    width: 100%;
    font-size: 1rem;
    margin-left: 20px;
  }
}
