/*======================================================================================================================
 Layouts
======================================================================================================================*/
body {
    font-family: var(--theme-font-family-primary);
}

.paper {
    position: absolute;
    width: 20px;
    height: 30px;
    border: 0 solid #ccc;
    border-radius: 5px;
    animation: fall linear infinite;
    z-index: 999999;
    box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.3);
    transform: rotateZ(-5deg);
}

@keyframes fall {
    0% {
        transform: translateY(-10px) rotateX(0deg) rotateY(0deg);
    }
    100% {
        transform: translateY(100vh) rotateX(720deg) rotateY(720deg);
    }
}

@media (width < 768px) {
    .theme-layout-panel-header .component-header-menu-mobile{
        display: block;
        font-size: 20px;
        margin-right: 15px;
    }

    .component-page-section-content{
        padding-top: 10px !important;
    }
}

@media (width > 768px) {
    .theme-layout-panel-header .component-header-menu-mobile{
        display: none !important;
    }
}

.component-navbar-user-options{
    background: transparent;
    border-radius: 10px;
    width: auto;
    padding: 0 10px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: end;
    cursor: pointer;
    transition: 0.2s all;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

body.theme-dark .component-navbar-user-options:hover{
    background: var(--theme-color-dark-secondary);
}

body.theme-light .component-navbar-user-options:hover{
    background: var(--theme-color-light-secondary);
}

.component-navbar-user-options img{
     border-radius: 10px;
 }


.component-navbar-user-options-dropdown{
    position: absolute;
    display: none;
    top: 20px !important;
    right: -10px;
    padding: 12px 16px;
    border-radius: 8px;
    width: 250px;
    height: auto;
    background: #fff;
    cursor: default;
    box-shadow: var(--theme-box-shadow-card);
}

.component-navbar-user-options-dropdown.active{
    display: block;
    z-index: 10001 !important;
    animation: keyframe-show-user-options 0.5s ease forwards;
}

@keyframes keyframe-show-user-options {
    from {
        top: 60px;
    }
    to {
        top: 40px;
    }
}

.component-navbar-user-options-dropdown img{
    padding: 2px;
    width: 50px;
    height: 50px;
    background: #FBF1F2;
    border-radius: 10px;
}

.component-navbar-user-options-dropdown .component-navbar-user-options-item{
    display: block;
    margin: 2px 0;
    padding: 6px 8px;
    width: 100%;
    color: var(--theme-color-surface-400);
    font-size: 12px;
    font-weight: var(--theme-font-weight-medium);
    text-decoration: none;
    border-radius: 5px;
    transition: 0.3s;
}

.component-navbar-user-options-dropdown .component-navbar-user-options-item:hover{
    background: var(--theme-color-surface-950);
    color: var(--theme-color-green-hover);
}

.component-navbar-user-options-dropdown .component-navbar-user-options-item.active{
    color: var(--theme-color-green-normal);
}



.component-layout-panel-support-alert{
    position: fixed;
    top: 0;
    left: calc(50% - 150px);
    z-index: 1054;
    background: var(--theme-color-default-primary);
    color: var(--theme-color-light-primary);
    box-shadow: var(--theme-box-shadow-notification);
    font-weight: 600;
    font-size: 12px;
    margin: 0 auto;
    height: 40px;
    width: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}


/*======================================================================================================================
 Scrollbar
======================================================================================================================*/
*::-webkit-scrollbar {
    width: 10px !important;;
    height: 10px !important;;
}

*::-webkit-scrollbar-track {
    background-color: #fff !important;;
    border-radius: 0 !important;;
}

*::-webkit-scrollbar-thumb {
    background-color: rgba(57, 73, 71, 0.63) !important;
    border-radius: 20px !important;
    border: 2px solid #fff;
}

body.theme-dark *::-webkit-scrollbar-track{
    background-color: #252525 !important;;
    border-radius: 0 !important;;
}
body.theme-dark *::-webkit-scrollbar-thumb{
    background-color: #43455d !important;
    border-radius: 20px !important;
    border: 2px solid #252525;
}


/*======================================================================================================================
 Background (bootstrap soft background colors)
======================================================================================================================*/
.bg-soft-danger{
    background : rgba(220, 53, 69, 0.3);
}
.bg-soft-warning{
    background : rgba(255, 193, 7, 0.3);
}
.bg-soft-info{
    background : rgba(13, 202, 240, 0.3);
}
.bg-soft-success{
    background : rgba(25, 135, 84, 0.3);
}
.bg-soft-secondary{
    background: rgba(108, 117, 125, 0.3);
}


/*======================================================================================================================
 Margin
======================================================================================================================*/
.my-6 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

.my-7 {
    margin-top: 1.75rem !important;
    margin-bottom: 1.75rem !important;
}

.my-8 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.my-9 {
    margin-top: 2.25rem !important;
    margin-bottom: 2.25rem !important;
}

.my-10 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
}

