/* Update Bootstrap base styles where needed */
:root {
    
    /* Colors */

    --l-green: #b4c0b6;
    --l-green-rgb: 180, 192, 182;

    --d-green: #2c3f36;
    --d-green-rgb: 44, 63, 54;

    --gray: #eeeeee;
    --gray-rgb: 238, 238, 238;

    --white: #fff;
    --black: #000;

    --bs-primary: var(--d-green);
    --bs-primary-rgb: 44, 63, 54;

    --bs-secondary: var(--l-green);
    --bs-secondary-rbg: 180, 192, 182;
    
    /* info colors */
    --bs-success: var(--d-green);
    --bs-success-rgb: 44, 63, 54;
    
    --bs-info: #0887a0;
    --bs-info-rgb: 10, 135, 160;
    
    --bs-warning: #deaa0e;
    --bs-warning-rgb: 222, 170, 14;
    
    --bs-danger: #9D0000;
    --bs-danger-rgb: 157, 0, 0;
    
    --bs-light: #EEEEEE;
    --bs-light-rgb: 238, 238, 238;
    
    --bs-dark: #212121;
    --bs-dark-rgb: 33, 33, 33;
    
    
    /* Borders */
    --bs-border-radius:  0.75rem;

}

/* Input Styles */
.form-control {
    padding:1rem 1rem;
    border-radius: var(--bs-border-radius);
}

input:-internal-autofill-selected {
    appearance: none;
    background-image: none !important;
    background-color: transparent !important;
    color: var(--color-white) !important;
}

input.form-control, 
input.form-control:focus, 
textarea.form-control,
textarea.form-control:focus {
    color: var(--d-green);
    background-color: var(--bs-white);
    border: 2px solid var(--d-green);
    border-radius: none;
    transition: border-color .2s linear;
}

input.form-control:focus, 
textarea.form-control:focus {
    background-color: var(--bs-white);
}



input.form-control:focus,
input.form-control:focus-visible,
textarea.form-control:focus {
    outline: none;
    border-color: var(--d-green) !important;
    box-shadow: none;
}

.input-group-wrapper {
    --background-opacity: 1;
    --transition-timing: .3s;
    border-radius: 5px;
    background-color: transparent;
    transition: 
        padding var(--transition-timing) linear, 
        background-color var(--transition-timing) linear;
}

.input-group-wrapper:focus-within {
    background-color: rgba(var(--gray-rgb), var(--background-opacity));
}

.input-group-wrapper:focus-within .form-control {
    background-color: rgba(var(--gray-rgb), var(--background-opacity));
}

.input-group-wrapper:focus-within input.form-control:focus, 
.input-group-wrapper:focus-within textarea.form-control:focus {
    background-color: var(--bs-white);
}

.submit-btn {
    background-color: var(--d-green);
    color: var(--bs-white);
    text-decoration: none !important;
    text-transform: uppercase;
    font-weight: 100;
    letter-spacing: 0.05em;
    
    padding: .75rem 3rem;
    outline: none;
    
    text-wrap: balance;
    border: 2px solid var(--d-green);
    border-radius: 2.5rem;
    transition: background-color .2s linear, color .2s linear, border .2s linear;
}

.submit-btn:hover,
.submit-btn:focus-visible {
    background-color: var(--bs-white);
    color: var(--d-green);
    /* text-shadow: 0px 1px 5px rgba(var(--bs-primary-rgb), 1); */
    border: 2px solid var(--d-green);
}

.reset-btn {
    background-color: transparent;
    color: var(--white);
    letter-spacing: var(--letter-spacing-180);
    padding: 1rem 2.5rem;
    border: 2px solid transparent;
    font-weight: var(--fw-medium);
    transition: color .2s linear;
}

.reset-btn:hover {
    color: var(--bs-primary);
}

.reset-btn:focus-visible {
    background-color: transparent;
    color: var(--color-primary);
    letter-spacing: var(--letter-spacing-180);
    padding: 1rem 2.5rem;
    font-weight: var(--fw-medium);
    transition: color .2s linear;
    border: 2px solid var(--color-primary);
    border-radius: var(--bs-border-radius);
    outline: none;
}



/* Contact Form 7 Overrides */

/* Radio Buttons */

.wpcf7-radio {

}

.wpcf7-radio .wpcf7-list-item {
    display: flex;
    flex-flow: row nowrap;
}


/* Response Message */
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output {
    color: var(--bs-white);
    border: none;
    border-radius: var(--bs-border-radius);
    background: var(--bs-danger);
}

.wpcf7 form .wpcf7-response-output {
    border: none;
    padding: 1rem 2rem;
    margin-inline: 0;
    background: var(--bs-success);
    color: var(--bs-white);
    border-radius: var(--bs-border-radius);
    text-align: center;
}

.wpcf7-not-valid-tip {
    color: var(--bs-danger);
    margin-top: 0.5rem;
}

.wpcf7-spinner {
    display: none;
}