/*------------------------------------*\
    
    WebFX CF7 Customizations - Global styling for all CF7 Forms

    Add custom CF7 form styling to this file if it should be applied to all CF7 forms on the site
    Otherwise, put your block-specific styles in individual block stylesheets so that various block-specific styles aren't loaded on every CF7 form

\*------------------------------------*/

.wpcf7 form .wpcf7-response-output {
    background-color: #EA7500;
    border: none;
    color: #fff;
}

.wpcf7-not-valid-tip {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: #EA7500 !important;
    letter-spacing: 0.1em;
    position: relative;
    display: block;
    padding-top: 5px;
    text-align: right;
}

.wpcf7-not-valid-tip::before {
    content: '!';
    font-family: 'Montserrat', sans-serif;
    position: absolute;
    top: -39px;
    right: 12px;
    font-weight: 700;
    width: 26px;
    height: 26px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EA7500;
    border-radius: 3px;
    color: #FFFFFF;
}

select.wpcf7-not-valid,
textarea.wpcf7-not-valid,
input.wpcf7-not-valid,
.wpcf7-not-valid .choices {
    border: none;
    outline: none;
    background-color: #FFFFFF;
    color: rgba(72, 83, 96, 0.60);
    border: 1px solid #EA7500;
    border-left: 5px solid #EA7500;
}

input.wpcf7-not-valid:active,
input.wpcf7-not-valid:focus {
    border: 1px solid #EA7500;
    border-left: 5px solid #EA7500;
}

.choices~.wpcf7-not-valid-tip::before {
    top: -36px;
    right: 40px;
}



.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item {
    position: relative;
    margin: 0 15px 10px 0;
    padding-left: 35px;
}

.wpcf7-radio .wpcf7-list-item>label,
.wpcf7-checkbox .wpcf7-list-item>label {
    padding-bottom: 0;
    line-height: 25px;
}

.wpcf7-radio .wpcf7-list-item>label>input,
.wpcf7-checkbox .wpcf7-list-item>label>input {
    display: none;
}

.wpcf7-radio .wpcf7-list-item>label>.wpcf7-list-item-label::before,
.wpcf7-checkbox .wpcf7-list-item>label>.wpcf7-list-item-label::before {
    position: absolute;
    width: 25px;
    height: 25px;
    border: 1px solid #D8D8D8;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: var(--white);
}

.wpcf7-radio .wpcf7-list-item>label>.wpcf7-list-item-label::after,
.wpcf7-checkbox .wpcf7-list-item>label>.wpcf7-list-item-label::after {
    display: inline-block;
    transform: rotate(45deg);
    height: 16px;
    width: 8px;
    border-bottom: 3px solid var(--white);
    border-right: 3px solid var(--white);
    position: absolute;
    top: 2px;
    left: 9px;
    z-index: 5;
}

.wpcf7-radio .wpcf7-list-item>label>.wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item>label>.wpcf7-list-item-label::after {
    border-radius: 100%;
}

.wpcf7-radio .wpcf7-list-item>label>.wpcf7-list-item-label::after {
    border: none;
    width: 17px;
    height: 17px;
    transform: none;
    left: 4px;
    top: 4px;
}

.wpcf7-radio .wpcf7-list-item>label>input:checked~.wpcf7-list-item-label::after {
    background: var(--orange);
}

.wpcf7-checkbox .wpcf7-list-item>label>input:checked~.wpcf7-list-item-label::before {
    border-color: var(--orange);
    background-color: var(--orange);
}