.mx-6 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
}

.mx-7 {
    margin-left: 1.75rem !important;
    margin-right: 1.75rem !important;
}

.mx-8 {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
}

.mx-9 {
    margin-left: 2.25rem !important;
    margin-right: 2.25rem !important;
}

.mx-10 {
    margin-left: 2.5rem !important;
    margin-right: 2.5rem !important;
}

.mt-6 {
    margin-top: 1.5rem !important;
}

.mt-7 {
    margin-top: 1.75rem !important;
}

.mt-8 {
    margin-top: 2rem !important;
}

.mt-9 {
    margin-top: 2.25rem !important;
}

.mt-10 {
    margin-top: 2.5rem !important;
}

.mb-6 {
    margin-bottom: 1.5rem !important;
}

.mb-7 {
    margin-bottom: 1.75rem !important;
}

.mb-8 {
    margin-bottom: 2rem !important;
}

.mb-9 {
    margin-bottom: 2.25rem !important;
}

.mb-10 {
    margin-bottom: 2.5rem !important;
}


/*======================================================================================================================
 Padding
======================================================================================================================*/
.py-6 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.py-7 {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
}

.py-8 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.py-9 {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
}

.py-10 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}

.px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.px-7 {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
}

.px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.px-9 {
    padding-left: 2.25rem !important;
    padding-right: 2.25rem !important;
}

.px-10 {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
}

/*======================================================================================================================
 Font size
======================================================================================================================*/
.fs-8 { font-size: 8px !important;}
.fs-9 { font-size: 9px !important;}
.fs-10{ font-size: 10px !important;}
.fs-11{ font-size: 11px !important;}
.fs-12{ font-size: 12px !important;}
.fs-13{ font-size: 13px !important;}
.fs-14{ font-size: 14px !important;}
.fs-15{ font-size: 15px !important;}
.fs-16{ font-size: 16px !important;}
.fs-17{ font-size: 17px !important;}
.fs-18{ font-size: 18px !important;}
.fs-19{ font-size: 19px !important;}
.fs-20{ font-size: 20px !important;}
.fs-21{ font-size: 21px !important;}
.fs-22{ font-size: 22px !important;}
.fs-23{ font-size: 23px !important;}
.fs-24{ font-size: 24px !important;}
.fs-30{ font-size: 30px !important;}
.fs-36{ font-size: 36px !important;}
.fs-42{ font-size: 42px !important;}
.fs-48{ font-size: 48px !important;}
.fs-72{ font-size: 72px !important;}



/*======================================================================================================================
 Divider
======================================================================================================================*/
.divider:not(.divider-label){
    height: 1px;
    margin: 20px 0;
    width: 100%;
    opacity: 0.7;
}

body.theme-dark .divider:not(.divider-label){
    background-color: var(--theme-color-dark-primary);
}

body.theme-light .divider:not(.divider-label){
    background-color: var(--theme-color-light-secondary);
}

.divider.divider-label {
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: start;
    margin: 20px 0;
}

.divider.divider-label::before, .divider.divider-label::after {
    flex: 2;
    content: '   ';
    padding: 1px;
    opacity: 0.2;
    margin: 5px;
}

body.theme-dark .divider.divider-label::before, body.theme-dark .divider.divider-label::after {
    background-color: var(--theme-color-dark-primary);
}

body.theme-light .divider.divider-label::before, body.theme-light .divider.divider-label::after {
    background-color: var(--theme-color-light-primary);
}



/*======================================================================================================================
 Text decorations
======================================================================================================================*/
.text-decoration-off{
    text-decoration: none !important;
}

.text-select-off{
    user-select: none !important;
}

/*======================================================================================================================
 Header menu button
======================================================================================================================*/
.header-menu-button{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    margin-right: 16px;
    border: 1px solid var(--theme-color-surface-200) !important;
    border-radius: var(--theme-border-radius-button);
}

