:root {
    scroll-behavior: auto !important;
    --tblr-primary: #0ca678;
    --tblr-primary-rgb: 12, 166, 120;

}

.dropdown-menu.show {
    display: block;
    z-index: 2000;
}

.logo-lg, .logo-mini {
    color: lightgrey;
}

section.content {
    min-height: 1000px;
}


span.label-tag {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    margin-right: 5px;
    font-size: 12px;
    font-weight: 400;
    padding: 2px 3px;
    color: black;
}

.logo-lg b, .logo-mini b {
    color: white
}

.text-muted {
    color: lightgray;
}

section.content {
    margin-top: 20px;
}

section.article img {
    max-width: 100%;
}

.content-header > .breadcrumb > li > a.btn {
    color: white;
    text-decoration: none;
    display: inline-block;
}

.content-header > .breadcrumb > li > a.btn.btn-default {
    color: #00a6d9;
}

section.article {
    padding: 20px;
}

pre {
    background-color: #fafafa;
}

.content-header > .breadcrumb > li > a {
    color: #72afd2;
    /* display: inline-block; */
}

.label-default {
    color: white;
}

.info-box-icon {
    font-size: 40px;
}

p.resource-description {
    color: black;
    margin: 0;
    max-height: 40px;
    overflow-y: hidden;
}

.resource-title {
    margin: 2px 0 5px 0;
}

.resource-title img {
    width: 20px;
}

input.form-control.active {
    background-color: var(--tblr-bg-forms) !important;
}

.select2-selection {
    border-color: var(--tblr-border-color) !important;
}

.select2-container--disabled .select2-selection--single, .select2-container--disabled .select2-selection--multiple {
    background-color: var(--tblr-bg-surface-secondary) !important;
    color: var(--tblr-gray-500) !important;
}

.select2-selection--single, .select2-selection--multiple {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-results__option--selected {
    opacity: 0.5;
    background-color: rgb(0, 0, 0, 0.2) !important;
    color: var(--tblr-body-color) !important;
}

.select2-dropdown {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.select2-container--default .select2-selection--single {
    height: auto !important; /* Allow height to adjust */
    min-height: 34px; /* Minimum height */
    box-shadow: var(--tblr-box-shadow-input);
    border-radius: var(--tblr-border-radius);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 34px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 34px !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    height: 34px !important;
}

/* The container */
.select2-container--default .select2-selection--multiple {
    height: auto !important; /* Allow dynamic height */
    min-height: 34px; /* Minimum height */
    padding-top: 0px;
}

/* The selected items */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    height: 24px !important; /* 2px less to account for borders */
    line-height: 24px !important;
    margin-bottom: 5px !important; /* Center vertically */
    background-color: #eef3f6;
    border: 1px solid #dce1e7;
}

.select2-container--default .select2-selection--multiple {
    padding-bottom: 0px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    border-right: 1px solid #dce1e7;
}

/* The search field */
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    height: 30px !important;
    line-height: 30px !important;
}

img.img-flag {
    width: 20px;
}

.flatpickr-calendar {
    background-color: var(--tblr-bg-forms) !important;
}

.flatpickr-day, .flatpickr-weekday {
    color: var(--tblr-body-color) !important;
}

.daterangepicker {
    background-color: var(--tblr-bg-forms) !important;
    color: var(--tblr-body-color) !important;
}

.daterangepicker .calendar-table {
    background-color: var(--tblr-bg-forms) !important;
}

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

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
    background-color: var(--tblr-bg-forms) !important;
}

.info-box {
    position: relative;
}


th.sorting {
    position: relative;
    cursor: pointer;
    color: #3f9ce8;
}

th.sorting:after {
    content: "";
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    background: url("data:image/svg+xml,<svg xmlns= 'http://www.w3.org/2000/svg' viewBox= '0 0 16 16' width= '16' height= '16' fill= 'none' stroke= 'currentColor' stroke-linecap= 'round' stroke-linejoin= 'round' stroke-width= '1' ><path d= 'M5 7l3 -3l3 3' /><path d= 'M5 10l3 3l3 -3' /></svg>") no-repeat center;
    opacity: .3;
    position: relative;
    left: 3px;
    bottom: -3px;
    font-weight: 900;
    font-size: 12px;
}


th.sorting.sorting_asc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 10l3 -3l3 3'/></svg>") no-repeat center;
    opacity: 1;
}


th.sorting.sorting_desc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") no-repeat center;
    opacity: 1;
}

.layout-top-nav .wrapper .main-header .brand-image {
    height: 45px;
}

#logo {
    height: 80px;
}

.py-100 {
    padding: 100px 0;
}


.clickable-row {
    cursor: pointer;
}

.clickable-row td a {
    padding: 5px;
}


.badge-used {
    color: #fff;
    background-color: #ffca28;
}

.badge-available {
    color: #fff;
    background-color: #9ccc65;
}


.unitinput {
    max-width: 250px;
}

