.wpcf7 .ajax-loader {
  display: none;
  width: 1.2rem;
  height: 1.2rem;
  background-color: #777;
  float: left;
  margin-left: 1rem;
  animation: loader 1.2s infinite ease-in-out;
}
.wpcf7 .ajax-loader.is-active {
  display: inline-block;
}
.wpcf7 .wpcf7-response-output {
  margin: 1.5rem 0 0 0;
  padding: 0.8em 1.2em;
  border-radius: 0.1rem;
  font-weight: 700;
  line-height: 1.4;
  display: none;
}
.wpcf7 form.submitting .ajax-loader {
  display: inline-block;
}
.wpcf7 form.sent .wpcf7-response-output {
  display: block;
  background: #43cb65;
  color: #fff;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  display: block;
  background: #ff4d4d;
  color: #fff;
}
.wpcf7 .ajax-error {
  display: none;
}

.wpcf7-form-control-wrap {
  display: block;
  position: relative;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  color: #ff4d4d;
  display: block;
  margin-top: 0.2rem;
}
.wpcf7-form-control-wrap .wpcf7-not-valid {
  border-color: #ff4d4d !important;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 1rem 0 0;
  font-weight: 400;
  font-size: 1rem;
}
.wpcf7-list-item > label {
  display: flex;
  align-items: center;
}
.wpcf7-list-item > label input {
  margin-right: 0.3rem;
}
.wpcf7-list-item > label .wpcf7-list-item-label {
  line-height: 1.2em;
}

.wpcf7-acceptance label {
  margin: 0;
}
.wpcf7-acceptance label input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.wpcf7-acceptance label input:checked + .wpcf7-list-item-label::after {
  content: "";
}
.wpcf7-acceptance label input:focus + .wpcf7-list-item-label::before {
  box-shadow: 0 0 0 1px var(--color-primary) inset;
}
.wpcf7-acceptance label .wpcf7-list-item-label {
  position: relative;
  padding-left: 35px;
  margin: 0 0 0.5rem;
  color: var(--color-dark);
  display: block;
}
.wpcf7-acceptance label .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.8rem);
  left: 0;
  z-index: 5;
  width: 1.6rem;
  height: 1.6rem;
  box-shadow: 0 0 0 1px #ccc inset;
  background-color: #fff;
  border-radius: 0.1rem;
}
.wpcf7-acceptance label .wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0.45rem;
  z-index: 10;
  width: 0.8rem;
  height: 0.4rem;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
}

@keyframes loader {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}
.form-title {
  font-weight: 700;
}

.generic-form > * + * {
  margin-top: 1.5rem;
}
.generic-form .input-group.is-wpcf7-submit {
  display: flex;
  align-items: center;
}
.generic-form .input-group__label {
  display: block;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: var(--color-dark);
}
.generic-form .input-group__label .is-required {
  color: #ff4d4d;
}
.generic-form .input-group-multiselect select {
  min-height: 10rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.generic-form .input-group-multiselect option {
  white-space: break-spaces;
}
.generic-form .input-group-multiselect.is-two-column {
  column-gap: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 2rem;
}
@media (min-width: 46rem) {
  .generic-form .input-group-multiselect.is-two-column {
    grid-template-columns: 1fr 1fr;
  }
}
.generic-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.generic-form select,
.generic-form textarea {
  width: 100%;
  padding: 0 1.5rem;
  height: 3.2rem;
  border-radius: 0.1rem;
  border: none;
  font-size: 0.9378rem;
  transition: 0.15s ease;
  box-shadow: 0 0 0 1px #ccc inset;
  background-color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .generic-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.generic-form select,
.generic-form textarea {
    transition: none;
  }
}
.generic-form input:not([type=submit]):not([type=checkbox]):not([type=radio])[disabled],
.generic-form select[disabled],
.generic-form textarea[disabled] {
  background-color: #f1f1f1;
}
.generic-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):focus,
.generic-form select:focus,
.generic-form textarea:focus {
  outline: 0;
  box-shadow: 0 0 0 1px var(--color-primary) inset;
}
@media (min-width: 60rem) {
  .generic-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.generic-form select,
.generic-form textarea {
    font-size: 1rem;
  }
}
.generic-form textarea {
  height: 160px;
  min-height: 160px;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.generic-form button[diabled],
.generic-form input[type=submit][disabled] {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

.custom-checkbox {
  position: relative;
}
.custom-checkbox__input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.custom-checkbox__input:checked + .custom-checkbox__label::after {
  content: "";
}
.custom-checkbox__input:focus + .custom-checkbox__label::before {
  box-shadow: 0 0 0 1px var(--color-primary) inset;
}
.custom-checkbox__label {
  position: relative;
  padding-left: 35px;
  font-size: 0.9378rem;
  margin: 0 0 0.5rem;
  color: var(--color-dark);
  display: block;
}
.custom-checkbox__label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.8rem);
  left: 0;
  z-index: 5;
  width: 1.6rem;
  height: 1.6rem;
  box-shadow: 0 0 0 1px #ccc inset;
  background-color: #fff;
  border-radius: 0.1rem;
}
.custom-checkbox__label::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.3rem);
  left: 0.45rem;
  z-index: 10;
  width: 0.8rem;
  height: 0.4rem;
  border-left: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(-45deg);
}

/*# sourceMappingURL=form.css.map */
