/****************************************************************************
 * Basic-Form-Inputs
 ****************************************************************************/
textarea{
    width: 100%; min-width: 100%;
    min-height: 5rem;
}

/****************************************************************************
 * CF7-Form-Container
 ****************************************************************************/
.wpcf7-form{
    margin: 0 -0.375rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}
.wpcf7-form > *{
    padding: .375rem;
}

/****************************************************************************
 * CF7-Form-Elements
 ****************************************************************************/
.wpcf7-form > h3,
.wpcf7-form > .wpcf7-form-control-wrap{
    min-width: 0; max-width: 100%; 
    -webkit-box-flex: 0; margin: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    text-align: left;
}
.wpcf7-form > .wpcf7-form-control-wrap + h3{
    padding-top: 1.25rem;
}
.wpcf7-form > .wpcf7-form-control-wrap input,
.wpcf7-form > .wpcf7-form-control-wrap select,
.wpcf7-form > .wpcf7-form-control-wrap textarea{
    margin: 0; position: relative; z-index: 10;
}


/****************************************************************************
 * CF7-Validation-Tips
 ****************************************************************************/
.wpcf7-form .wpcf7-not-valid-tip{
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem;
    margin-top: -0.5rem;
    position: relative; z-index: auto;
    background-color: rgba(0,0,0,0.05); color: inherit; border-radius: 0;
    font-size: 0.875rem; margin: 0; padding: 0.5rem;
}
/****************************************************************************
 *  Message-Fields
 ****************************************************************************/
.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;
}

/****************************************************************************
 * AJAX-Loader
 ****************************************************************************/
.wpcf7-form > .ajax-loader{
    opacity: 0; height: 0; width: 100%;
    visibility: hidden; pointer-events: none;
    padding: 0; background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    min-width: 0; max-width: 100%;
    -webkit-box-flex: 1; 
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex:  0 0 100%;
    text-align: center;
}

/****************************************************************************
 * CF7-Form-Response
 ****************************************************************************/
.wpcf7-form > .wpcf7-response-output{
    padding: .5rem; margin: 0 .9375rem;
    border-radius: .5rem; border: none;
    min-width: 0; max-width: 100%;
    -webkit-box-flex: 1; 
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    text-align: center;
}


/****************************************************************************
 * Checkboxes && Acceptance Fields
 ****************************************************************************/
.wpcf7-list-item {margin: 0 1rem 0 0;}

.wpcf7-form-control.wpcf7-acceptance,
.wpcf7-form-control.wpcf7-checkbox,
.wpcf7-form-control.wpcf7-radio{
    margin-bottom: 1rem;
}
.wpcf7-form-control.wpcf7-acceptance label,
.wpcf7-form-control.wpcf7-checkbox label,
.wpcf7-form-control.wpcf7-radio label{
    position: relative; cursor: pointer;
}
.wpcf7-form-control.wpcf7-acceptance label input + span,
.wpcf7-form-control.wpcf7-checkbox label input + span,
.wpcf7-form-control.wpcf7-radio 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,
.wpcf7-form-control.wpcf7-radio label input,
.wpcf7-form-control.wpcf7-radio label input + span:before,
.wpcf7-form-control.wpcf7-radio label input + span:after  {
    position: absolute; top: .8125rem; left: 0.5rem; width: 0.875rem; height: 0.875rem;
    -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-radio label input,
.wpcf7-form-control.wpcf7-radio label input + span:before,
.wpcf7-form-control.wpcf7-radio label input + span:after {
    border-radius: 50%;
}
.wpcf7-form-control.wpcf7-acceptance label input,
.wpcf7-form-control.wpcf7-checkbox label input,
.wpcf7-form-control.wpcf7-radio label input {
    opacity: 0; visibility: visible;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:before,
.wpcf7-form-control.wpcf7-checkbox label input + span:before,
.wpcf7-form-control.wpcf7-radio label input + span:before {
    content: ''; background-color: transparent;
    border: 1px solid #8f8f9d;
    pointer-events: none;
}
.wpcf7-form-control.wpcf7-acceptance label input + span:after,
.wpcf7-form-control.wpcf7-checkbox label input + span:after,
.wpcf7-form-control.wpcf7-radio label input + span:after {
    content: ''; background-color: #8f8f9d; opacity: 0;
    height: 0.625rem; width: 0.625rem; pointer-events: none;
    border: 1px solid #8f8f9d;   
}

.wpcf7-form-control.wpcf7-acceptance label input:checked + span:after,
.wpcf7-form-control.wpcf7-checkbox label input:checked + span:after,
.wpcf7-form-control.wpcf7-radio label input:checked + span:after {
    opacity: 1;
}


/****************************************************************************
 * Advanced Acceptance Settings
 ****************************************************************************/
.wpcf7-form > .wpcf7-form-control-wrap.typo_cf_acceptance {
    padding-right: 0;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%; 
}
.wpcf7-form  .wpcf7-form-control-wrap.typo_cf_acceptance + a:before {
    content: ' '; display: inline-block;
    padding-left: 0.3125rem;
}
.wpcf7-acceptance .wpcf7-list-item {margin: 0;}