.form-control-placeholder {
  position: absolute;
  transition: all 200ms;
  opacity: 1;
  left: 0px;
  top: 18px;
}

.form-control:focus + .form-control-placeholder,
.dirty {
  font-size: 14px;
  transform: translate3d(0, -100%, 0);
  opacity: 1;
  border: none;
  outline: none;
  top: 8px;
  color: #000;
}

.input {
  width: 100% !important;
  height: 50px;
  border: none;
  font-size: 18px;
  font-weight: bold;
  color: #000;
  text-align: left;
  line-height: 21px;
  caret-color: #f70400;
  font-family: 'Open Sans';
  opacity: 1;
  margin-bottom: 1px;
}

input:focus {
  outline: none;
  border: none;
}

label {
  font-size: 18px;
  font-weight: bold;
  color: #557596 !important;
  text-align: left;
  line-height: 21px;
}

.invalid-feedback {
  top: 20px;
  right: 0;
  text-align: right;
  animation: shake 0.3s cubic-bezier(0.7, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  position: absolute;
  font-size: 14px;
  font-weight: bold;
  color: #f70400;
}

.invalid-feedback-under {
  top: 60px;
}

.error-visible {
  width: 65%;
}

.error {
  background-color: #f70400;
}

@keyframes shake {
  10% {
    transform: translate3d(-1px, 0, 0);
  }

  50% {
    transform: translate3d(2px, 0, 0);
  }

  70% {
    transform: translate3d(-3px, 0, 0);
  }

  90% {
    transform: translate3d(3px, 0, 0);
  }
}

/* 
  ##Device = Big Desktops
*/
@media (min-width: 1281px) {
  .app-modal-body {
    width: 917px;
  }
}

/* 
  ##Device = Laptops, Desktops, Ipad pro
*/
@media (min-width: 1025px) and (max-width: 1280px) {
  .app-modal-body {
    width: 917px;
  }
}

/* 
  ##Device = Tablets, Ipads
*/
@media (min-width: 768px) and (max-width: 1024px) {
  .app-modal-body {
    width: 738px;
  }
}

/* 
  ##Device = Low Resolution Tablets, Mobiles (Landscape)
*/
@media (min-width: 481px) and (max-width: 767px) {
  .app-modal-body {
    width: 94%;
  }
}

/* 
  ##Device = Most of the Smartphones Mobiles (Portrait)
*/
@media (min-width: 320px) and (max-width: 480px) {
  .app-modal-body {
    width: 94%;
  }
}