/*======================================================================================================================
 Carousel
======================================================================================================================*/
.carousel-1{
    position: absolute;
    width: calc(100% + 30px);
    overflow-x: scroll;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: start;
}

/*======================================================================================================================
 Alignments
======================================================================================================================*/
.text-justified{
    text-align: justify;
}

/*======================================================================================================================
 Border radius
======================================================================================================================*/
.border-radius-1{border-radius: 1px}
.border-radius-2{border-radius: 2px}
.border-radius-3{border-radius: 3px}
.border-radius-4{border-radius: 4px}
.border-radius-5{border-radius: 5px}
.border-radius-6{border-radius: 6px}
.border-radius-7{border-radius: 7px}
.border-radius-8{border-radius: 8px}
.border-radius-9{border-radius: 9px}
.border-radius-10{border-radius: 10px}
.border-radius-12{border-radius: 12px}
.border-radius-14{border-radius: 14px}
.border-radius-16{border-radius: 16px}
.border-radius-18{border-radius: 18px}
.border-radius-20{border-radius: 20px}

/*======================================================================================================================
 Cursor
======================================================================================================================*/
.cursor-pointer{
    cursor: pointer;
}
.cursor-default{
    cursor: default;
}
.cursor-not-allowed{
    cursor: not-allowed;
}

/*======================================================================================================================
 Grid
======================================================================================================================*/
.col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
.col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
.col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12,
.col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12,
.col, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12
{
    margin-bottom: 1.5rem;
}

/*======================================================================================================================
 Input password icon eye
======================================================================================================================*/
.input-group-icon{
    position: relative;
}

.input-group-icon input{
    padding-right: 40px;
}

.input-group-icon .icon{
    position: absolute;
    font-size: 18px;
    cursor: pointer;
    top: 6px;
    right: 12px;
}

.input-group-icon.input-auth input{
    padding-right: 40px;
}

.input-group-icon.input-auth .icon{
    position: absolute;
    font-size: 18px;
    cursor: pointer;
    top: 13px;
    right: 20px;
}


/*======================================================================================================================
 Layouts
======================================================================================================================*/
.theme-layout-panel-breadcrumb .breadcrumb-item{
    font-size: 12px;
    font-weight: 500;
}

.theme-layout-panel-breadcrumb .breadcrumb-item a{
    text-decoration: none;
}

body.theme-dark .theme-layout-panel-breadcrumb .breadcrumb-item.active{
    color: var(--theme-color-surface-500) !important;
}

body.theme-light .theme-layout-panel-breadcrumb .breadcrumb-item.active{
    color: var(--theme-color-surface-500) !important;
}

.breadcrumb-item+.breadcrumb-item::before{
    color: var(--theme-color-surface-500) !important;
}

.theme-layout-panel-breadcrumb .breadcrumb-item:not(.active) a{
    color: var(--theme-color-default-primary);
    transition: 0.3s;
}

.theme-layout-panel-breadcrumb .breadcrumb-item:not(.active) a:hover{
    color: var(--theme-color-default-secondary);
}

.theme-layout-panel-breadcrumb .breadcrumb-item:not(.active) a i{
    color: var(--theme-color-default-primary);
    transition: 0.3s;
}

.theme-layout-panel-breadcrumb .breadcrumb-item:not(.active) a:hover i{
    color: var(--theme-color-default-secondary);
}

.component-page-section-content{
    position: relative;
    padding-top: 20px;
    width: 100%;
}

.component-page-content-callback{
    position: relative;
    width: 100%;
    padding-bottom: 50px;
    height: auto;
}

