[type=color], [type=date], [type=datetime-local], [type=datetime], [type=email],
[type=month], [type=number], [type=password], [type=search], [type=tel],
[type=text], [type=time], [type=url], [type=week], textarea {
    box-shadow: none; background-color: #fafafa; overflow: hidden;
    border: none; border-radius: 0.5rem; position: relative;
    padding-left: 1rem;
}
.wpcf7-form > * {
    position: relative;
}
.wpcf7-form > *:after {
    content: ''; position: absolute; left: 0.25rem; top: 0.25rem; bottom: 0.25rem; width: 0.5rem;
    height: auto; background-color: var(--plus-ci-colour); z-index: 200; 
    border-bottom-left-radius: 0.5rem; border-top-left-radius: 0.5rem;
}
.wpcf7-form > .typo_cf7_acceptance:after {
    content: none;
}

[type=color]:focus, [type=date]:focus, [type=datetime-local]:focus, [type=datetime]:focus, [type=email]:focus,
[type=month]:focus, [type=number]:focus, [type=password]:focus, [type=search]:focus, [type=tel]:focus,
[type=text]:focus, [type=time]:focus, [type=url]:focus, [type=week]:focus, textarea:focus {
    box-shadow: none; background-color: #fafafa; overflow: hidden;
    border: none; border-radius: 0.5rem;
}

::placeholder { color: #adadad; opacity: 1; }
:-ms-input-placeholder { color: #adadad;}
::-ms-input-placeholder { color: #adadad;}

/****************************************************************************
 * Acceptence
 ****************************************************************************/
.wpcf7-form-control.wpcf7-acceptance{
    margin-bottom: 1rem;
}
.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    margin: 0; padding-bottom: 1rem;
}
.wpcf7-form-control.wpcf7-acceptance label{
    position: relative;  font-size: 1rem;
    display: inline-block;
}
.wpcf7-form-control.wpcf7-acceptance label input{
    position: absolute; left: 0; top: .5rem;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0; width: 1rem; height: 1rem;
    opacity: 0; visibility: visible;
    z-index: 20;
}
.wpcf7-form-control.wpcf7-acceptance label input + span{
    padding-left: 1.5rem; position: relative; line-height: 1.2;
    display: inline-block;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:before{
    position: absolute; left: 0; top: .6rem; width: 1rem; height: 1rem;
    content: ''; z-index: 30; border: 0.125rem solid var(--plus-ci-colour);
    pointer-events: none; background-color: #FFFFFF; border-radius: 0.125rem;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.wpcf7-form-control.wpcf7-acceptance label input + span:after{
    position: absolute; left: .125rem; top: .6rem; width: .75rem; height: .75rem;
    content: ''; z-index: 30; pointer-events: none; opacity: 0; background-color: var(--plus-ci-colour);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:hover:after,
.wpcf7-form-control.wpcf7-acceptance label input + span:hover:after{
    opacity: 1;
}
.wpcf7-form-control.wpcf7-acceptance label input:checked + span:after{
    opacity: 1;
}

/****************************************************************************
 * Error Fields
 ****************************************************************************/
.wpcf7-form .wpcf7-not-valid-tip,
.wpcf7-form > .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-form > .wpcf7-response-output.wpcf7-acceptance-missing{
    background-color: #adadad;
}
.wpcf7-form > .wpcf7-response-output {
    margin: 0; border-radius: 0.5rem;
}
.wpcf7-form > .wpcf7-response-output:after {
    content: none;
}

.wpcf7-form .wpcf7-not-valid-tip {
    margin: 0; border-radius: 0.5rem;
    padding: 0.25rem 0.5rem 0.25rem 1rem; 
}
.wpcf7-form > .wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: var(--plus-ci-colour);
}
.wpcf7-form > [type="submit"]


/****************************************************************************
 * Button
 ****************************************************************************/
.wpcf7-form {
    justify-content: flex-start;
}

.wpcf7 .wpcf7-form > [type="submit"],
.wpcf7 .wpcf7-form > [type="submit"]:visited
.wpcf7 .wpcf7-form > [type="submit"].disabled,
.wpcf7 .wpcf7-form > [type="submit"][disabled]{
    border-radius: 3rem; background-color: var(--plus-ci-colour);
    border: none; color: #FFFFFF; font-weight: 700;
    padding: 1rem 3rem; flex: 0 0 100%; max-width: 100%;
    margin: 0 0.25rem;
}


