.auto-form .input-contain {
  position: relative;
}

.auto-form .image-upload {
  position: relative;
  overflow: hidden;
}

/* input */

.input-contain>select.auto-input+.validated::after,
.input-contain>input.auto-input+.validated::after,
.input-contain>textarea.auto-input+.validated::after {
  content: '';
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  right: 11px;
  top: 50%;
  z-index: 1;
}

.input-contain .validated::after {
  content: '';
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  right: 11px;
  top: 50%;
  z-index: 1;
}

.input-contain>select.auto-input+.validated.loader::after,
.input-contain>input.auto-input+.validated.loader::after,
.input-contain>textarea.auto-input+.validated.loader::after {
  content: '';
  border: 2.5px solid #f3f3f3;
  border-top: 2.5px solid #3498db;
  border-bottom: 2.5px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  -webkit-animation: spin 2s linear infinite;
  -moz-animation: spin 2s linear infinite;
  -o-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  right: 11px;
  top: 9px;
}

.input-contain .validated.loader::after {
  content: '';
  border: 2.5px solid #f3f3f3;
  border-top: 2.5px solid #3498db;
  border-bottom: 2.5px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  -webkit-animation: spin 2s linear infinite;
  -moz-animation: spin 2s linear infinite;
  -o-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  right: 11px;
  top: 9px;
}

.input-contain>select.auto-input+.validated.success,
.input-contain>select.auto-input+.validated.error,
.input-contain>input.auto-input+.validated.success,
.input-contain>input.auto-input+.validated.error,
.input-contain>textarea.auto-input+.validated.success,
.input-contain>textarea.auto-input+.validated.error {
  z-index: 1;
}
.input-contain .validated.success,
.input-contain .validated.error {
  z-index: 1;
}

.input-contain>select.auto-input+.validated.error::after,
.input-contain>input.auto-input+.validated.error::after,
.input-contain>textarea.auto-input+.validated.error::after {
  content: 'Error';
  color: red;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain .validated.error::after {
  content: 'Error';
  color: red;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain>select.auto-input+.validated.error::after,
.input-contain>input.auto-input+.validated.error::after {
  transform: translateY(-50%);
}

.input-contain .validated.error::after {
  transform: translateY(-50%);
}

.input-contain>textarea.auto-input+.validated.error::after {
  top: 5px;
}

.input-contain>select.auto-input+.validated.success::after,
.input-contain>input.auto-input+.validated.success::after,
.input-contain>textarea.auto-input+.validated.success::after {
  content: 'Success';
  color: green;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain .validated.success::after {
  content: 'Success';
  color: green;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain>select.auto-input+.validated.success::after,
.input-contain>input.auto-input+.validated.success::after {
  transform: translateY(-50%);
}

.input-contain .validated.success::after {
  transform: translateY(-50%);
}

.input-contain>textarea.auto-input+.validated.success::after {
  top: 10px;
}

/* input radio-checkbox */

.input-contain.radio-checkbox .validated::after {
  content: '';
  position: absolute;
  font-size: 12px;
  font-weight: bold;
  right: 11px;
  top: 50%;
  z-index: 1;
}

.input-contain.radio-checkbox .validated.loader::after {
  content: '';
  border: 2.5px solid #f3f3f3;
  border-top: 2.5px solid #3498db;
  border-bottom: 2.5px solid #3498db;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  -webkit-animation: spin 2s linear infinite;
  -moz-animation: spin 2s linear infinite;
  -o-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  right: 11px;
  top: 9px;
}

.input-contain.radio-checkbox .validated.success,
.input-contain.radio-checkbox .validated.error {
  z-index: 1;
}

.input-contain.radio-checkbox .validated.error::after {
  content: 'Error';
  color: red;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain.radio-checkbox .validated.error::after {
  transform: translateY(-50%);
}

.input-contain.radio-checkbox .validated.success::after {
  content: 'Success';
  color: green;
  opacity: 0;
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.input-contain.radio-checkbox .validated.success::after {
  transform: translateY(-50%);
}

/* img */

.image-upload .validated::after {
  content: '';
  position: absolute;
  font-size: 3rem;
  font-weight: bold;
  left: 50%;
  top: 50%;
  z-index: 1;
}

.image-upload .validated.loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  z-index: 1;
}

.image-upload .validated span {
  display: none;
}

.image-upload .validated.loader span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  color: #fff;
  text-align: center;
  display: block;
}

.image-upload .validated.loader::after {
  content: '';
  border: 2.5px solid #f3f3f3;
  border-top: 2.5px solid #3498db;
  border-bottom: 2.5px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  -webkit-animation: img-spin 2s linear infinite;
  -moz-animation: img-spin 2s linear infinite;
  -o-animation: img-spin 2s linear infinite;
  animation: img-spin 2s linear infinite;
  left: unset;
  top: unset;
}

.image-upload .validated.error::after {
  content: 'Error';
  /* color: red; */
  background: -webkit-linear-gradient(rgba(220, 53, 69, .15), rgb(220, 53, 69));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
  opacity: 0;
  transform: translate(-50%, -50%);
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.image-upload .validated.success::after {
  content: 'Success';
  /* color: green; */
  background: -webkit-linear-gradient(rgba(40, 167, 69, .15), #28a745);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
  opacity: 0;
  transform: translate(-50%, -50%);
  -webkit-animation: fadeInOut 1.5s;
  -moz-animation: fadeInOut 1.5s;
  -o-animation: fadeInOut 1.5s;
  animation: fadeInOut 1.5s;
}

.image-upload .validated.loader~.btn-change-image {
  filter: blur(10px);
}


@keyframes img-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-o-keyframes img-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-moz-keyframes img-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes img-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-o-keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-moz-keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-o-keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-moz-keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}