.component-page-content-loading{
    min-height: 200px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*======================================================================================================================
 Width/Height
======================================================================================================================*/
.component-width-100px{
    width: 100px !important;
}

.component-width-150px{
    width: 150px !important;
}

.component-width-200px{
    width: 200px !important;
}


/*======================================================================================================================
 Cards
======================================================================================================================*/
.component-general-card{
    display: flex;
    padding: 15px 20px;
    align-items: center;
    border-radius: var(--theme-border-radius-card);
    box-shadow: var(--theme-box-shadow-card);
}

body.theme-dark .component-general-card{
    background: var(--theme-color-dark-card);
}

body.theme-light .component-general-card{
    background: var(--theme-color-light-card);
}

/*======================================================================================================================
 Datepicker
======================================================================================================================*/
body.theme-dark .jconfirm .jconfirm-box{
    background: var(--theme-color-dark-card) !important;
    color: var(--theme-color-surface-900) !important;
}

.datepicker table tr td.active:active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active{
    background: var(--theme-color-default-primary) !important;
    color: var(--theme-color-surface-1000) !important;
    border-radius: 5px !important;
    border:  0 !important;
}

/*======================================================================================================================
 Modal (Jquery confirm box)
======================================================================================================================*/
body.theme-dark .jconfirm .jconfirm-box{
    background: var(--theme-color-dark-card) !important;
    color: var(--theme-color-surface-900) !important;
}


/*======================================================================================================================
 Modal
======================================================================================================================*/
.component-modal-content{
    border: none !important;
    box-shadow: var(--theme-box-shadow-notification);
    border-radius: 5px !important;
}

.component-modal-content .component-modal-content-loading{
    min-height: 200px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.component-modal-content .btn-close{
    width: 10px !important;
    height: 10px !important;
}

body.theme-dark .component-modal-content{
    background: var(--theme-color-dark-primary);
}

body.theme-dark .component-modal-content .modal-header, body.theme-dark .component-modal-content .modal-footer{
    border-color:  var(--theme-color-dark-secondary);
}




/*======================================================================================================================
 Labels
======================================================================================================================*/
.label-blur{
    filter: blur(0.35rem);
}


/*======================================================================================================================
 Select2
======================================================================================================================*/


/*======================================================================================================================
 Select2
======================================================================================================================*/
.component-select2{
    padding: 12px 16px !important;
    height: 40px !important;
    align-items: center !important;
    gap: 16px !important;
    align-self: stretch !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: var(--theme-font-weight-regular) !important;
    line-height: 24px !important;
    transition: 0.2s !important;
    width: 100%;
}

.select2-container--open .select2-selection, .select2-selection--single:focus, .select2-selection--multiple:focus {
    outline: none !important;
}

.select2-results__option{
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 6px 10px !important;
}

.component-select2 ~ .select2-container--default .select2-selection--single{
    line-height: 36px !important;
    border-radius: 6px !important;
    font-size: 13px;
    font-weight: 500;
    height: 40px !important;
}

body.theme-dark .component-select2 ~ .select2-container--default .select2-selection--single{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .component-select2 ~ .select2-container--default .select2-selection--single{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

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

.component-select2 ~ .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 36px !important;
    border-radius: 6px !important;
    height: 40px !important;
}

.select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    border-radius: 6px;
    margin-top: -40px;
}

body.theme-dark .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

.select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--above{
    border-radius: 6px;
    margin-top: -10px;
}

body.theme-dark .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--above{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--above{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

.select2-container--focus{
    outline: none !important;
}

.select2-search__field{
    display: flex;
    padding: 12px 6px !important;
    height: 40px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 6px;
    border: 0 !important;
    font-size: 14px;
    font-style: normal;
    font-weight: var(--theme-font-weight-medium);
    line-height: 24px;
    outline: none !important;
}

.select2-selection__placeholder{
    font-size: 12px !important;
}

body.theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered{
    color: var(--theme-color-surface-900) !important;
}

body.theme-light .select2-container--default .select2-selection--single .select2-selection__rendered{
    color: var(--theme-color-surface-100) !important;
}

body.theme-dark .select2-search__field{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 0 !important;
}

body.theme-light .select2-search__field{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 0 !important;
}



.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background: var(--theme-color-aqua);
}

body.theme-dark .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background: var(--theme-color-aqua);
}

body.theme-dark .select2-container--default .select2-results__option--selected{
    background: var(--theme-color-surface-500);
}


/*======================================================================================================================
 Tables/Datatables and child components
======================================================================================================================*/
body.theme-dark .table>:not(caption)>*>* {
    color: var(--theme-color-surface-900);
    background-color: transparent;
    border-bottom: 1px solid var(--theme-color-surface-200);
    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));
}


.component-tbody-has-actions .component-tbody-text{
    font-size: 13px;
    font-weight: 400;
    padding-top: 12px;
}


body.theme-dark .component-table-button-action{
    background: var(--theme-color-dark-secondary);
}

body.theme-light .component-table-button-action{
    background: var(--theme-color-light-secondary);
}


