:root {
    --bs-body-bg: #141227;
    --bs-body-bg-dark: #0C0B17;
    --bs-body-bg-light: #2c2b3c;
    --bs-body-bg-90: #2b2c3c;
    --bs-body-bg-80: #434251;
    --bs-body-bg-70: #5b5a68;
    --bs-body-bg-60: #72717d;
    --bs-body-bg-50: #898992;
    --bs-body-bg-40: #a1a1a8;
    --bs-body-bg-30: #b8b8bd;
    --bs-body-bg-20: #d0d0d4;
    --bs-body-bg-10: #e7e7e9;
    --bs-body-bg-tr: rgba(20,18,39,0.95);
    --bs-body-color: #ffffff;
    --bs-tertiary-bg: #141227;
    --bs-medium-white: #FBFBF8;
    --bs-body-disabled-bg: #434251;
    /* primary color */
    --v-primary-lighter: #78BD76;
    --v-primary-light: #78BD76;
    --v-primary: #78BD76;
    --v-grey-light: var(--v-primary-lighter);
    --bs-btn-bg: #78BD76;
    --bs-btn-primary-bg: #78BD76;
    --bs-btn-primary-hover-bg: #488D46;
    --bs-btn-primary-focus-bg: #185D16;
    /* primary color dark */
    --v-primary-dark: #78BD76;
    --v-primary-darker: #78BD76;
    /* secondary color */
    --bs-btn-secondary-bg: #39519E;
    --bs-btn-secondary-hover-bg: #19317E;
    --bs-btn-secondary-focus-bg: #09115E;
    /* narbar */
    --bs-emphasis-color: #78bd76c9;
    --v-grey-dark: #ffffff;
    --bs-white-rgb: 20 18 39;
    --bs-secondary-bg: #39519E;
    --bs-pagination-disabled-color: lightgray;
    --v-primary-gradient: linear-gradient(to right, var(--v-primary), var(--v-primary-light));
    /* Ezixio */
    --v-ezixio-primary: #39519E;
    --v-error: #C03A29;
    --v-secondary: var(--bs-secondary-bg);
}

main{
    padding-top: 50px;
}

body, body.layout-login, body.cke_editable {
    background: var(--bs-body-bg) !important;
    color: var(--bs-medium-white);
}

body {
    color: var(--bs-medium-white);
    font-size: 15px;
}

body.layout-login button.btn.btn-primary,
body.layout-login button.btn.btn-vireo-orange {
    background: var(--v-ezixio-primary) !important;
}

body.layout-login .white-input {
    border: 1px solid var(--v-ezixio-primary);
    border-radius: 20px;
    margin-bottom: 10px;
}

body.layout-login input:checked + .checkbox-box {
    background: var(--v-ezixio-primary);
}

body.layout-login .welcome-title {
    padding-left: 30px;
}

body.layout-login a,
body.layout-login .checkbox-label {
    color: white;
}

body.layout-login .navbar {
    background: var(--bs-body-bg) !important;
}

    body.layout-login .navbar:has(.show) {
        border-bottom: 1px solid var(--v-ezixio-primary);
        background-color: var(--bs-body-bg) !important;
    }

    body.layout-login .navbar .logo {
        max-height: 64px;
        margin-top: 0px !important;
        margin-left: 20px;
    }

@media (max-width: 767.98px) {
    body.layout-login .navbar .nav-item.dropdown.border-start {
        border-left: var(--bs-border-width) var(--bs-border-style) transparent !important;
    }
}

.navbar-vireo {
    background-color: #141227;
    border-bottom: 1px solid var(--v-ezixio-primary);
}

.footer-vireo, .footer-vireo-dark {
    color: white;
    background-color: var(--bs-body-bg);
    border-top: 1px solid var(--v-primary);
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: initial;
}

.card-vireo {
    background-color: var(--bs-body-bg-tr);
    border: 1px solid var(--v-ezixio-primary);
}


.select2-container--bootstrap-5 .select2-selection {
    color: #ffffff;
    background-color: var(--bs-body-bg);
}

