:root {
    --bs-primary: var(--green);
    --cui-primary: var(--green);
    --cui-link-color: var(--green);
    --cui-link-hover-color: var(--darkGreen);
    --cui-primary-rgb: 124, 105, 239;

    --cui-input-group-addon-bg: var(--lightGrey);
    --cui-input-group-addon-border-color: var(--grey);
    --cui-input-border-color: var(--grey);

    --cui-form-check-input-checked-bg-color: var(--green);
    --cui-form-check-input-checked-border-color: var(--green);

    --cui-pagination-active-color: var(--green);
    --cui-pagination-active-bg: var(--green);
    --cui-pagination-active-border-color: var(--green);

    --cui-sidebar-1: var(--grey900);
    --cui-sidebar-2: var(--grey800);
    --bg-switch-checked-color: var(--cui-primary);
}

:root {
    /* New Branding */
    --grey900: #0F0F10;
    --grey800: #252527;
    --lightgreen: #A9DC43;
    --green: #3AAA35;
    --darkorange: #d67000;

    /* Corporate Colours */
    /* --black:#000; */
    --lightBlack: #0F0F10;
    --white:#FFF;
    /* --lightGreen: #AFCA0B; */
    --blueGrey: #5f7884;

    /* Solid Colours */
    --orange: #EF7D00;
    --yellow: #FFCC00;
    --red: #D51317;
    --darkRed: #ad0f12;
    --pink: #E6007E;
    --lightPurple: #763F91;
    --darkPurple: #362071;
    --lightBlue: #7CCBE0;
    --blue: #0069B4;
    --darkBlue: #213B87;
    --darkTurqoise: #0091AD;
    /* --green: #3cab36; */
    --darkGreen: #267422;
    --lightGrey: #ECF0F1;
    --grey: #A9BBC0;
}

.backpack-avatar-menu-container {
    background: var(--green) !important;
}

.sidebar-brand {
    background: var(--grey800);
}
.btn {
    border-radius: 40px;
}

.nav-group.show > .nav-link {
    background: rgba(58,170,53,0.3);
}

.nav-link form {
    width: 100%;
}

.nav-link form select {
    width: 100%;
    background: white;
    height: 40px;
    border: none;
    border-radius: 4px;
    padding: 0 8px;
}

.nav-group .nav-link:hover i,
.nav-group .nav-link:hover,
.nav-item .nav-link:hover i,
.nav-item .nav-link:hover,
.nav-item .nav-link.active i,
.nav-item .nav-link.active {
    background: transparent;
    color: var(--green) !important;
}

body {
    background: linear-gradient(-45deg, var(--green), var(--lightgreen));
    font-size: 90%;
}

