form {
  --color: 352;
}
form input.required-error::input-placeholder,
form textArea.required-error::input-placeholder {
  color: hsl(var(--color), 90%, 40%);
}
form input.required-error::-moz-placeholder,
form textArea.required-error::-moz-placeholder {
  color: hsl(var(--color), 90%, 40%);
}
form input.required-error:-ms-input-placeholder,
form textArea.required-error:-ms-input-placeholder {
  color: hsl(var(--color), 90%, 40%);
}
form .required-tip {
  position: absolute;
  padding: 0.5em 1em;
  box-shadow: 1px 3px 15px rgba(0, 0, 0, 0.1);
  font-size: 0.7em;
  background-color: hsla(var(--color), 80%, 81%, 0.98);
  animation: fadeInUp 0.4s 0.2s ease-in-out both;
  color: hsl(var(--color), 90%, 40%);
  border: 1px solid hsl(var(--color), 100%, 70%);
  border-radius: 4px;
  padding-left: 3.5em;
  backdrop-filter: blur(5px);
  z-index: 10;
}
form .required-tip::before {
  position: absolute;
  content: '¡';
  margin-right: 0.4em;
  border-radius: 50%;
  color: hsl(var(--color), 90%, 40%);
  background-color: hsl(var(--color), 80%, 70%);
  aspect-ratio: 1;
  width: 1.8em;
  height: 1.8em;
  left: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0.6em;
}
form .required-tip::after {
  position: absolute;
  content: '';
  width: 1em;
  aspect-ratio: 1;
  background-color: hsla(var(--color), 90%, 81%, 0.98);
  border-left: 1px solid hsl(var(--color), 100%, 70%);
  border-top: 1px solid hsl(var(--color), 100%, 70%);
  transform: rotateZ(45deg);
  top: -0.5em;
  left: 20%;
  backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  /* border: 1px solid rgba(28, 20, 19, 0.05); */
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.loading-form {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(5px);
}
.loading-form > div {
  width: 150px;
  height: 15px;
  margin: 0 auto;
  margin-top: 100px;
}
.loading-form > div span {
  display: inline-block;
  width: 15px;
  height: 100%;
  margin-right: 5px;
  background: rgb(25, 109, 206);
  transform-origin: right bottom;
  animation: load 1s ease infinite;
}
.loading-form > div span:last-child {
  margin-right: 0px;
}
@keyframes load {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(90deg);
  }
}
.loading-form > div span:nth-child(1) {
  animation-delay: 0.13s;
}
.loading-form > div span:nth-child(2) {
  animation-delay: 0.26s;
}
.loading-form > div span:nth-child(3) {
  animation-delay: 0.39s;
}
.loading-form > div span:nth-child(4) {
  animation-delay: 0.52s;
}
.loading-form > div span:nth-child(5) {
  animation-delay: 0.65s;
}
