/****************************************************************************
 * Default Field Settings
 ****************************************************************************/
label {
    font-size: 1rem;
    line-height: 1.4;
    padding: 0.5rem 0;
    color: inherit;
}

[type="text"], [type="password"],[type="date"], [type="datetime"],
[type="datetime-local"], [type="month"], [type="week"], [type="email"], [type="number"],
[type="search"], [type="tel"], [type="time"], [type="url"], [type="color"], textarea {
    box-shadow: none; background-color: transparent;
    border: 2px solid #00afea;
    border-radius: 0;
    color: inherit;
}

[type="text"]:focus, [type="password"]:focus, [type="date"]:focus, [type="datetime"]:focus, [type="datetime-local"]:focus,
[type="month"]:focus, [type="week"]:focus, [type="email"]:focus, [type="number"]:focus, [type="search"]:focus,
[type="tel"]:focus, [type="time"]:focus, [type="url"]:focus, [type="color"]:focus, textarea:focus {
    box-shadow: none; background-color: transparent;
    border: 2px solid #00afea;
    color: inherit;
}

/****************************************************************************
  * Default Placeholder Stylings
  ****************************************************************************/
::-webkit-input-placeholder {
    color: #00afea;
    opacity: 1;
    font-weight: 700;
}
::-moz-placeholder {
    color: #00afea;
    opacity: 1;
    font-weight: 700;
}
:-ms-input-placeholder {
    color: #00afea;
    opacity: 1;
    font-weight: 700;
}
:-moz-placeholder {
    color: #00afea;
    opacity: 1;
    font-weight: 700;
}

/****************************************************************************
  * Form Wrapper && Columns
  ****************************************************************************/
.wpcf7-form {
    margin: 0 -0.375rem;
}
.wpcf7-form > h3,
.wpcf7-form > .wpcf7-form-control-wrap {
    padding: 0.375rem;
}

/****************************************************************************
  * Ajax Loader && Submit Button
  ****************************************************************************/
.wpcf7-form > .ajax-loader {
    opacity: 0;
    height: 0;
    width: 100%;
    visibility: hidden;
    pointer-events: none;
}
.wpcf7-form > [type="submit"] {
    margin: 1rem 0 0;
}

/****************************************************************************
  *  Message-Fields
  ****************************************************************************/
.wpcf7-form .wpcf7-not-valid-tip {
    background-color: rgba(0, 0, 0, 0.05);
    color: inherit;
    border-radius: 0;
    font-size: 0.875rem;
    margin: 0;
    padding: 0.5rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    border-radius: 0;
    background-color: rgba(0, 0, 0, 0.05);
    border: none;
    padding: 0.5rem 1rem;
}

/****************************************************************************
  * Checkboxes && Acceptance Fields
  ****************************************************************************/
.wpcf7-list-item {
    margin: 0 1rem 0 0;
}

.wpcf7-form-control.wpcf7-acceptance,
.wpcf7-form-control.wpcf7-checkbox {
    margin-bottom: 1rem;
}
.wpcf7-form-control.wpcf7-acceptance label,
.wpcf7-form-control.wpcf7-checkbox label {
    position: relative;
    cursor: pointer;
}
.wpcf7-form-control.wpcf7-acceptance label input + span,
.wpcf7-form-control.wpcf7-checkbox label input + span {
    padding-left: 1.375rem;
}
.wpcf7-form-control.wpcf7-acceptance label input,
.wpcf7-form-control.wpcf7-acceptance label input + span:before,
.wpcf7-form-control.wpcf7-acceptance label input + span:after,
.wpcf7-form-control.wpcf7-checkbox label input,
.wpcf7-form-control.wpcf7-checkbox label input + span:before,
.wpcf7-form-control.wpcf7-checkbox label input + span:after {
    position: absolute;
    top: 1.25rem;
    left: 0.5rem;
    width: 1rem;
    height: 1rem;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.wpcf7-form-control.wpcf7-acceptance label input,
.wpcf7-form-control.wpcf7-checkbox label input {
    opacity: 0;
    visibility: visible;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:before,
.wpcf7-form-control.wpcf7-checkbox label input + span:before {
    content: "";
    background-color: transparent;
    border: 1px solid currentColor;
    pointer-events: none;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:after,
.wpcf7-form-control.wpcf7-checkbox label input + span:after {
    content: "";
    background-color: currentColor;
    opacity: 0;
    height: 0.75rem;
    width: 0.75rem;
    pointer-events: none;
    border: 1px solid currentColor;
}

.wpcf7-form-control.wpcf7-acceptance label input:checked + span:after,
.wpcf7-form-control.wpcf7-checkbox label input:checked + span:after {
    opacity: 1;
}