div.dataTables_wrapper input[type="search"] {
    border: none;
    outline: none;
}

.component-datatable-input-search{
    display: flex;
    padding: 12px 16px;
    height: 40px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 6px;
    font-size: 14px;
    font-style: normal;
    font-weight: var(--theme-font-weight-medium);
    line-height: 24px;
    transition: 0.2s;
}

body.theme-dark .component-datatable-input-search{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-dark .component-datatable-input-search::placeholder{
    color: var(--theme-color-surface-600) !important;
}

body.theme-light .component-datatable-input-search{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

.component-datatable-input-search:hover, .component-datatable-input-search:active, .component-datatable-input-search:focus{
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 2px solid var(--theme-color-default-primary) !important;
}


.component-datatable-select2-page-length{
    width: 150px !important;
    padding: 12px 16px !important;
    height: 40px !important;
    align-items: center !important;
    gap: 16px !important;
    align-self: stretch !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: var(--theme-font-weight-medium) !important;
    line-height: 24px !important;
    transition: 0.2s !important;
}


.component-datatable-input-search:hover, .component-datatable-input-search:active, .component-datatable-input-search:focus{
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 2px solid var(--theme-color-default-primary) !important;
}

.select2-results__option{
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 4px 6px !important;
}

.component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single{
    line-height: 40px !important;
    border-radius: 6px !important;
    height: 40px !important;
}

body.theme-dark .component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

.component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single[aria-expanded=true]{
    border: 2px solid var(--theme-color-default-primary) !important;
}

.component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 38px !important;
}

.component-datatable-select2-page-length ~ .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 40px !important;
    border-radius: 6px !important;
    height: 40px !important;
}

.select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    border-radius: 6px;
    margin-top: 5px;
}

.select2-search__field{
    display: flex;
    padding: 12px 6px !important;
    height: 40px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 6px;
    font-size: 14px;
    font-style: normal;
    font-weight: var(--theme-font-weight-medium);
    line-height: 24px;
    outline: none !important;
}

body.theme-dark .select2-search__field{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500) !important;
}

body.theme-light .select2-search__field{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900) !important;
}


body.theme-dark .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .select2-container.select2-container--default.select2-container--open .select2-dropdown.select2-dropdown--below{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background: var(--theme-color-default-primary);
}

body.theme-dark .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background: var(--theme-color-default-primary);
}

body.theme-dark .select2-container--default .select2-results__option--selected{
    background: var(--theme-color-default-secondary);
}

/*======================================================================================================================
 Placeholder
======================================================================================================================*/
.placeholder{
    border-radius: 2px;
    margin: 0 5px;
    min-width: 50px;
    min-height: 10px;
}

.placeholder-wave{
    mask-image: linear-gradient(130deg, var(--theme-color-surface-500) 55%, rgba(255,255,255,0.8) 75%, var(--theme-color-surface-500) 95%) !important;
    mask-size: 200% 100%;
    animation: placeholder-wave 1s linear infinite
}

@keyframes placeholder-wave{
    100% {
        -webkit-mask-position:-200% 0%;
        mask-position:-200% 0%
    }
}


/*======================================================================================================================
 Label required for form-groups
======================================================================================================================*/
.required:after {
    content: "*";
    position: relative;
    font-size: inherit;
    color: #f1416c;
    padding-left: 0.25rem;
    font-weight: 700;
}

/*======================================================================================================================
 Inputs
======================================================================================================================*/
.component-form-control{
    display: flex;
    padding: 12px 16px;
    align-items: center;
    gap: 16px;
    align-self: stretch;
    border-radius: 6px;
    font-size: 14px;
    font-style: normal;
    font-weight: var(--theme-font-weight-medium);
    line-height: 24px;
    transition: 0.2s;
    width: 100%;
}

input.component-form-control{
    height: 40px;
}

body.theme-dark .component-form-control{
    background: var(--theme-color-dark-primary) !important;
    color: var(--theme-color-surface-900) !important;
    border: 2px solid var(--theme-color-surface-500);
}

body.theme-light .component-form-control{
    background: var(--theme-color-surface-1000) !important;
    color: var(--theme-color-surface-100) !important;
    border: 2px solid var(--theme-color-surface-900);
}

body.theme-dark .component-form-control::placeholder{
    color: var(--theme-color-surface-600) !important;
}

body.theme-light .component-form-control::placeholder{
    color: var(--theme-color-surface-800) !important;
}

