/* Override bootstrap and falcon theme defaults. DO NOT put styles for specific pages here. */

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
}

a:not(.btn):focus {
    text-decoration: underline !important;
}

.btn:focus {
    border-color: var(--falcon-input-focus-border-color);
    box-shadow: var(--falcon-box-shadow-inset), 0 0 0 .25rem rgba(0, 132, 62, .25);
}

label.required {
    position: relative;
}

    label.required::after {
        color: red;
        content: "*";
        font-size: 1.25em;
    }

.accordion-button::after {
    background: none;
    border-color: currentColor;
    border-style: solid;
    border-width: 0.15em 0.15em 0 0;
    bottom: 0.15em;
    content: '';
    display: inline-block;
    height: 0.75em;
    position: relative;
    transition: transform 0.15s ease-in-out;
    transform: rotate(135deg);
    width: 0.75em;
}

.accordion-button:not(.collapsed)::after {
    background: none;
    top: 0.3em;
    transform: rotate(-45deg);
}

.accordion-link {
    align-items: center;
    background-color: var(--falcon-card-bg);
    border: 0;
    border-radius: 0;
    color: #5e6e82;
    display: flex;
    font-family: var(--falcon-font-sans-serif);
    padding: 1rem 1.25rem;
    position: relative;
    text-align: left;
    width: 100%;
}

.accordion-item:first-of-type .accordion-link {
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}

.accordion-item:last-of-type .accordion-link {
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px);
}

.bg-holder {
    pointer-events: none;
}

.card-checkbox {
    cursor: pointer;
    transition: box-shadow ease-in 0.075s;
}

.card-checkbox-badge-checked,
.card-checkbox-badge-unchecked,
.card-checkbox-input {
    display: none;
}

    .card-checkbox-input:checked ~ .card-checkbox {
        border: none;
        box-shadow: var(--falcon-box-shadow), 0 0 0 2px var(--falcon-primary);
    }

        .card-checkbox-input:checked ~ .card-checkbox .card-checkbox-badge-checked {
            display: inline-block;
        }

    .card-checkbox-input:not(:checked) ~ .card-checkbox .card-checkbox-badge-unchecked {
        display: inline-block;
    }

    .card-checkbox-input:disabled ~ .card-checkbox:hover {
        cursor: not-allowed;
    }

.invalid-feedback:empty,
.valid-feedback:empty {
    display: none;
}

.is-invalid ~ .invalid-feedback {
    align-items: center;
    display: inline-flex;
}

.invalid-feedback {
    color: #da3452;
    margin-left: 1.6em;
    position: relative;
}

    .invalid-feedback::before {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="%23da3452" d="M569.5 440C588 472 564.8 512 527.9 512H48.1c-36.9 0-60-40.1-41.6-72L246.4 24c18.5-32 64.7-32 83.2 0l239.9 416zM288 354c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46zm-43.7-165.3l7.4 136c.3 6.4 5.6 11.3 12 11.3h48.5c6.4 0 11.6-5 12-11.3l7.4-136c.4-6.9-5.1-12.7-12-12.7h-63.4c-6.9 0-12.4 5.8-12 12.7z"/></svg>');
        background-repeat: no-repeat;
        content: "";
        color: #da3452;
        height: 1.15em;
        left: -1.6em;
        position: absolute;
        width: 1.15em;
    }

.nav.nav-pills .nav-item .nav-link {
    padding: .5rem 0.8rem;
    transition: background-color ease-in 0.15s;
}

    .nav.nav-pills .nav-item .nav-link.active {
        font-weight: 500;
    }

.navbar-light .navbar-brand {
    color: #007d3a;
}

    .navbar-light .navbar-brand:hover {
        color: #075F30;
    }

.navbar-vertical .navbar-nav .nav-item .nav-link.active {
    color: #007d3a;
}

.navbar-vertical .navbar-nav .nav-item .navbar-vertical-label {
    font-size: 0.9rem;
    color: #007d3a;
}

.timeline-auto .timeline:first-child::after,
.timeline-auto .timeline:nth-of-type(1)::after {
    height: 0.5rem;
    left: 21px;
    width: 0.5rem;
}

.timeline-auto .timeline.timeline-primary:first-child::after,
.timeline-auto .timeline.timeline-primary:nth-of-type(1)::after {
    background-color: var(--falcon-primary);
    border: var(--falcon-primary);
    box-shadow: 0 0 0 3px rgba(0, 132, 62, .3);
}

.timeline-auto .timeline.row:not(:last-child):has(+ .timeline.row) {
    padding-bottom: 1.25rem;
}

    .timeline-auto .timeline.row:not(:last-child):has(+ .timeline.row) > .col::after {
        border-bottom: 1px solid var(--falcon-border-color);
        content: "";
        display: block;
    }