body::after {
    content: '';
    background: url(/background-dots.svg) no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.03;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.app .container .row .col-12 .card {
    background: var(--grey800);
}

.app .container .row .col-12 .card .card-body form .form-group label {
    color: var(--white);
}

.app .container .row .col-12 .text-center a {
    color: var(--grey800);
}

.app .container .row .col-12 h3 {
    color: transparent;
    width: 150px;
    margin: 0 auto;
    overflow: hidden;
}

.app .container .row .col-12 h3::after {
    content: '';
    display: block;
    background: url(/logo.svg) no-repeat;
    filter: contrast(0) brightness(0);
    background-size: contain;
    width: 150px;
    height: 50px;

}
.app .container .row .col-12 .nav-steps-wrapper .nav-tabs {
    border: none;
    margin-bottom: 1px;
}
.app .container .row .col-12 .nav-steps-wrapper .nav-tabs .nav-item a {
    color: var(--grey900);
    background: var(--lightGrey);
    border-color: var(--lightGrey);
}
.app .container .row .col-12 .nav-steps-wrapper .nav-tabs .nav-item.active a {
    border-color: var(--grey800);
    background: var(--grey800);
    color: var(--white);
}
.app .container .row .col-12 .nav-steps-wrapper .nav-tabs .nav-item a.disabled {
    border-color: var(--lightGrey) !important;
    color: var(--grey) !important;
    background: var(--lightGrey);
}
.app .container .row .col-12 .nav-tabs-custom {
    border-radius: 0 8px 8px 8px;
    overflow: hidden;
}

.app .container .row .col-12 .nav-tabs-custom .tab-content .tab-pane,
.app .container .row .col-12 .nav-tabs-custom .tab-content {
    background: var(--grey800);
    border-color: var(--grey800) !important;
}
.app .container .row .col-12 .nav-tabs-custom .tab-content .tab-pane form .form-group label {
    color: var(--white);
}

body > .bg-light {
    background-color: var(--lightGrey) !important;
}

body > .bg-light::before {
    content: '';
    background: url(/background-dots.svg) no-repeat;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.03;
    bottom: 0;
    right: 0;
}

body > .bg-light .main {
    position: relative;
    z-index: 1;
}

.bg-warning {
    background-color: var(--orange) !important;
}

.text-danger {
    color: var(--red) !important;
}

.text-success {
    color: var(--green) !important;
}

.header {
    --cui-header-bg: transparent;
    --cui-header-border: transparent;
}

footer .text-muted {
    color: var(--blueGrey) !important;
}

a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

.btn-link {
    text-decoration: none;
}

.btn-primary {
    --cui-btn-bg: var(--green);
    --cui-btn-border-color: var(--green);
    --cui-btn-hover-bg: var(--darkGreen);
    --cui-btn-hover-border-color: var(--darkGreen);
    --cui-btn-active-bg: var(--darkGreen);
    --cui-btn-active-border-color: var(--darkGreen);
    --cui-btn-disabled-bg: var(--darkGreen);
    --cui-btn-disabled-border-color: var(--darkGreen);
}

.btn-outline-primary {
    --cui-btn-color: var(--green);
    --cui-btn-border-color: var(--green);
    --cui-btn-hover-color: var(--white);
    --cui-btn-hover-bg: var(--green);;
    --cui-btn-hover-border-color: var(--green);
    --cui-btn-focus-shadow-rgb: 50,31,219;
    --cui-btn-active-color: var(--white);
    --cui-btn-active-bg: var(--green);
    --cui-btn-active-border-color: var(--green);
    --cui-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 21, 0.125);
    --cui-btn-disabled-color: var(--green);
    --cui-btn-disabled-bg: transparent;
    --cui-gradient: none;
}

.btn-secondary {
    --cui-btn-hover-color: var(--white);
    --cui-btn-hover-bg: var(--grey800);
    --cui-btn-hover-border-color: var(--grey800);
    --cui-btn-color: var(--white);
    --cui-btn-bg: var(--blueGrey);
    --cui-btn-border-color: var(--blueGrey);
}

.btn-success {
    --cui-btn-color: var(--white);
    --cui-btn-bg: var(--green);
    --cui-btn-border-color: var(--green);
    --cui-btn-hover-color: var(--white);
    --cui-btn-hover-bg: var(--darkGreen);
    --cui-btn-hover-border-color: var(--darkGreen);
    --cui-btn-active-bg: var(--darkGreen);
    --cui-btn-active-border-color: var(--darkGreen);
    --cui-btn-disabled-bg: var(--darkGreen);
    --cui-btn-disabled-border-color: var(--darkGreen);
}

.btn-error {
    --cui-btn-color: var(--white);
    --cui-btn-bg: var(--red);
    --cui-btn-border-color: var(--red);
    --cui-btn-hover-color: var(--white);
    --cui-btn-hover-bg: var(--darkRed);
    --cui-btn-hover-border-color: var(--darkRed);
    --cui-btn-active-bg: var(--darkRed);
    --cui-btn-active-border-color: var(--darkRed);
    --cui-btn-disabled-bg: var(--darkRed);
    --cui-btn-disabled-border-color: var(--darkRed);
}

.pagination {
    --cui-pagination-bg: #fff;
    --cui-pagination-focus-bg: var(--darkGreen);
    --cui-pagination-active-bg: var(--green);
    --cui-pagination-active-border-color: var(--green);
}

/* Dropdown filter */
.btn-success.dropdown-toggle {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}

.dropdown-toggle {
    background: var(--lightGrey);
    border-color: var(--blueGrey);
    color: var(--blueGrey);
    text-decoration: none !important;
}