.component-form-control:active, .component-form-control:focus{
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 2px solid var(--theme-color-default-primary) !important;
}

/*======================================================================================================================
 Input group
======================================================================================================================*/
.component-input-group-text{
    background: transparent;
    height: 40px;
    transition: 0.2s;
}
.input-group:has(.component-input-group-text.start) .component-form-control{
    border-left: none !important;
}
.input-group:has(.component-input-group-text.end) .component-form-control{
    border-right: none !important;
}

.input-group:has(.component-input-group-text.start) .component-form-control:focus{
    border-left: 2px solid var(--theme-color-default-primary) !important;
}
.input-group:has(.component-input-group-text.end) .component-form-control:focus{
    border-right: 2px solid var(--theme-color-default-primary) !important;
}

.component-input-group-text.start{
    border-right: none !important;
}
.component-input-group-text.end{
    border-left: none !important;
}

.component-input-group-text:hover{
    background: var(--theme-color-default-primary) !important;
}

.component-input-group-text:hover i{
    color: #fff !important;
}

body.theme-dark .component-input-group-text.start, body.theme-dark .component-input-group-text.end{
    border: 2px solid var(--theme-color-surface-500);
}
body.theme-light .component-input-group-text.start, body.theme-light .component-input-group-text.end{
    border: 2px solid var(--theme-color-surface-900);
}

/*
.input-group .component-form-control:focus ~ .component-input-group-text.start,
.input-group .component-form-control:focus ~ .component-input-group-text.end{
    border-color: var(--theme-color-default-primary) !important;
}*/


/*======================================================================================================================
 Checkbox and radio button
======================================================================================================================*/
[class*="component-icheck-"] {
    min-height: 22px;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding-left: 0px;
}

.component-icheck-inline {
    display: inline-block;
}

.component-icheck-inline + .component-icheck-inline {
    margin-left: .75rem;
    margin-top: 6px;
}

[class*="component-icheck-"] > label {
    padding-left: 29px !important;
    min-height: 22px;
    line-height: 22px;
    display: inline-block;
    position: relative;
    vertical-align: top;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}

[class*="component-icheck-"] > input:first-child {
    position: absolute !important;
    opacity: 0;
    margin: 0;
}

[class*="component-icheck-"] > input:first-child:disabled {
    cursor: default;
}

[class*="component-icheck-"] > input:first-child + label::before,
[class*="component-icheck-"] > input:first-child + input[type="hidden"] + label::before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 22px;
    height: 22px;
    border: 1px solid #D3CFC8;
    border-radius: 0px;
    margin-left: -29px;
}

[class*="component-icheck-turquoise-outline"] > input:first-child + label::before,
[class*="component-icheck-turquoise-outline"] > input:first-child + input[type="hidden"] + label::before {
    border: 2px solid #4E4B66 !important;
    border-radius: 2px !important;
}

[class*="component-icheck-"] > input:first-child:checked + label::after,
[class*="component-icheck-"] > input:first-child:checked + input[type="hidden"] + label::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 7px;
    height: 10px;
    border: solid 2px #FFF;
    border-left: none;
    border-top: none;
    transform: translate(7.75px, 4.5px) rotate(45deg);
    -ms-transform: translate(7.75px, 4.5px) rotate(45deg);
}

[class*="component-icheck-turquoise-outline"] > input:first-child:checked + label::after,
[class*="component-icheck-turquoise-outline"] > input:first-child:checked + input[type="hidden"] + label::after {
    border: solid 2px #1AED9F !important;
    border-left: none !important;
    border-top: none !important;
    width: 5px !important;
    height: 10px !important;
    transform: translate(7.75px, 4.5px) rotate(45deg) !important;
    -ms-transform: translate(7.75px, 4.5px) rotate(45deg) !important;
}

[class*="component-icheck-"] > input[type="radio"]:first-child + label::before,
[class*="component-icheck-"] > input[type="radio"]:first-child + input[type="hidden"] + label::before {
    border-radius: 50%;
}

[class*="component-icheck-"] > input:first-child:not(:checked):not(:disabled):hover + label::before,
[class*="component-icheck-"] > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-width: 2px;
}

[class*="component-icheck-"] > input:first-child:disabled + label,
[class*="component-icheck-"] > input:first-child:disabled + input[type="hidden"] + label,
[class*="component-icheck-"] > input:first-child:disabled + label::before,
[class*="component-icheck-"] > input:first-child:disabled + input[type="hidden"] + label::before {
    pointer-events: none;
    cursor: default;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: .65;
}

