/*primary buttons*/
.btn-primary {
    background-color: #000e38;
    border-color: #000e38;
}

.btn-primary:active {
    background-color: #000e38;
    border-color: #000e38;
}

.btn-primary:focus {
    background-color: #000e38;
    border-color: #000e38;
}

.btn-primary:hover {
    background-color: #000e38;
    border-color: #000e38;
}

/*info buttons*/
.btn-info {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

.btn-info:active {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

.btn-info:focus {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

.btn-info:hover {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

/*success buttons*/
.btn-success {
    background-color: #0adb75;
    border-color: #0adb75;
}

.btn-success:focus {
    background-color: #0adb75;
    border-color: #0adb75;
}

.btn-success:active {
    background-color: #0adb75;
    border-color: #0adb75;
}

.btn-success:hover {
    background-color: #0adb75;
    border-color: #0adb75;
}

/*danger buttons*/
.btn-danger {
    background-color: #ff5252;
    border-color: #ff5252;
}

.btn-danger:focus {
    background-color: #ff5252;
    border-color: #ff5252;
}

.btn-danger:active {
    background-color: #ff5252;
    border-color: #ff5252;
}

.btn-danger:hover {
    background-color: #ff5252;
    border-color: #ff5252;
}

/*secondary buttons*/
.btn-secondary {
    background-color: #5b616a;
    border-color: #5b616a;
}

.btn-secondary:focus {
    background-color: #5b616a;
    border-color: #5b616a;
}

.btn-secondary:active {
    background-color: #5b616a;
    border-color: #5b616a;
}

.btn-secondary:hover {
    background-color: #5b616a;
    border-color: #5b616a;
}

/*menu and navbar*/
.app-sidebar,
.main-sidebar,
.sidebar-brand,
.sidebar-wrapper,
.brand-link {
    background-color: #000e38;
}

.app-header,
.main-header {
    background-color: #425bee !important;
}

.app-header .nav-link.btn {
    --bs-btn-border-width: 0;
    --bs-btn-border-color: transparent;
    --bs-btn-focus-shadow-rgb: none;
    box-shadow: none;
}

/*circles*/
.bg-success {
    background-color: #0adb75;
}

.bg-danger {
    background-color: #ff5252;
}

.bg-gray {
    background-color: #5b616a;
}

/*alerts*/
.alert-success {
    background-color: #0adb75;
}

/*selectors*/
.selector-chosen h2 {
    background: #6588f2;
}

.content-main .card-header {
    background-color: #6588f2;
}

.main-footer {
    border-top: 0;
}

/*cards*/
.collapsible-header:active,
.collapsible-header:focus,
.collapsible-header:hover {
    background-color: #425bee;
}

.card-primary.card-outline {
    border-top: 3px solid #425bee;
}

.login-box img {
    width: 100%;
}

/* dark mode */
@media (prefers-color-scheme: dark) {
    .btn-info {
        color: #fff;
    }

    .btn-info:active,
    .btn-info:focus,
    .btn-info:hover {
        color: #fff;
    }

    :root {
        --selected-row: #2d2d4a;
    }

    body, .content-wrapper {
        background-color: #282838;
    }

    .card {
        background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
    }

    /* These classes might have to be changed if the accent color is changed to a different value than "navy" */
    .accent-navy .btn-link,
    .accent-navy .nav-tabs .nav-link,
    .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn) {
        color: #8ba6fa;
    }

    .main-footer,
    .accent-navy .btn-link:hover,
    .accent-navy .nav-tabs .nav-link:hover,
    .accent-navy a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn):hover {
        color: #c4e3ff;
    }

    .app-sidebar,
    .main-sidebar,
    .sidebar-brand,
    .sidebar-wrapper,
    .brand-link {
        background-color: #000e38;
    }

    .table td, .table th {
        --bs-table-bg: transparent;
    }

    .unitword-image-wrapper .unit-name {
        color: #dee2e6;
    }
}

/*default buttons*/
.btn-default {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
    background-color: #000e38;
    border-color: #000e38;
    color: #fff;
}

fieldset.module {
    overflow: auto;
    padding: 0;
}

.field-image_with_controls p:empty {
    display: none;
}

.vTextField {
    width: 100%;
}

.related-widget-wrapper {
    display: flex;
    align-items: stretch;
}

.related-widget-wrapper .select2-container {
    flex: 1;
}

.related-widget-wrapper .select2-selection--multiple {
    height: 100%;
}

.related-widget-wrapper > a,
.related-widget-wrapper .select2-selection__rendered {
    align-self: center;
}

/* timeline icons — jazzmin renders <i> without .timeline-icon class */
.timeline > div > i {
    position: absolute;
    top: 0;
    left: 18px;
    width: 30px;
    height: 30px;
    font-size: 15px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    color: #fff;
}

/*search form alignment*/
#changelist-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

#changelist-search .form-group {
    margin-bottom: 0;
}

/* fixes selection in unit-job relation */
.app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: inline-flex;
    align-items: stretch;
    padding: 0;
}

.app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    position: static;
    display: flex;
    align-items: center;
    align-self: stretch;
}

.select2-container--default .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px) !important;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.75rem) !important;
    color: inherit;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem) !important;
    top: 1px;
}

/********************************************************/
/**************** CMS v2 specific styles ****************/
/********************************************************/