.dropdown-toggle:hover, .dropdown-toggle:active, .dropdown-toggle.show, .dropdown-toggle:focus {
    background: var(--green) !important;
    border-color: var(--green) !important;
    color: var(--white) !important;
}

.dropdown-item {
    color: var(--blueGrey);
}

.dropdown-item i {
    color: var(--blueGrey) !important;
}

.dropdown-item:hover, .dropdown-item:focus {
    color: var(--blueGrey);
    text-decoration: none;
    background-color: var(--lightGrey);
}

.dropdown-item:hover i, .dropdown-item:focus i {
    color: var(--green) !important;
}

.dropdown-item.active, .dropdown-item:active {
    color: #FFFFFF;
    text-decoration: none;
    background-color: var(--green);
}

.dropdown-item.disabled, .dropdown-item:disabled {
    color: var(--lightGrey);
    pointer-events: none;
    background-color: transparent;
}

/* Datepicker and DateRangePicker */
.datepicker table tr td.active.active,
.datepicker table tr td.active.highlighted.active,
.datepicker table tr td.active.highlighted:active,
.datepicker table tr td.active:active {
    background-color: var(--blueGrey) !important;
}

.daterangepicker .calendar-table th.next:hover span,
.daterangepicker .calendar-table th.prev:hover span {
    border-color: var(--white) !important;
}

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
    background-color: var(--blueGrey) !important;
    color: var(--white) !important;
}

.daterangepicker td.in-range {
    background-color: rgba(95, 120, 132, .2) !important;
}

.daterangepicker td.active,
.daterangepicker .ranges li.active {
    background-color: rgb(58, 170, 53) !important;
}

.daterangepicker td.active:hover {
    background-color: rgb(58, 170, 53) !important;
}

.sidebar-brand {
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--cui-sidebar-brand-height);
}

.sidebar .side-nav  {

}

.sidebar {
    --cui-sidebar-brand-height: 4rem;
}

.header > .container-fluid, .header > .container-sm, .header > .container-md, .header > .container-lg, .header > .container-xl, .header > .container-xxl, .sidebar-header {
    min-height: calc(4rem + 1px);
}

/* Select 2 + Select 2 multiple */
.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{
    background-color: rgba(58, 170, 53, 0.5) !important;
    color: #fff !important;
}

.select2-container--bootstrap .select2-results__option[aria-selected=true] {
    background-color: var(--green) !important;
    color: #fff !important;
}

.card,
.form-group {
    margin-bottom: 1.5rem;
}

.form-select:focus,
.form-control:focus {
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2) !important;
    border-color:rgba(0, 0, 0, 0.2) !important;
}

.form-control, .input-group-text {
    border-radius: 0.2rem;
}
.form-group > label {
    font-weight: bold;
    margin-bottom: 0.5rem;
}
.form-switch > [type="checkbox"] {
    transform: scale(1.2);
}

li.paginate_button.active a {
    background: var(--green);
}

a.btn:hover, li.paginate_button a {
    text-decoration: none !important;
}

#sidebar.bg-dark-gradient {
    background: linear-gradient(-45deg, var(--cui-sidebar-1) 0%, var(--cui-sidebar-2) 100%);
}

#crudTable {
    background-color: #FFFFFF !important;
}

#crudTable tbody tr.odd {
    background: rgba(95, 120, 132, .015);
}

#crudTable_wrapper .dataTables_length select {
    min-width: 3.6rem;
    margin-right: 0.4rem;
}

#crudTable_wrapper #crudTable.dtr-inline.collapsed > tbody > tr > .dtr-control:before,
#crudTable_wrapper table.dataTable.dtr-inline.collapsed > tbody > tr > .dtr-control:before {
    top: 0;
}

#crudTable_wrapper #crudTable td,
#crudTable_wrapper #crudTable th,
#crudTable_wrapper table.dataTable td,
#crudTable_wrapper table.dataTable th {
    outline: none;
    vertical-align: middle;
    line-height: 1em;
}

#crudTable_wrapper #crudTable thead > tr > th:not(.sorting_disabled),
#crudTable_wrapper #crudTable thead > tr > td,
#crudTable_wrapper table.dataTable thead > tr > th:not(.sorting_disabled),
#crudTable_wrapper table.dataTable thead > tr > td {
    padding-right: 30px;
}