.component-icheck-default > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-default > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #adadad;
}

.component-icheck-default > input:first-child:checked + label::before,
.component-icheck-default > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #e6e6e6;
    border-color: #adadad;
}

.component-icheck-default > input:first-child:checked + label::after,
.component-icheck-default > input:first-child:checked + input[type="hidden"] + label::after {
    border-bottom-color: #333;
    border-right-color: #333;
}

.component-icheck-primary > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-primary > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #2e6da4;
}

.component-icheck-primary > input:first-child:checked + label::before,
.component-icheck-primary > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #337ab7;
    border-color: #2e6da4;
}

.component-icheck-success > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-success > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #4cae4c;
}

.component-icheck-success > input:first-child:checked + label::before,
.component-icheck-success > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.component-icheck-info > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-info > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #46b8da;
}

.component-icheck-info > input:first-child:checked + label::before,
.component-icheck-info > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #5bc0de;
    border-color: #46b8da;
}

.component-icheck-warning > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-warning > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #eea236;
}

.component-icheck-warning > input:first-child:checked + label::before,
.component-icheck-warning > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #f0ad4e;
    border-color: #eea236;
}

.component-icheck-danger > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-danger > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #d43f3a;
}

.component-icheck-danger > input:first-child:checked + label::before,
.component-icheck-danger > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #d9534f;
    border-color: #d43f3a;
}

.component-icheck-turquoise > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-turquoise > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #1abc9c;
}

.component-icheck-turquoise > input:first-child:checked + label::before,
.component-icheck-turquoise > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #1abc9c;
    border-color: #1abc9c;
}
.component-icheck-turquoise-outline > input:first-child:checked + label::before,
.component-icheck-turquoise-outline > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #14151F !important;
    border: 2px solid #4E4B66 !important;
}

.component-icheck-emerland > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-emerland > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #2ecc71;
}

.component-icheck-emerland > input:first-child:checked + label::before,
.component-icheck-emerland > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #2ecc71;
    border-color: #2ecc71;
}

.component-icheck-peterriver > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-peterriver > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #3498db;
}

.component-icheck-peterriver > input:first-child:checked + label::before,
.component-icheck-peterriver > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #3498db;
    border-color: #3498db;
}

.component-icheck-amethyst > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-amethyst > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #9b59b6;
}

.component-icheck-amethyst > input:first-child:checked + label::before,
.component-icheck-amethyst > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #9b59b6;
    border-color: #9b59b6;
}

.component-icheck-wetasphalt > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-wetasphalt > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #34495e;
}

.component-icheck-wetasphalt > input:first-child:checked + label::before,
.component-icheck-wetasphalt > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #34495e;
    border-color: #34495e;
}

.component-icheck-greensea > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-greensea > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #16a085;
}

.component-icheck-greensea > input:first-child:checked + label::before,
.component-icheck-greensea > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #16a085;
    border-color: #16a085;
}

.component-icheck-nephritis > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-nephritis > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #27ae60;
}

.component-icheck-nephritis > input:first-child:checked + label::before,
.component-icheck-nephritis > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #27ae60;
    border-color: #27ae60;
}

.component-icheck-belizehole > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-belizehole > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #2980b9;
}

.component-icheck-belizehole > input:first-child:checked + label::before,
.component-icheck-belizehole > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #2980b9;
    border-color: #2980b9;
}

.component-icheck-wisteria > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-wisteria > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #8e44ad;
}

.component-icheck-wisteria > input:first-child:checked + label::before,
.component-icheck-wisteria > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #8e44ad;
    border-color: #8e44ad;
}

.component-icheck-midnightblue > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-midnightblue > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #2c3e50;
}

.component-icheck-midnightblue > input:first-child:checked + label::before,
.component-icheck-midnightblue > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #2c3e50;
    border-color: #2c3e50;
}

.component-icheck-sunflower > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-sunflower > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #f1c40f;
}

.component-icheck-sunflower > input:first-child:checked + label::before,
.component-icheck-sunflower > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #f1c40f;
    border-color: #f1c40f;
}

.component-icheck-carrot > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-carrot > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #e67e22;
}