/* thead: specificity (0,2,3) beats Bootstrap's (0,1,1) */
.app-cmsv2 .table-striped thead tr > th {
    background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity, 1));
    --bs-table-bg-type: transparent;
}

.app-cmsv2 .table-striped thead th {
    color: #0F1419;
    font-weight: normal;
}

.app-cmsv2 .table-striped thead th a {
    color: #0F1419;
}

/* tbody cells: specificity (0,3,3) beats Bootstrap's striped (0,2,2) and base (0,1,1) */
.app-cmsv2 .table-striped tbody tr > td,
.app-cmsv2 .table-striped tbody tr > th {
    background-color: white;
    --bs-table-bg-type: transparent;
    padding: 1rem;
}

.app-cmsv2 .table-striped tbody tr.odd > td,
.app-cmsv2 .table-striped tbody tr.odd > th,
.app-cmsv2 .table-striped tbody tr.even > td,
.app-cmsv2 .table-striped tbody tr.even > th {
    background-color: white;
    --bs-table-bg-type: transparent;
}

.app-cmsv2 .table-striped tbody tr:last-child {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.app-cmsv2 .table-striped tbody tr:last-child td:first-child {
    border-bottom-left-radius: 4px;
}

.app-cmsv2 .table-striped tbody tr:last-child td:last-child {
    border-bottom-right-radius: 4px;
}

.app-cmsv2 .table-striped td,
.app-cmsv2 .table-striped th {
    border-top: 0;
    border-bottom: 1px solid #EAECEE;
    padding-top: 16px;
    padding-bottom: 16px;
}

.app-cmsv2 .table-striped td {
    color: #0F1419;
}

.app-cmsv2 .table-striped tbody td,
.app-cmsv2 .table-striped tbody th,
.app-cmsv2 td.delete {
    vertical-align: middle;
}

.app-cmsv2 .table-striped tbody th a {
    color: #0F1419;
    font-weight: normal;
}

.app-cmsv2 .table-striped tbody tr:last-child td,
.app-cmsv2 .table-striped tbody tr:last-child th {
    border-bottom: 0;
}

.app-cmsv2 .table-responsive {
    padding: 0;
}

.app-cmsv2 .table thead {
    --bs-table-bg: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.app-cmsv2 .btn.btn-primary {
    font-weight: bold;
    padding: 8px 32px;
    background-color: #3F6BEE;
}

@media (prefers-color-scheme: dark) {
    .app-cmsv2 .card {
        background-color: #282838;
    }

    .app-cmsv2 .table-striped thead tr,
    .app-cmsv2 .table-striped tbody tr.even,
    .app-cmsv2 .table-striped tbody tr.odd {
        background-color: transparent !important;
    }

    .app-cmsv2 .table-striped thead tr > th {
        background-color: var(--bs-card-bg);
        --bs-table-bg-type: transparent;
    }

    /* accent-navy link selector has specificity (0,7,1) — must use !important for links */
    .app-cmsv2 .table-striped thead th,
    .app-cmsv2 .table-striped thead th a {
        color: inherit !important;
    }

    .app-cmsv2 .table-striped tbody tr.odd > td,
    .app-cmsv2 .table-striped tbody tr.odd > th,
    .app-cmsv2 .table-striped tbody tr.even > td,
    .app-cmsv2 .table-striped tbody tr.even > th,
    .app-cmsv2 .table-striped tbody tr > td,
    .app-cmsv2 .table-striped tbody tr > th {
        background-color: transparent;
        color: inherit;
        padding: 1rem;
    }

    .app-cmsv2 .table-striped tbody tr.odd > td,
    .app-cmsv2 .table-striped tbody tr.odd > th,
    .app-cmsv2 .table-striped tbody tr.even > td,
    .app-cmsv2 .table-striped tbody tr.even > th,
    .app-cmsv2 .table-striped tbody tr > td,
    .app-cmsv2 .table-striped tbody tr > th {
        --bs-table-bg-type: transparent;
    }

    /* accent-navy link selector has specificity (0,7,1) — must use !important */
    .app-cmsv2 .table-striped tbody th a {
        color: inherit !important;
    }

    /* inline formset tables (.table-hover inside .inline-group) */
    .app-cmsv2 .inline-group .table thead tr > th {
        background-color: #1a1a1a;
        --bs-table-bg-type: transparent;
        color: inherit;
        border-bottom-color: #3d3d3d;
    }

    .app-cmsv2 .inline-group .table tbody tr > td,
    .app-cmsv2 .inline-group .table tbody tr > th {
        background-color: transparent;
        --bs-table-bg-type: transparent;
        color: inherit;
        border-color: #3d3d3d;
    }

    .app-cmsv2 .inline-group .table tbody tr.form-row:hover > td,
    .app-cmsv2 .inline-group .table tbody tr.form-row:hover > th {
        background-color: #383838;
        --bs-table-bg-type: transparent;
    }

    .app-cmsv2 .inline-group .table tbody tr.empty-form > td,
    .app-cmsv2 .inline-group .table tbody tr.empty-form > th {
        background-color: #1f1f1f;
        --bs-table-bg-type: transparent;
    }

    .app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice {
        background-color: #263055;
        border-color: #4a6baa;
        color: #d0e4ff;
    }

    .app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice__display {
        color: #d0e4ff;
    }

    .app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
        color: #8ba6fa;
        border-right-color: #4a6baa;
    }

    .app-cmsv2 .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
        background-color: #3a1a2a;
        color: #fff;
    }
}
