.companion-cf7 form label {
  transition: 0.3s ease; }

.companion-cf7 form input:not([type="submit"]) {
  height: 60px; }

.companion-cf7 form input:not([type="submit"]),
.companion-cf7 form input:not([type="submit"])::-webkit-input-placeholder,
.companion-cf7 form textarea,
.companion-cf7 form textarea::-webkit-input-placeholder {
  font-family: var(--body_font_family);
  border-color: var(--primary_color);
  margin-bottom: 16px;
  transition: 0.3s ease;
  border-radius: 0; }

.companion-cf7 form input:not([type="submit"]),
.companion-cf7 form input:not([type="submit"])::-moz-placeholder,
.companion-cf7 form textarea,
.companion-cf7 form textarea::-moz-placeholder {
  font-family: var(--body_font_family);
  border-color: var(--primary_color);
  margin-bottom: 16px;
  transition: 0.3s ease;
  border-radius: 0; }

.companion-cf7 form input:not([type="submit"]),
.companion-cf7 form input:not([type="submit"])::-ms-input-placeholder,
.companion-cf7 form textarea,
.companion-cf7 form textarea::-ms-input-placeholder {
  font-family: var(--body_font_family);
  border-color: var(--primary_color);
  margin-bottom: 16px;
  transition: 0.3s ease;
  border-radius: 0; }

.companion-cf7 form input:not([type="submit"]),
.companion-cf7 form input:not([type="submit"])::placeholder,
.companion-cf7 form textarea,
.companion-cf7 form textarea::placeholder {
  font-family: var(--body_font_family);
  border-color: var(--primary_color);
  margin-bottom: 16px;
  transition: 0.3s ease;
  border-radius: 0; }
  .companion-cf7 form input:not([type="submit"]).wpcf7-not-valid,
  .companion-cf7 form input:not([type="submit"])::-webkit-input-placeholder.wpcf7-not-valid,
  .companion-cf7 form textarea.wpcf7-not-valid,
  .companion-cf7 form textarea::-webkit-input-placeholder.wpcf7-not-valid {
    border-color: #E50000 !important; }
  .companion-cf7 form input:not([type="submit"]).wpcf7-not-valid,
  .companion-cf7 form input:not([type="submit"])::-moz-placeholder.wpcf7-not-valid,
  .companion-cf7 form textarea.wpcf7-not-valid,
  .companion-cf7 form textarea::-moz-placeholder.wpcf7-not-valid {
    border-color: #E50000 !important; }
  .companion-cf7 form input:not([type="submit"]).wpcf7-not-valid,
  .companion-cf7 form input:not([type="submit"])::-ms-input-placeholder.wpcf7-not-valid,
  .companion-cf7 form textarea.wpcf7-not-valid,
  .companion-cf7 form textarea::-ms-input-placeholder.wpcf7-not-valid {
    border-color: #E50000 !important; }
  .companion-cf7 form input:not([type="submit"]).wpcf7-not-valid,
  .companion-cf7 form input:not([type="submit"])::placeholder.wpcf7-not-valid,
  .companion-cf7 form textarea.wpcf7-not-valid,
  .companion-cf7 form textarea::placeholder.wpcf7-not-valid {
    border-color: #E50000 !important; }

.companion-cf7 form input[type="submit"],
.companion-cf7 form button {
  height: 60px;
  font-family: var(--secondary_font_family);
  font-size: 16px;
  line-height: 1.375em;
  color: #FFFFFF;
  background-color: var(--primary_color);
  padding: 14px 52px;
  transition: 300ms ease;
  -webkit-appearance: none;
  border-radius: 0; }
  .companion-cf7 form input[type="submit"]:hover,
  .companion-cf7 form button:hover {
    background-color: var(--primary_variant_color); }

.companion-cf7 form .wpcf7-response-output {
  font-family: var(--body_font_family);
  font-size: 16px;
  line-height: 1.5em;
  margin: 40px 0 0 0;
  padding: 18px 20px;
  border-style: solid;
  border-width: 0 0 0 4px; }

.companion-cf7 form .wpcf7-not-valid-tip {
  font-family: var(--body_font_family);
  font-size: 11px;
  line-height: 18px;
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  padding-top: 5px;
  margin-bottom: 10px;
  color: #E50000;
  height: 0; }

.companion-cf7 form.invalid .wpcf7-response-output {
  background-color: #FFEBCC;
  border-color: #FF905F;
  color: #FF905F; }

.companion-cf7 form.sent .wpcf7-response-output {
  background-color: #E2FBD7;
  border-color: #66C109;
  color: #66C109; }

.companion-cf7 form.failed .wpcf7-response-output, .companion-cf7 form.aborted .wpcf7-response-output {
  background-color: #FFDBD3;
  border-color: #F64662;
  color: #F64662; }

.companion-cf7 form .wpcf7-spinner {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 40px;
  height: 40px;
  margin: 0;
  background: none; }
  .companion-cf7 form .wpcf7-spinner::before, .companion-cf7 form .wpcf7-spinner::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 2px solid var(--primary_color);
    opacity: 1;
    border-radius: 50%;
    -webkit-animation: ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
            animation: ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite; }
  .companion-cf7 form .wpcf7-spinner::after {
    -webkit-animation-delay: -0.5s;
            animation-delay: -0.5s; }

@-webkit-keyframes ripple {
  0% {
    width: 0;
    height: 0;
    opacity: 0; }
  4.9% {
    width: 0;
    height: 0;
    opacity: 0; }
  5% {
    width: 0;
    height: 0;
    opacity: 1; }
  100% {
    width: 32px;
    height: 32px;
    opacity: 0; } }

@keyframes ripple {
  0% {
    width: 0;
    height: 0;
    opacity: 0; }
  4.9% {
    width: 0;
    height: 0;
    opacity: 0; }
  5% {
    width: 0;
    height: 0;
    opacity: 1; }
  100% {
    width: 32px;
    height: 32px;
    opacity: 0; } }