.component-icheck-carrot > input:first-child:checked + label::before,
.component-icheck-carrot > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #e67e22;
    border-color: #e67e22;
}

.component-icheck-alizarin > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-alizarin > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #e74c3c;
}

.component-icheck-alizarin > input:first-child:checked + label::before,
.component-icheck-alizarin > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #e74c3c;
    border-color: #e74c3c;
}

.component-icheck-clouds > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-clouds > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #ecf0f1;
}

.component-icheck-clouds > input:first-child:checked + label::before,
.component-icheck-clouds > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #ecf0f1;
    border-color: #ecf0f1;
}

.component-icheck-clouds > input:first-child:checked + label::after,
.component-icheck-clouds > input:first-child:checked + input[type="hidden"] + label::after {
    border-bottom-color: #95a5a6;
    border-right-color: #95a5a6;
}

.component-icheck-concrete > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-concrete > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #95a5a6;
}

.component-icheck-concrete > input:first-child:checked + label::before,
.component-icheck-concrete > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #95a5a6;
    border-color: #95a5a6;
}

.component-icheck-orange > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-orange > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #f39c12;
}

.component-icheck-orange > input:first-child:checked + label::before,
.component-icheck-orange > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #f39c12;
    border-color: #f39c12;
}

.component-icheck-pumpkin > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-pumpkin > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #d35400;
}

.component-icheck-pumpkin > input:first-child:checked + label::before,
.component-icheck-pumpkin > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #d35400;
    border-color: #d35400;
}

.component-icheck-pomegranate > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-pomegranate > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #c0392b;
}

.component-icheck-pomegranate > input:first-child:checked + label::before,
.component-icheck-pomegranate > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #c0392b;
    border-color: #c0392b;
}

.component-icheck-silver > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-silver > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #bdc3c7;
}

.component-icheck-silver > input:first-child:checked + label::before,
.component-icheck-silver > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #bdc3c7;
    border-color: #bdc3c7;
}

.component-icheck-asbestos > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-asbestos > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: #7f8c8d;
}

.component-icheck-asbestos > input:first-child:checked + label::before,
.component-icheck-asbestos > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: #7f8c8d;
    border-color: #7f8c8d;
}

.component-icheck-primary > input:first-child:not(:checked):not(:disabled):hover + label::before,
.component-icheck-primary > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before {
    border-color: var(--theme-color-default-primary);
}

.component-icheck-primary > input:first-child:checked + label::before,
.component-icheck-primary > input:first-child:checked + input[type="hidden"] + label::before {
    background-color: var(--theme-color-default-primary);
    border-color: var(--theme-color-default-primary);
}



/*======================================================================================================================
 Modal cropper
======================================================================================================================*/
#modal-cropper .cropper-container {
    height: 333px !important;
    width: 500px !important;
    overflow: hidden !important;
}

#modal-cropper .cropper-modal{
    /*background: transparent !important;*/
}


#modal-cropper .cropper-center{
    display: none !important;
}

#modal-cropper .cropper-view-box{
    border-radius: 50% !important;
    border: 3px solid var(--theme-color-default-primary) !important;
    outline: none !important;
    /*outline-color: var(--theme-color-green-normal) !important;*/
}


#modal-cropper input[type="range"] {
    -webkit-appearance: none;
    width: 100%;
    height: 15px;
    border-radius: 5px;
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

#modal-cropper input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: var(--theme-color-default-primary);
    cursor: pointer;
}

#modal-cropper input[type="range"]::-moz-range-thumb {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: var(--theme-color-default-primary);
    cursor: pointer;
}


/*======================================================================================================================
 Colorpicker spectrum
======================================================================================================================*/
.sp-container{
    margin-top: 30px !important;;
    height: 280px;
    border-radius: 8px !important;
    box-shadow: var(--theme-box-shadow-card) !important;
    border: 0 !important;
}

.sp-replacer{
    width: 50px !important;
    height: 50px !important;
    border: 3px #919191 !important;
}

.sp-dd{
    display: none !important;
    border: 3px #919191 !important;
}

.sp-preview{
    border: 2px solid rgb(225, 225, 225);
}

.sp-alpha-handle{
    top: -5px !important;
    background-color: #0CD393 !important;
}

.sp-slider{
    left: -5px !important;
    background-color: #0CD393 !important;
}

.sp-alpha-inner, .sp-hue, .sp-color{
    border: 1px #919191 !important;
}