#crudTable_wrapper #crudTable.has-hidden-columns .details-control,
#crudTable_wrapper table.dataTable.has-hidden-columns .details-control {
    margin-left: 0.25rem;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="1"].has-hidden-columns tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"].has-hidden-columns tfoot tr th:first-child {
    padding-left: 1.35rem !important;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="1"][data-has-details-row="1"] thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="1"][data-has-details-row="1"] tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"][data-has-details-row="1"] thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"][data-has-details-row="1"] tfoot tr th:first-child {
    padding-left: 1.6rem !important;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="1"][data-has-details-row="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="1"][data-has-details-row="1"].has-hidden-columns tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"][data-has-details-row="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="1"][data-has-details-row="1"].has-hidden-columns tfoot tr th:first-child {
    padding-left: 2.6rem !important;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="0"][data-has-details-row="1"] thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="0"][data-has-details-row="1"] tfoot tr th:first-child, #crudTable_wrapper #crudTable[data-has-bulk-actions="0"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="0"].has-hidden-columns tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"][data-has-details-row="1"] thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"][data-has-details-row="1"] tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"].has-hidden-columns tfoot tr th:first-child {
    padding-left: 1.8rem !important;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="0"][data-has-details-row="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper #crudTable[data-has-bulk-actions="0"][data-has-details-row="1"].has-hidden-columns tfoot tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"][data-has-details-row="1"].has-hidden-columns thead tr th:first-child,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"][data-has-details-row="1"].has-hidden-columns tfoot tr th:first-child {
    padding-left: 3rem !important;
}

#crudTable_wrapper #crudTable .details-control,
#crudTable_wrapper table.dataTable .details-control {
    display: flex;
}

#crudTable_wrapper #crudTable .crud_bulk_actions_checkbox input,
#crudTable_wrapper table.dataTable .crud_bulk_actions_checkbox input {
    width: 1rem;
    height: 1rem;
}

#crudTable_wrapper #crudTable:not(.has-hidden-columns) tr td:first-child,
#crudTable_wrapper table.dataTable:not(.has-hidden-columns) tr td:first-child {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

#crudTable_wrapper #crudTable tr th:first-child, 
#crudTable_wrapper #crudTable tr td:first-child, 
#crudTable_wrapper table.dataTable tr th:first-child, 
#crudTable_wrapper table.dataTable tr td:first-child
{
    display: flex;
}

#crudTable_wrapper #crudTable[data-has-bulk-actions="0"] .details-control,
#crudTable_wrapper #crudTable[data-has-bulk-actions="0"][data-has-details-row="0"] .dtr-control:before,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"] .details-control,
#crudTable_wrapper table.dataTable[data-has-bulk-actions="0"][data-has-details-row="0"] .dtr-control:before {
    margin-right: 0.4rem !important;
}

#crudTable_wrapper #crudTable[data-responsive-table="0"] thead tr th,
#crudTable_wrapper #crudTable tr td.dataTables_empty,
#crudTable_wrapper #crudTable tr.dt-hasChild + tr td,
#crudTable_wrapper table.dataTable[data-responsive-table="0"] thead tr th,
#crudTable_wrapper table.dataTable tr td.dataTables_empty,
#crudTable_wrapper table.dataTable tr.dt-hasChild + tr td {
    display: table-cell;
}

#crudTable_wrapper .dataTables_scrollBody #crudTable[data-responsive-table="0"] tr th:first-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#crudTable tbody tr td span i {
    width: 2rem;
    height: 2rem;
    font-size: 2rem;
}

#crudTable tbody tr td span i.la-check-circle {
    color: var(--green);
}

#crudTable tbody tr td span i.la-circle {
    color: var(--grey);
}

#crudTable tbody tr td a.btn-sm {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

#crudTable tbody tr td a.btn-sm i {
    font-size: 1.5rem;
}

table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1):hover {
    background-color: rgba(95, 120, 132, .2);
}

.table-hover tbody tr:hover {
    background-color: rgb(95, 120, 132, .1) !important;
}

/* Headers for operations */
.main .container-fluid h2 small {
    font-size: .5em;
    font-weight: 400;
}

