/*
Theme Name: CPD Bootstrap Theme
Description: A custom WordPress theme built with Bootstrap 5.
Author: OmniOnline
Author URI: https://omnionline.net/
Version: 1.0.0
Text Domain: cpd-bootstrap-theme
*/

body {
    font-family: Arial, Helvetica, sans-serif;
    --bs-body-font-size: 15px;
    --bs-primary: #003A70;
    --bs-primary-rgb: 00,58,112;
    --bs-link-color: #003A70;
    --bs-link-color-rgb: 00,58,112;
    --bs-secondary: #666666;
    --bs-secondary-rgb: 102,102,102;
    --bs-primary-bg-subtle: #e3f2fd;
    --bs-secondary-bg-subtle: #e0e0e0;
    --bs-warning: #b3a369;
    --bs-warning-rgb: 179,163,105;
    --bs-info: #3a84b5;
    --bs-info-rgb: 58,132,181;
}
hr {
    color: var(--bs-border-color);
    opacity: 1;
}
.btn {
    --bs-btn-font-size: var(--bs-body-font-size);
}
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
}
.btn-secondary {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: var(--bs-secondary-bg-subtle);
    --bs-btn-border-color: var(--bs-border-color-translucent);
}
.btn-warning {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
}
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--bs-primary);
}


#login-form {
    width: 420px;
    min-width: 420px;
}
@media (max-width: 575.98px) {
    #login-form {
        width: auto;
        min-width: auto;
    }
}

#sidebar {
    width: 260px;
    min-width: 260px;
}
@media (max-width: 991.98px) {
    #sidebar {
        width: auto;
        min-width: auto;
    }
}

#sidebar li a {
    color: var(--bs-body-color);
}
#sidebar li.active {
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
    font-weight: bold;
    border-left: 4px solid var(--bs-primary);
    border-right: 4px solid var(--bs-primary);
}
#sidebar li.active a {
    color: var(--bs-primary);
}

#sidebar .navbar-text {
    font-size: 80%;
    font-weight: bold;
    color: var(--bs-primary);
}

h3.card-title {
    font-size: var(--bs-body-font-size);
    font-weight: bold;
    color: var(--bs-secondary);
}

small {
    font-size: 80%;
}

footer {
    font-size: 12px;
}
footer p {
    margin: 5px 0;
}