.select2-container--bootstrap-5 .select2-dropdown {
    color: #ffffff;
    background-color: var(--bs-body-bg);
}

    .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field {
        color: #ffffff;
        background-color: var(--bs-body-bg);
    }

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: #ffffff;
}


div.ceRule, div.ceToolBar {
    color: #ffffff !important;
    background-color: var(--bs-body-bg) !important;
}

input, .custom-form-input {
    color: #ffffff !important;
    background-color: var(--bs-body-bg) !important;
    border: 1px solid gray;
}

    input:disabled, .custom-form-input:disabled {
        background-color: var(--bs-body-disabled-bg) !important;
        border: 1px solid gray;
    }

div.ceHelp {
    background-color: var(--bs-body-bg);
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
    color: #ffffff;
    background-color: var(--bs-body-bg);
}

.logo {
    /* Ensure logo occupies at least 75% of the navbar height while keeping navbar size unchanged */
    margin: 0 15px;
    height: calc(var(--v-navbar-height) * 0.5);
    max-height: calc(var(--v-navbar-height) * 0.85);
    width: auto;
    max-height: 64px;
}

.vireo-link {
    color: #ffffff;
    font-weight: bold;
}

input::placeholder, .white-input::placeholder {
    color: gray;
}

.upload-dropzone {
    background-color: rgba(255,255,255,0.25);
}

    .upload-dropzone:hover, .upload-dropzone.dragover {
        color: black;
    }

.navbar-collapse.collapse.show {
    background-color: var(--bs-body-bg) !important;
}

.grey-input {
    color: black;
}

.btn.btn-primary, .btn.btn-success, .btn.btn-orange, .accordionButton {
    background-color: var(--bs-btn-primary-bg);
}

    .btn.btn-primary:hover, .btn.btn-success:hover {
        background-color: var(--bs-btn-primary-hover-bg);
    }

    .btn.btn-primary:focus, .btn.btn-success:focus {
        background-color: var(--bs-btn-primary-focus-bg);
    }

.btn.btn-secondary {
    background-color: var(--bs-btn-secondary-bg);
}

    .btn.btn-secondary:hover {
        background-color: var(--bs-btn-secondary-hover-bg);
    }

    .btn.btn-secondary:focus {
        background-color: var(--bs-btn-secondary-focus-bg);
    }

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link {
    color: #fff !important;
}

    .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
        color: var(--v-primary-dark) !important;
    }

.welcome-image {
    height: 32px;
    margin-bottom: 7px;
}

.btn.btn-vireo-green, .btn.discover-btn {
    background: var(--v-primary) !important;
}

a {
    color: var(--v-primary);
}

.flyout-panel {
    background: var(--bs-body-bg) !important;
}

.boldUppercaseTitle {
    color: white;
}

.wizard-section, .bg-vireo-black {
    /*background-color: var(--bs-body-bg-tr);*/
    background: var(--bs-body-bg-light);
    box-shadow: 0 0 2px rgba(0,0,0,0.75);
}

.tooltip.wizard-tooltip .tooltip-inner {
    /*background: red;*/
    background: var(--v-ezixio-primary);
}

.btn-vireo-action {
    color: var(--v-ezixio-primary);
}

    .btn-vireo-action.btn-danger {
        color: red;
    }

    .btn-vireo-action.btn-primary {
        color: var(--v-primary);
    }

.border-vireo-black, .right-border, .left-border, .top-border, .bottom-border, .bordered {
    border-color: var(--bs-medium-white) !important;
}

.custom-form-input {
    color: black;
}

span.ceFlow, div.ceToolBar, span.ceClause, span.ceOperator, span.ceParenthesis, span.ceNewLine, span.ceBrace, span.ceSaveButton, span:hover.ceDeleteButton, table.ceHeader, td.ceRollover {
    color: #aFafaf !important;
}

.ceMenu {
    color: black;
    background: var(--v-ezixio-primary) !important;
}

    .ceMenu div:hover, .ceField.ceCurrent, .ceFlow, ceOperator ceCurrent, .ceMethod.ceCurrent {
        color: black;
    }