form .select2.select2-container.select2-container--focus,
form .select2.select2-container.select2-container--open {
    background-color: #fff;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2) !important;
    border-color:rgba(0, 0, 0, 0.2) !important;
    color: var(--white);
    outline: 0;
    border-radius: 4px;
}

/* Create/Update Operations (Backpack forms) */

.tab-container .tab-pane {
    background-color: #fff;
    padding: 1rem;
    border: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color)!important;
}

h1[bp-section=page-heading] {
    font-size: 2rem;
    line-height: 2.1rem;
}

html:not([dir=rtl]) .wrapper {
    padding-left: var(--cui-sidebar-occupy-start, 0)
}

*[dir=rtl] .wrapper {
    padding-right: var(--cui-sidebar-occupy-start, 0)
}

.alert > ul {
    margin-bottom: 0;
}

#datatable_search_stack .input-icon-addon {
    display: none;
}
.switch-label .switch-slider::after {
    position: absolute;
    right: 1.5em;
    z-index: 1;
    margin-top: -1.8em;
    font-size: 8px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    content: attr(data-unchecked);
    transition: inherit;
}

.switch-slider {
    position: relative;
    display: block;
}

.switch-label.switch-sm .switch-slider {
    font-size: 8px;
}

.switch-label.switch-sm .switch-input:checked ~ .switch-slider::after {
    transform: translateX(-4.3em);
}
.switch-label .switch-input:checked ~ .switch-slider::after {
    left: 1px;
    color: #fff;
    content: attr(data-checked);
}

.switch-input.form-check-input {
    width: 3em;
    height: 1.5em;
}

.form-switch.switch {
    width:3.5em;
    height: 1.8em;
}

/* Sweet alert overrides */

.swal-overlay {
    background: rgba(17, 17, 17, 0.8);
}

.swal-overlay .swal-modal {
    background: var(--lightGrey);
}

/* SUCCESS */

.swal-overlay .swal-modal .swal-icon--success::before {
    background: var(--lightGrey);
}

.swal-overlay .swal-modal .swal-icon--success::after {
    background: var(--lightGrey);
}

.swal-overlay .swal-modal .swal-icon--success .swal-icon--success__hide-corners {
    background: var(--lightGrey);
}

.swal-icon--success__ring {
    border: 4px solid hsla(30, 52%, 44%, 0.2);
}

.swal-icon--success__line.swal-icon--success__line--long,
.swal-icon--success__line.swal-icon--success__line--tip {
    background: var(--green);
}

.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--success {
    background: var(--greorangeen);
}

.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--success:hover,
.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--success:active {
    background: var(--darkGreen) !important;
}

/* WARNING/DANGER */

.swal-overlay .swal-modal .swal-icon.swal-icon--warning {
    border-color: var(--red) !important;
}

.swal-overlay .swal-modal .swal-icon.swal-icon--warning .swal-icon--warning__body,
.swal-overlay .swal-modal .swal-icon.swal-icon--warning .swal-icon--warning__body .swal-icon--warning__dot,
.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--delete {
    background: var(--red) !important;
}

.swal-overlay .swal-modal .swal-footer {
    text-align: center;
}

.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--delete:hover,
.swal-overlay .swal-modal .swal-footer .swal-button.swal-button--delete:active {
    background: var(--darkRed) !important;
}

/* Noty Overrides */

.noty_layout .noty_type__success .noty_body {
    background: var(--green);
}

.noty_layout .noty_type__success .noty_progressbar {
    background: var(--darkGreen) !important;
    opacity: 1 !important;
}

.noty_layout .noty_type__danger .noty_body {
    background: var(--red);
}

.noty_layout .noty_type__danger .noty_progressbar {
    background: var(--darkRed) !important;
    opacity: 1 !important;
}

.noty_layout .noty_type__warning .noty_body {
    background: var(--yellow);
    color: var(--lightBlack);
}

.noty_layout .noty_type__warning .noty_progressbar {
    background: var(--orange) !important;
    opacity: 1 !important;
}

.noty_layout .noty_type__warning .noty_body {
    background: var(--blue);
}

.noty_layout .noty_type__warning .noty_progressbar {
    background: var(--darkBlue) !important;
    opacity: 1 !important;
}