.unitinput input[type=number]::-webkit-inner-spin-button,
.unitinput input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


#notifications {
    position: fixed;
    bottom: 30px;
    left: 30px;
    z-index: 4001;
    min-width: 300px;
    animation: shake 0.4s cubic-bezier(.36, .07, .19, .97) both;
}

.alert.shake {
    animation: shake 0.4s cubic-bezier(.36, .07, .19, .97) both;
}

span.highlight {
    background-color: #fdeccc;
}

#hijack-notification {
    position: fixed;
    text-align: center;
    bottom: 0;
    width: 100vw;
    z-index: 4000;
    background: #ffe761;
    padding: 20px 30px;
    font-size: 1.2em;
}

.has-error input {
    border: 1px solid #d63939;
}


th.sorting:after {
    content: "";
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    background: url("data:image/svg+xml,<svg xmlns= 'http://www.w3.org/2000/svg' viewBox= '0 0 16 16' width= '16' height= '16' fill= 'none' stroke= 'currentColor' stroke-linecap= 'round' stroke-linejoin= 'round' stroke-width= '1' ><path d= 'M5 7l3 -3l3 3' /><path d= 'M5 10l3 3l3 -3' /></svg>") no-repeat center;
    opacity: .3;
}


th.sorting.sorting_asc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 10l3 -3l3 3'/></svg>") no-repeat center;
    opacity: 1;
}


th.sorting.sorting_desc:after {
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") no-repeat center;
    opacity: 1;
}

.dataTables_info {
    padding: 10px;
}

#sidebar-menu .nav-main-heading {
    color: #7186a3;
    padding: 1.375rem 1rem 0.375rem;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .0625rem;
}

.input[type=range].form-control {
    width: 100%;

}


.nowrap {
    white-space: nowrap;
}

.sticky-col {
    position: sticky !important;
    left: 0;
    z-index: 1000;
}


input.table-input {
    -moz-appearance: textfield;
    font-size: 0.8rem;
    border: none;
    box-shadow: none;
    min-width: 65px;
}

input.table-input:focus {
    outline: none;
    box-shadow: none;
}


input.table-input::-webkit-outer-spin-button,
input.table-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


.nav .nav-link {
    font-weight: 600;
}


.card.hover:hover {
    border-color: #3f9ce8;
}

.btn-md {
    padding: 0.3rem 0.5rem;
    font-size: 0.8rem;
}


.card-table tr td:first-child, .card-table tr th:first-child {
    padding-left: 0.75rem;
}

#loader > div {
    background: var(--tblr-bg-forms) !important;
}

body.dark input.form-control.disabled, body.dark input.form-control:disabled {
    color: var(--tblr-gray-300) !important;
    cursor: not-allowed;
}


#searchfields .mb-3 {
    margin-bottom: 0.2rem !important;
}

#searchfields div {
    min-width: 250px;
}

.modal-content {
    border: 1px solid #F5F8FB;
}

.hover-light:hover {
    background-color: #F5F8FB;
}

body.dark .hover-light:hover {
    background-color: #466082;
}

#th_projet {
    width: 400px;
}

.btn-lg {
    --tblr-btn-padding-y: 0.4rem;
    --tblr-btn-padding-x: 1.2rem;
    --tblr-btn-font-size: 1.15rem;
    --tblr-btn-border-radius: var(--tblr-border-radius-lg)
}


.card {
    border-radius: 15px;
    border: none;
}

#timer-display.warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

#timer-display.danger {
    background-color: #dc3545 !important;
    color: #fff !important;
}

.pulse-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: red;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.5);
        opacity: 0.6;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.vocabulary {
    padding: 1px 3px;
    font-weight: bold;
    border-radius: 3px;
}

.vocabulary.topic-specific {
    border: 1px solid #cecece;
    background: #F1F8E8;
    color: #74B817;
}

.vocabulary.idiomatic {
    border: 1px solid #cecece;
    background: #E8F0F8;
    color: #1A73E8;
}

.vocabulary.discourse-markers {
    border: 1px solid #cecece;
    background: #F7EEF9;
    color: #AE3EC9;
}

.correction b {
    color: #d63939;
}

.z-1000 {
    z-index: 1000;
}

.z-2000 {
    z-index: 2000;
}


.alert-danger {
    background-color: #FBECEB;
    color: #D53839;
}

.step-item.active:before {
    animation: pulse 1.5s infinite;
}


@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(54, 166, 119, 0.6);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(54, 166, 119, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 50%, 90% {
        transform: translateX(-10px);
    }
    30%, 70% {
        transform: translateX(10px);
    }
}

.steps  {
    margin-left:0 !important;
    border-left:none !important;
}

.navbar-brand-image {
    height:40px;
}

.card.bg-teal-lt .nav-link.active {
    background-color: var(--tblr-teal-lt);
    border-bottom:0;
}

.bg-success-lt {
    background-color: #ECF7EC !important;
}