.ajaxy-form .button.loading,
.ajaxy-form .btn.loading,
.ajaxy-form button.loading,
.ajaxy-form input[type=button].loading,
.ajaxy-form input[type=reset].loading,
.ajaxy-form input[type=submit].loading {
  position: relative;
  transition: all 0.3s;
  padding-left: 36px !important;
}
.ajaxy-form .button.loading::before,
.ajaxy-form .btn.loading::before,
.ajaxy-form button.loading::before,
.ajaxy-form input[type=button].loading::before,
.ajaxy-form input[type=reset].loading::before,
.ajaxy-form input[type=submit].loading::before {
  animation: rotation 1s linear infinite;
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICAgICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MCwyNSBDNTAsMzguOCAzOC44LDUwIDI1LDUwIEMxMS4yLDUwIDAsMzguOCAwLDI1IEMwLDExLjIgMTEuMiwwIDI1LDAgQzM4LjgsMCA1MCwxMS4yIDUwLDI1IFoiIGlkPSJwYXRoLXlua20xMGY2c2ItMSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay15bmttMTBmNnNiLTIiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgteW5rbTEwZjZzYi0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPgogICAgICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9ImxvYWRlci1uZXciIHN0cm9rZT0iIzAwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGlkPSJQYXRoIiBtYXNrPSJ1cmwoI21hc2steW5rbTEwZjZzYi0yKSIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtZGFzaGFycmF5PSIzMS42MTc5LDE2OC4wODkiIHhsaW5rOmhyZWY9IiNwYXRoLXlua20xMGY2c2ItMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjUsMiBDMzEuMzQ4LDIgMzcuMDk3ODQxMSw0LjU3NjI2ODI0IDQxLjI2MDc4NjQsOC43MzkyMTM1NiBDNDUuNDIzNzMxOCwxMi45MDIxNTg5IDQ4LDE4LjY1MiA0OCwyNSBDNDgsMzEuMzQ4IDQ1LjQyMzczMTgsMzcuMDk3ODQxMSA0MS4yNjA3ODY0LDQxLjI2MDc4NjQgQzM3LjA5Nzg0MTEsNDUuNDIzNzMxOCAzMS4zNDgsNDggMjUsNDggQzE4LjY1Miw0OCAxMi45MDIxNTg5LDQ1LjQyMzczMTggOC43MzkyMTM1Niw0MS4yNjA3ODY0IEM0LjU3NjI2ODI0LDM3LjA5Nzg0MTEgMiwzMS4zNDggMiwyNSBDMiwxOC42NTIgNC41NzYyNjgyNCwxMi45MDIxNTg5IDguNzM5MjEzNTYsOC43MzkyMTM1NiBDMTIuOTAyMTU4OSw0LjU3NjI2ODI0IDE4LjY1MiwyIDI1LDIgTDI1LDIgWiIgaWQ9IlBhdGgiIHN0cm9rZS1vcGFjaXR5PSIwLjUiIHN0cm9rZS13aWR0aD0iNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9zdmc+);
  height: 20px;
  left: 8px;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  width: 20px;
  background-position: center;
  background-size: contain;
}
.ajaxy-form .field-error ul {
  padding: 0;
  list-style: none;
}
.ajaxy-form .field-error ul li {
  font-size: 80%;
  background: rgba(255, 0, 0, 0.1098039216);
  border: 1px solid rgba(255, 0, 0, 0.231372549);
  border-radius: 2px;
  color: red;
  padding: 0.1rem 0.4rem;
  margin-top: 0.4rem;
}
.ajaxy-form .form-message {
  padding: 0.1rem 0.4rem;
  margin-top: 0.4rem;
  font-size: 80%;
  border: 1px solid transparent;
  border-radius: 2px;
}
.ajaxy-form .form-message.error {
  background: rgba(255, 0, 0, 0.1098039216);
  border-color: rgba(255, 0, 0, 0.231372549);
  color: red;
}
.ajaxy-form .form-message.success {
  background: rgba(0, 255, 0, 0.1098039216);
  border-color: rgba(0, 255, 0, 0.231372549);
  color: green;
}
.ajaxy-form .rating {
  border: none;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}
.ajaxy-form .rating > label {
  color: #cdcdcd;
  padding-right: 0.3rem;
}
.ajaxy-form .rating > label > svg {
  height: 1rem;
}
.ajaxy-form .rating > input {
  display: none;
}
.ajaxy-form .rating > input:checked ~ label,
.ajaxy-form .rating:not(:checked) > label:hover,
.ajaxy-form .rating:not(:checked) > label:hover ~ label {
  color: #FDCC0D;
}
.ajaxy-form .rating > input:checked + label:hover,
.ajaxy-form .rating > input:checked ~ label:hover,
.ajaxy-form .rating > label:hover ~ input:checked ~ label,
.ajaxy-form .rating > input:checked ~ label:hover ~ label {
  color: #FFDF00;
}
.ajaxy-form .repeater {
  margin-bottom: 1rem;
}
.ajaxy-form .repeater .repeater-items {
  display: flex;
  flex-direction: column;
}
.ajaxy-form .repeater .repeater-items .repeater-item {
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1294117647);
  margin-bottom: 1rem;
  background-color: rgba(255, 255, 255, 0.568627451);
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}