#cpd-flash-container {
    z-index: 100000;
}
.cpd-self-assessment-nav li {
    font-weight: bold;
}
.cpd-self-assessment-nav li button {
    --bs-btn-color: var(--bs-gray-700);
    font-weight: bold;
    text-decoration: none;
}
.cpd-self-assessment-nav li.active {
    border-bottom: solid 2pt var(--bs-primary);
}
.cpd-self-assessment-nav li.active button {
    --bs-btn-color: var(--bs-primary);
}
.cpd-self-assessment-bubble {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 3pt;
    line-height: 1.5em;
    border-radius: 0.75em;
    text-align: center;
    color: var(--bs-secondary);
    background: var(--bs-secondary-bg-subtle);
}
.cpd-self-assessment-nav li.active .cpd-self-assessment-bubble {
    color: var(--bs-white);
    background: var(--bs-primary);
}
#cpd_self_assessment_form h2 {
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
    font-weight: bold;
}
.cpd-competency {
    display: inline-block;
    background-color: var(--bs-secondary-bg-subtle);
    border-width: var(--bs-border-width);
    border-style: var(--bs-border-style);
    border-color: var(--bs-secondary);
    border-radius: 1.5rem;
    color: var(--bs-body-color);
    font-weight: normal;
    user-select: none;
    margin: 0.25rem 0.25rem 0.25rem 0;
    padding: 0.5rem 1rem;
    cursor: pointer;
}
.cpd-plan-selections .cpd-competency {
    font-size: 85%;
    padding: 0.25rem 1rem;
    background-color: var(--bs-primary);
    color: var(--bs-white);
    cursor: inherit;
}
.cpd-competency-mandatory-badge {
    display: inline-block;
    margin-left: 0.25rem;
    padding: 0 0.25rem;
    color: var(--bs-white);
    background-color: var(--bs-warning);
    border-radius: 0.25rem;
    font-size: 11px;
}
.cpd-competency button {
    --bs-btn-padding-x: 0;
    --bs-btn-padding-y: 0;
    --bs-btn-color: var(--bs-white);
    --bs-btn-line-height: 1;
}
.cpd-competency.mandatory, .cpd-competency:has(> input[type='checkbox']:checked) {
    background-color: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary);
    color: var(--bs-primary);
    font-weight: bold;
}
.cpd-self-assessment-rating label {
    cursor: pointer;
}
.cpd-self-assessment-rating label:has(> input[type='radio']:checked) {
    background-color: var(--bs-primary);
    color: var(--bs-white);
}
.cpd-self-assessment-domain-review {
    margin: 1.5rem 0;
    width: 100%;
}
.cpd-self-assessment-domain-review h3 {
    margin: 0;
    font-weight: bold;
    font-size: var(--bs-body-font-size);
    color: var(--bs-primary);
}
.cpd-self-assessment-domain-review th {
    padding-bottom: 0.5rem;
    font-size: 85%;
    font-weight: bold;
    color: var(--bs-secondary);
}
.cpd-self-assessment-domain-review td {
    padding: 0.5rem 0;
}
.cpd-self-assessment-domain-review tr:last-child td {
    padding-bottom: 0;
}
.cpd-self-assessment-domain-review tr.competency {
    border-top-width: var(--bs-border-width);
    border-top-style: var(--bs-border-style);
    border-top-color: var(--bs-border-color);
}
.cpd-self-assessment-domain-review tr.notes td {
    padding-top: 0;
}
.cpd-self-assessment-domain-review .competency-rating, #cpd-plan-and-activities-pane .competency-rating {
    padding: 0.25rem 0.5rem;
    display: inline-block;
    background-color: var(--bs-primary-bg-subtle);
    border-radius: var(--bs-border-radius-pill);
    color: var(--bs-primary);
    font-weight: bold;
}
.cpd-self-assessment-domain-review .competency-notes {
    padding: 0.5rem;
    background-color: var(--bs-secondary-bg-subtle);
    font-size: 85%;
}
.cpd-activity-modal label:not(.form-check-label):not(.cpd-competency), .cpd-activity-modal .label {
    font-size: 85%;
    font-weight: bold;
    color: var(--bs-secondary);
}
.cpd-activity-date {
    min-width: 80px;
    display: flex;
    flex-direction: column;
    justify-content: middle;
    align-items: center;
    border-width: var(--bs-border-width);
    border-color: var(--bs-border-color);
    border-right-style: var(--bs-border-style);
    line-height: 1.1;
    margin-right: 1.5rem;
    padding-right: 1.5rem;
}
.cpd-activity-date .cpd-activity-date-month {
    font-weight: bold;
    color: var(--bs-secondary);
}
.cpd-activity-date .cpd-activity-date-day {
    font-weight: bold;
    color: var(--bs-primary);
    font-size: 1.75rem;
}
.cpd-activity-date .cpd-activity-date-year {
    color: var(--bs-secondary);
    font-size: 0.75rem;
}
@media (max-width: 575.98px) {
    .cpd-activity-date {
        flex-direction: row;
        gap: 0.25rem;
        border-right-style: none;
        border-bottom-style: var(--bs-border-style);
        margin-bottom: 0.5rem;
        margin-right: 0;
        padding-bottom: 0.25rem;
        padding-right: 0;
    }
    .cpd-activity-date .cpd-activity-date-day {
        font-size: 1rem;
    }
    .cpd-activity-date .cpd-activity-date-year {
        font-size: 1rem;
    }
    .cpd-activity button {
        margin-top: 0.5rem;
    }
}
.cpd-activity-title {
    font-size: 1.25rem;
    font-weight: bold;
    color: var(--bs-body-color);
    margin-bottom: 0.5rem;
}
.cpd-activity-badge {
    display: inline-block;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
    font-size: 80%;
    font-weight: bold;
    padding: 0.25rem 0.5rem;
    border-width: var(--bs-border-width);
    border-style: var(--bs-border-style);
    border-radius: 0.25rem;
}
.cpd-activity-badge-type {
    background-color: var(--bs-light);
    color: var(--bs-secondary);
    border-color: var(--bs-border-color);
}
.cpd-activity-badge-hours {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
    border-color: var(--bs-primary-border-subtle);
}
.cpd-activity-badge-role {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success);
    border-color: var(--bs-success-border-subtle);
}
.cpd-activity-competency {
    display: inline-block;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
    font-size: 80%;
    padding: 0.25rem 0.5rem;
    border-width: var(--bs-border-width);
    border-style: var(--bs-border-style);
    border-radius: 1rem;
    border-color: var(--bs-primary-border-subtle);
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
}

.cpd-plan-counts .card-title {
    font-size: 0.8rem;
    overflow-wrap: normal;
}
.cpd-plan-counts .row > div {
    margin: 0.25rem 0;
    padding: 0 2rem;
}
.cpd-plan-counts .row > div:not(:first-child) {
    border-left-width: var(--bs-border-width);
    border-left-style: var(--bs-border-style);
    border-left-color: var(--bs-border-color);
}
@media (max-width: 767.98px) {
    .cpd-plan-counts .row > div:not(:first-child) {
        border-left-width: none;
        border-left-style: none;
        border-left-color: none;
    }
    .cpd-plan-counts .row > div:not(:nth-child(3n+1)) {
        border-left-width: var(--bs-border-width);
        border-left-style: var(--bs-border-style);
        border-left-color: var(--bs-border-color);
    }
}