/** Contact Form 7
===================================================== */

/* variables */
:root {
    --notvalid:      #cf2c2c;
    --valid:         #afd7b5;
    --bg-validation: #d25858;
    --dark:          #222222;
    --baseline:      32px;
    --font-sm:       14px;
}

/* Custom CF7 Loader */
.wpcf7 .ajax-loader {
    background-image: url('loading-spin.svg') !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 12px !important;
    margin-top: -12px !important;
    }

.wpcf7 { clear: both; }

.wpcf7 br { display: none; }

.wpcf7 .linebreak br { display: block; }

.wpcf7 h2,
.wpcf7 h3,
.wpcf7 h4,
.wpcf7 h5,
.wpcf7 h6 {
  margin-bottom: 0;
}

.wpcf7 p {
  padding-top:    8px;
  padding-bottom: 8px;
}

.wpcf7 fieldset {
  margin-top: 26px;
}

.wpcf7-form { padding-top: 4px; }

.wpcf7 .wpcf7-not-valid:not(span) {
  border: 1px solid var(--notvalid);
}

.wpcf7 .wpcf7-not-valid-tip {
  position: relative;
  display: inline-block;
  padding: 4px 12px;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  border: none;
  background-color: var(--bg-validation);
  color: #ffffff;
  font-size: var(--font-sm);
  width: auto;
}

.wpcf7 .wpcf7-not-valid-tip::before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  left: 10px;
  top: -5px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid var(--bg-validation);
}

.wpcf7 .wpcf7-list-item {
  display: block;
}

.wpcf7 .show-labels .wpcf7-not-valid-tip {
  top: -4px;
}

.wpcf7 .wpcf7-response-output {
  border: 0;
  width: 100%;
  font-size: 14px;
}

.wpcf7-response-output.wpcf7-validation-errors {
  border: 0;
  line-height: var(--baseline);
  background: var(--bg-validation);
  color: #ffffff;
  margin-top: 0;
  margin-left: 0;
  font-size: var(--font-sm);
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
  line-height: var(--baseline);
  border: 0;
  background: none;
  color: var(--dark);
  margin-left: 0;
  padding: 0;
  max-width: 100%;
  overflow: hidden;
  font-size: 16px;
}

.wpcf7-response-output.wpcf7-spam-blocked {
  background: var(--notvalid);
  color: var(--dark);
}

.wpcf7-response-output.wpcf7-mail-sent-ng {
  background: var(--notvalid);
  color: var(--dark);
}

.wpcf7 .wpcf7-list-item {
  display: block;
}

.wpcf7 .wpcf7-mail-sent-ok::before,
.wpcf7 .wpcf7-validation-errors::before {
  font-family: 'icons';
  font-size: 16px;
  margin-right: 8px;
  vertical-align: middle;
}

.wpcf7 .wpcf7-validation-errors::before {
  content: "\ea5f";
}