.pagination, .pagination .paginate_button, .page-item {
    color: white !important;
}

    .pagination .paginate_button.active a, .pagination .page-item.active a {
        color: black !important;
    }

.disabled > .page-link, .page-link.disabled {
    color: var(--bs-medium-white);
}

.accordion-button:not(.collapsed) {
    background-color: var(--bs-body-bg-80);
    color: var(--bs-medium-white);
}


.breadcrumb-item.active {
    color: var(--bs-medium-white) !important;
}

.paginate_button.page-item {
    background: var(--bs-body-bg) !important;
    color: var(--v-ezixio-primary);
}

a.page-link, a.page-link, .pagination .paginate_button a, .pagination .page-item a {
    background: transparent !important;
    color: var(--v-ezixio-primary) !important;
}

.paginate_button.page-item.active, .pagination .paginate_button.active a, .pagination .page-item.active a {
    color: var(--v-primary) !important;
}

.dashboard-container {
    justify-content: center;
    height: 70vh;
}

.btn-vireo-orange {
    background: var(--v-primary) !important;
}

.chapter-recap-link {
    color: var(--v-ezixio-primary) !important;
}

.validation-summary-errors, .validation-summary-errors p, .validation-summary-errors span, .validation-summary-errors li {
    color: var(--v-error) !important;
}

.btn-vireo-success {
    background-color: var(--bs-btn-primary-focus-bg);
}

p, span, label, .form-control, li, td, th, h1, h2, h3 {
    color: inherit;
}

/* Vireo custom switch (red variant) -------------------------------------------------- */
.vireo-switch .form-check-input {
    -webkit-appearance: none;
    appearance: none;
    width: 46px;
    height: 24px;
    background: rgba(192,58,41,0.25); /* off: red with 0.25 transparency */
    border-radius: 999px;
    position: relative;
    border: 1px solid rgba(211,211,211,0.6); /* light gray ring to indicate off */
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

    .vireo-switch .form-check-input::after {
        content: "";
        width: 20px;
        height: 20px;
        background: #ffffff; /* off knob */
        border-radius: 50%;
        position: absolute;
        top: 2px;
        left: 2px;
        transition: transform .15s ease, background .15s ease, left .15s ease, right .15s ease;
        box-shadow: 0 0 0 3px rgba(211,211,211,0.25); /* subtle light ring around the knob */
    }

/* Checked (on) state for red variant */
.vireo-switch.vireo-switch-red .form-check-input:checked {
    background: rgba(192,58,41,0.25) !important; /* on: red with 0.5 transparency */
    border-color: rgba(192,58,41,0.6);
}

.vireo-switch.vireo-switch-red .form-check-input:not(:checked) {
    background: rgba(192,114,11,0.25) !important; /* on: red with 0.5 transparency */
    border-color: rgba(192,114,11,1);
}

.vireo-switch.vireo-switch-red .form-check-input:checked::after {
    transform: translateX(22px); /* move knob to right */
    background: var(--v-error); /* knob becomes red */
    box-shadow: none;
    left: auto;
    right: 23px;
    top: 1px;
}

.vireo-switch .form-check-input:focus {
    outline: none;
    box-shadow: 0 0 0 0.15rem rgba(192,58,41,0.15);
}

.btn-close, .btn-close:after, .btn-close:before {
    color: var(--bs-medium-white);
}


.grey-input {
    background-color: var(--bs-body-bg);
    background: var(--bs-body-bg);
}

/* Make native select arrow white by hiding the default arrow and using an inline SVG as background */
select.grey-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    color: var(--bs-medium-white);
    padding-right: 2rem; /* space for custom arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23FFFFFF' d='M6 8L0 0h12L6 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
}

/* Hide default dropdown arrow in IE/Edge */
select.grey-input::-ms-expand {
    display: none;
}

section.wizard-section[data-section-id="31892"] .download-btn-group > .dropend > button {
    background: var(--bs-body-bg) !important;
}

footer .footer-logo {
    width: 175px;
}
