:root {
    --primary-color: #71b323 !important;
    --sidebar-bg-color: #27400a !important;
    --secondary-color: #31ce36 !important;
    --bs-primary-rgb: 211, 231, 204 !important;
    --bs-primary: var(--primary-color) !important;
    --bs-nav-link-color: var(--primary-color) !important;
    --bs-link-color: var(--primary-color) !important;
    --bs-nav-link-hover-color: #27400a !important;
    --bs-link-hover-color: #27400a !important;
    --kt-dropdown-box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);
    --kt-body-bg: #ffffff !important;
}

.progress{
    --bs-progress-bar-bg: var(--primary-color) !important;
}

a:focus, a:hover {
    color: var(--bs-nav-link-hover-color);
}

.sidebar .nav.nav-secondary>.nav-item a:focus i, .sidebar .nav.nav-secondary>.nav-item a:hover i, .sidebar .nav.nav-secondary>.nav-item a[data-toggle=collapse][aria-expanded=true] i, .sidebar[data-background-color=white] .nav.nav-secondary>.nav-item a:focus i, .sidebar[data-background-color=white] .nav.nav-secondary>.nav-item a:hover i, .sidebar[data-background-color=white] .nav.nav-secondary>.nav-item a[data-toggle=collapse][aria-expanded=true] i{
    color: var(--primary-color) !important;
}

.select2-container{
    width: 100% !important;
}

.form-group label {
    white-space: normal !important; /* permite que el texto haga wrap */
}

.sidebar[data-background-color=dark]{
    background: var(--sidebar-bg-color) !important;
}

.logo-header[data-background-color=dark]{
    background: var(--sidebar-bg-color) !important;
}

.sidebar .nav.nav-secondary>.nav-item .nav-collapse li.active>a, .sidebar .nav.nav-secondary>.nav-item.active a i{
    color: var(--primary-color) !important;
}

.btn-primary {
    background-color: var(--primary-color) !important;
}
.btn-blue {
    background-color: #0D6EFDFF !important;
}
.btn-gray {
    background-color: #6c757d !important;
}
.btn-green {
    background-color: #28a745 !important;
}
.btn-red {
    background-color: #dc3545 !important;
}
.btn-yellow {
    background-color: #ffc107 !important;
}
.btn-blue-green {
    background-color: #17a2b8 !important;
}
.btn-white {
    background-color: #FFFFFF !important;
}
.btn-black {
    background-color: #000000 !important;
}

.wrapper{
    position: relative;
    min-height: 100vh;
}

textarea.form-control{
    font-size: 1rem;
    border-color: #ebedf2;
    padding: .6rem 1rem;
    height: max-content !important;
    border-width: 2px;
}

hr.hr-text, .hr-notext {
    position: relative;
    border: none;
    height: 15px;
    background: var(--bs-primary);
}

hr.hr-text::before, .hr-notext::before {
    content: attr(data-content);
    display: inline-block;
    background: #fff;
    font-weight: bold;
    border-radius: 30rem;
    padding: 2rem 2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hr-notext::before {
    content: none !important;
}

.w-fit-content {
    width: fit-content !important;
}


/* Select2 */

.select2.select2-container.select2-container--open .select2-selection.select2-selection--single {
    background: var(--bs-body-bg);
}

.select2.select2-container.select2-container--open .select2-selection.select2-selection--multiple {
    border: 1px solid #34495e;
}

.select2.select2-container .select2-selection--multiple {
    font-size: 1rem;
    padding: .2rem;
    border-color: #ebedf2;
    height: inherit !important;
    border-width: 2px;
}

.select2.select2-container .select2-selection--single {
    font-size: 1rem;
    padding: .4rem;
    border-color: #ebedf2;
    height: inherit !important;
    border-width: 2px;
}

.select2.select2-container .select2-selection--single .select2-selection__arrow {
    -webkit-border-radius: 0 3px 3px 0;
    -moz-border-radius: 0 3px 3px 0;
    border-radius: 0 3px 3px 0;
    height: 32px;
    width: 33px;
}

.select2.select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin-top: 0;
    height: 32px;
}

.select2.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: block;
    padding: 0 4px;
    line-height: 29px;
}

.select2.select2-container .select2-selection--multiple .select2-selection__choice {
    background-color: #f8f8f8;
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    margin: 4px 4px 0 0;
    padding: 0 6px 0 22px;
    height: 24px;
    line-height: 24px;
    font-size: 1rem;
    position: relative;
}

.select2.select2-container .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
    position: absolute;
    top: 0;
    left: 0;
    height: 22px;
    width: 22px;
    margin: 0;
    text-align: center;
    color: #e74c3c;
    font-weight: bold;
    font-size: 16px;
}

.select2-container .select2-dropdown {
    background: transparent;
    border: none;
    margin-top: -5px;
}

.select2-container .select2-dropdown .select2-search {
    padding: 0;
}

.select2-container .select2-dropdown .select2-search input {
    outline: none !important;
    border: 1px solid #34495e !important;
    border-bottom: none !important;
    padding: 4px 6px !important;
}

.select2-container .select2-dropdown .select2-results {
    padding: 0;
}

.select2-container .select2-dropdown .select2-results ul {
    background: #fff;
    border: 1px solid #34495e;
}

.select2-container .select2-dropdown .select2-results ul .select2-results__option--highlighted[aria-selected] {
    background-color: #3498db;
}

.select2-container .select2-dropdown{
    z-index: 2000 !important;
}

.loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fc-event {
    background: #d05454;
    border-color: #d05454;
}

.fc .fc-popover .fc-popover-header .fc-popover-title {
    color: #FFFFFF !important;
}

.fc .fc-popover {
    background-color: var(--secondary-color) !important;
}

.swal2-popup, .flatpickr-calendar {
    background-color: #ffffff !important;
}

.flatpickr-calendar {
    box-shadow: 0 0 10px #000000 !important;
}

.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange, .flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay, .flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover, .flatpickr-day.selected,
.flatpickr-day.selected.inRange, .flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected:focus,
.flatpickr-day.selected:hover, .flatpickr-day.startRange,
.flatpickr-day.startRange.inRange, .flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay, .flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover {
    background: var(--secondary-color) !important;
    color: #FFFFFF !important;
}

.flatpickr-day.inRange, .flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day.nextMonthDay:focus,
.flatpickr-day.nextMonthDay:hover, .flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.prevMonthDay:focus,
.flatpickr-day.prevMonthDay:hover, .flatpickr-day.today.inRange,
.flatpickr-day:focus, .flatpickr-day:hover {
    background: var(--secondary-color) !important;
    color: #FFFFFF !important;
    background-color: var(--secondary-color);
}

.swal2-popup{
    background: var(--bs-body-bg) !important;
}

@media (min-width:992px){
    .modal-xxl{
        --bs-modal-width:950px
    }
}@media (min-width:1200px){
    .modal-xxl{
        --bs-modal-width:1500px
    }
}

.breadcrumbs{
    border-left: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

label.required::after {
    content: " *";
    color: red;
}