@import "/assets/css/fontawesome-a354ec240d8c4b10adaef5d3e9fed403.css";
@import "/assets/css/bootstrap.min-a549af2a81cd9900ee897d8bc9c4b5e9.css";
@import "/assets/css/bootstrap-icons-5294df9f5610e48b2864537a577fecb9.css";
@import "/assets/css/select2-e71c39430469a3eea74514a2b48f6536.css";
@import "/assets/css/select2-bootstrap5-05cb9917df2a9601cdf68da67d6cb3a5.css";
@import "/assets/css/quill.snow-7c81834bbf213ceea9bfb5f6d9db0184.css";
@import "https://code.jquery.com/ui/1.14.1/themes/base/jquery-ui.css";

html.inner-scroll,
html.inner-scroll body{
    height: 100vh;
    overflow-y: hidden;
    min-width: 1600px;
}

.mw-sm{
    max-width: 720px !important;
}

.mw-md{
    max-width: 960px !important;
}

.mw-lg{
    max-width: 1140px !important;
}

.mw-xl{
    max-width: 1320px !important;
}

.mw-xxl{
    max-width: 1500px !important;
}

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

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

.g-6, .gx-6{
    --bs-gutter-x: 5rem;
}

.main-container{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden;
    padding-top: 1rem;
}

html.inner-scroll body{
    display: flex;
    flex-direction: column;
}

.dropdown-menu{
    --bs-dropdown-link-hover-bg: var(--bs-secondary-bg);
    box-shadow: var(--bs-dropdown-box-shadow);
}

.collapse-no-animation.collapsing{
    transition-duration: 0s !important;
}

.btn[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-down{
    transform: scale(-1);
}

.sign-in-area{
    max-width: 330px;
}

.sign-in-area .message-box:empty{
    display: none;
}

.sign-in-area .login-btn .lds-dual-ring{
    position: absolute;
    width: calc(100% - 4rem);
    top: 0;
    left: 2rem;
    background-color: inherit;
}

.sign-in-area .login-btn .lds-dual-ring::after{
    height: 30px;
    width: 30px;
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    margin: unset;
    opacity: 0.5;
    border-width: 5px;
}


.btn-custom{
    margin: 0;
    height: 30px;
    background-color: #333;
    color: #fff;
    display: block;
    border-radius: 6px;
    border: none;
    padding: 0 20px;
    min-width: max-content;
}

.btn-custom:not(:disabled):hover{
    background-color: red;
    transition: background-color 0.2s linear;
    cursor: pointer;
}

header.menu div.user_avatar{
    width: 32px;
    height: 32px;
    background-color: var(--bs-warning);
    font-size: 14px;
    color: var(--bs-black);
    line-height: 32px;
    text-align: center;
    user-select: none;
}

header.menu .custom-dropdown{
    display: flex;
    align-items: center;
}

header.menu .custom-dropdown .nav-icon{
    position: relative;
    padding: 0;
    font-size: 22px;
}

header.menu .custom-dropdown .nav-icon .badge{
    position: absolute;
    inset: -2px -5px auto auto;
    font-weight: normal;
    font-size: 12px;
    padding: 3px 6px;
}

a.nav-link.white{
    --white-link-opacity: 0.75;
    color: rgba(255,255,255, var(--white-link-opacity));
}

a.nav-link.white:hover{
    --white-link-opacity: 1;
}

.menu-action-required{
    animation: menu_blink 2.5s;
    animation-iteration-count:infinite;
}

.document{
    margin: 0 auto;
    min-width: 100%;
    padding: 0 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden;
}

.cal-option-box{
    padding: 7px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.cal-option-box .right-menu{
    position: absolute;
    right: 0;
}

.period-selector{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.period-selector > button{
    --padding-x: calc(var(--bs-btn-padding-x) - 2px);
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
}

.calendar-date{
    position: relative;
}

.calendar-date.date-picker{
    cursor: pointer;
    user-select: none;
}

.calendar-date input{
    position: absolute;
    height: 0;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    border: unset;
}

.calendar{
    position: relative;
    width: 100%;
    height: max-content;
    box-shadow: 0 3px 20px rgba(0,0,0,0.3);
    overflow-y: auto;
    overflow-x: hidden;
    font-size: .875rem;
}

.calendar table{
    margin: 0;
}

html:not([data-bs-theme="dark"]) .calendar table{
    --bs-table-border-color: rgba(0,0,0,0.175);
}

.calendar thead th{
    vertical-align: bottom;
    position: sticky;
    top: 0;
    height: 50px;
    z-index: 110;
    padding: 0;
    user-select: none;
    background-color: var(--bs-body-bg) !important;
    box-shadow: 0 1px 0 0 var(--bs-table-border-color), 0 -1px 0 0 var(--bs-table-border-color);
}

.current-time-line{
    position: absolute;
    top: 0;
    outline: 1px solid var(--bs-danger);
    z-index: 95;
}

.providerCalendarRow{
    height: 40px;
}

.providerCalendarRow.today{
    height: 50px;
}

.providerCalendarRow.today .calendar-cell-item{
    height: calc(100% - 12px);
    top: 6px;
}

.providerCalendarRow.today > th{
    font-weight: bold;
}

.providerCalendarRow.today > *{
    border-top: 2px solid var(--bs-danger);
    border-bottom: 2px solid var(--bs-danger);
}

.calendar .dayOfWeek{
    line-height: 50px;
    margin: 0;
    padding: 0 1rem;
}

.calendar .cell_time{
    display: block;
    width: max-content;
    transform-origin: left center;
    transform: rotate(-50deg);
    position: absolute;
    left: 5px;
    bottom: -3px;
}

.cell.weekend,
.cell.not-working-hours{
    background-color: var(--bs-secondary-bg);
}

.division-delimiter{
    height: 6px;
}

.calendar table tbody th{
    width: 250px;
    white-space: nowrap;
    font-weight: 400;
    background-color: var(--bs-secondary-bg-subtle);
}

.calendar table tbody > * > * {
    padding-top: .25rem;
    padding-bottom: .25rem;
    position: relative;
    background-clip: padding-box;
}

.calendar table tbody th:hover::after,
.calendar table tbody th:hover ~ td.cell::after{
    position: absolute;
    z-index: 95;
    display: block;
    top: 0; left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #8FBAC8;
    opacity: 0.5;
}

.workload-calendar .cell:hover,
.rdp-calendar .cell:hover{
    background-color: var(--bs-secondary-bg-subtle);
}

.calendar table tbody th .row-title{
    position: relative;
    z-index: 100;
}

.calendar .calendar-cell-item{
    position: absolute;
    display: inline-flex;
    align-items: center;
    height: calc(100%  - 2px);
    top: 1px;
    white-space: nowrap;
    z-index: 50;
    border-radius: 3px;
    border-style: solid;
    border-color: transparent;
    border-width: 1px 1px;
    --moz-background-clip: padding;
    --webkit-background-clip: padding;
    background-clip: padding-box;
    color: var(--bs-dark);
}

.calendar .calendar-cell-item.highlighted{
    background-color: var(--bs-body-color);
    color: var(--bs-body-bg) !important;
}

.calendar .calendar-cell-item.absence{
    z-index: 45;
}

.calendar .calendar-cell-item:hover{
    border-color: rgba(0,0,0,0.75);
}

.calendar .calendar-cell-item .item-name{
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    font-size: 13px;
    text-align: left;
    padding: 0 3px;
    opacity: 1;
    color: inherit;
}

.main-container > .item-description,
.calendar .calendar-cell-item .item-description{
    display: none;
    position: fixed;
    border: 1px solid black;
    left: 50%;
    padding: 10px;
    background-color: #181818;
    color: white !important;
    border-radius: 5px;
    z-index: 2000;
}

.calendar-cell-item.project,
.calendar-cell-item.project_task{
    background-color: rgb(255, 187, 59);
}

.calendar-cell-item.task{
    background-color: rgb(187, 220, 0);
}

.workload-calendar .test_check{
    background-color: rgb(3, 189, 158);
}

.workload-calendar .potential{
    background-color: rgb(157, 157, 157);
}

.workload-calendar .absence,
.workload-calendar .potential_absence{
    background-color: rgba(2, 117, 216, 0.8);
}

.workload-calendar .potential_absence{
    opacity: 0.5;
}

.workload-calendar .not_available{
    background-color: rgb(255, 85, 131);
}

.workload-calendar .invalid{
    background-color: rgb(255, 64, 64);
}

.toggle{
    position: fixed;
    z-index: 10000;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,0.6);
}

.toggle-item-info{
    background-color: transparent !important;
}

.toggle-item-info .toggle-content, .create-project-toggle .toggle-content{
    width: 400px;
}

.toggle_450 .toggle-content{
    width: 450px !important;
}

.toggle_600 .toggle-content{
    width: 600px !important;
}

.toggle_900 .toggle-content{
    width: 900px !important;
}

.toggle_1200 .toggle-content{
    width: 1200px !important;
}

.toggle-content{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    width: 550px;
    height: max-content;
    z-index: 300;
    background-color: var(--bs-body-bg);
    border-radius: 3px;
}

/*.toggle-content .select2-container{
    flex-grow: 1;
    line-height: 1.2;
}*/

.create-project-toggle .form_row_rc{
    width: 60% !important;
}

.toggle_450 .form_row_rc select{
    width: 100%;
}

.toggle-content-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 0.5rem 1rem;
    background-color: var(--bs-body-bg);
    border-bottom: 1px solid var(--bs-border-color-translucent);;
    font-weight: 600;
}

.container-overlay .close_btn,
.toggle_close_btn{
    line-height: 1;
    font-weight: normal;
    font-size: 22px;
    cursor: pointer;
}

.toggle_close_btn:hover{
    font-weight: bold;
}

.toggle-content form:not(.item-info-section){
    margin: 0 10px 35px 0;
    max-height: calc(100vh - 300px);
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.toggle-content form::-webkit-scrollbar{
    display: none;
}

.submit-section{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border-top: 1px solid #ddd;
    padding: 10px 10px 7px 10px;
}

.error-section,
#error-section{
    width: 100%;
    margin-right: 15px;
    color: orangered;
    font-size: 13px;
    font-weight: bold;
}

.item-info-section{
    margin: 0 15px 15px;
    max-height: calc(100vh - 300px);
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.item-info-section::-webkit-scrollbar{
    display: none;
}

.item-info-section .form_row{
    height: unset;
    margin-bottom: 5px !important;
}

.item-info-section .form_row .form_row_rc{
    width: 60%;
}

.form_row{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.big_fr{
    height: unset;
}

.form_row .item-description{
    display: inline-block;
    width: 100%;
    font-style: italic;
}

.title{
    display: flex;
    align-items: center;
    margin-right: 7px;
    font-weight: 600;
    text-align: right;
}

.form_row_rc{
    display: flex;
    align-items: center;
    width: 75%;
}

.form_row_rc > .inline-input:not(:first-child){
    margin-left: 10px;
}

.form_row_rc .rc_block{
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
}

.checkbox_title{
    display:inline-block;
    width: min-content;
    line-height: 1.2;
    margin-left: 7px;
    user-select: none;
}

.checkbox_item{
    display: inline-flex;
    align-items: center;
}

.checkbox_item > input{
    height: unset;
}

.checkbox_item .ci_title{
    margin-left: 5px;
}

.form_row_rc .checkbox_item{
    margin-right: 10px;
}

a.custom-link:not(:hover){
    text-decoration: none;
}

.switch-link,
.custom-link{
    color: blue;
    cursor: pointer;
}

.switch-link:hover,
.custom-link:hover{
    text-decoration: underline;
}

.hidden{
    display: none;
}


#splitOptions{
    width: 100%;
}

#splitOptions form{
    margin: unset;
    width: 100%;
    display: inline-flex;
    align-items: center;
    position: relative;
}

#splitOptions form .text-btn{
    position: absolute;
    right: 0;
}

.toggle-content table{
    margin: 10px auto 20px;
    width: calc(100% - 20px);
}

.reportPreview thead tr{
    text-align: left;
}

.description_textarea{
    width: 100%;
    resize: none;
}

.select2-container--open{
    z-index: 11000;
}

#calendarDate::-webkit-calendar-picker-indicator{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background-color: transparent;
}

.project-information {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 200px;
}

.project-parameters .btn{
    padding: 1px 5px;
    font-size: 0.65rem;
    border-radius: 2px;
}

.project-process{
    flex-grow: 1;
    overflow-x: auto;
}

.project-process .project-jobs-section{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-grow: 1;
}

.project-process .project-jobs-section:not(:first-child){
    margin-top: 20px;
}

.project-process .project-jobs-section .project-job{
    border: 1px solid var(--bs-border-color-translucent);
    box-shadow: 0 0 7px rgba(0,0,0,0.3);
    min-width: 170px;
    flex-shrink: 0;
    background-color: var(--bs-body-bg);
}

.job-units{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    user-select: none;
}

.job-units-item{
    flex-grow: 1;
}

.job-units .job-units-item:not(:last-child) .value{
    border-right: 1px solid var(--bs-border-color-translucent);
}


.job-units-item .header{
    background-color: #248dd2;
    color: var(--bs-body-bg);
    font-weight: bold;
    font-size: 10px;
    text-align: center;
}

.job-units-item .value{
    text-align: center;
    font-weight: bold;
    font-size: 17px;
    padding: 3px 0;
}

.job-units-item .incorrect{
    background-color: red;
}

.document_1100{
    width: 1100px;
    min-width: 1100px !important;
}

.document_1500{
    width: 1500px;
    min-width: 1500px !important;
}

.document > .option-box{
    display: flex;
    flex-direction: row;
    border: 1px solid #ccc;
    box-shadow: 0 0 7px rgba(0,0,0,0.3);
    border-radius: 3px;
    margin: 10px 0;
    background-color: #e7e7e7;
    position: relative;
}

.option-box .option-item{
    display: block;
}

.document > .option-box .option-item{
    padding: 5px 15px;
    border-right: 1px solid #b7b7b7;
    text-decoration: none;
    color: #444;
    cursor: pointer;
}

.option-box .option-item-active{
    background-color: #ccc;
}

.content-wrapper{
    display: flex;
    flex-direction: column;
    overflow-y: scroll;
    margin: 10px 0;
    padding: 30px 20px;
    border: 1px solid var(--bs-border-color);
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.content-wrapper::-webkit-scrollbar{
    display: none;
}

.validity{
    position: absolute;
    right: 20px;
}

.verifiable:invalid+.validity:after {
    content: '✖';
    padding-left: 5px;
}

.verifiable:valid+.validity:after {
    content: '✓';
    padding-left: 5px;
}

/* Time management */
div.time-management{
    position: relative;
    margin-right: 15px;
    padding: 2px 10px;
}

div.time-management .clock{
    font-size: 18px;
    font-weight: bold;
}

header.menu .dropdown.time-management .dropdown-menu.show{
    display: flex;
    flex-wrap: nowrap;
    overflow-x: hidden;
    width: 240px;
}

header.menu .dropdown.time-management .time-tracker{
    padding: 5px;
    min-width: 100%;
    width: 100%;
    transition: all 700ms;
}

header.menu .dropdown.time-management .time-tracker-move{
    margin-left: -100%;
}

header.menu .dropdown.time-management .time-tracker .action-block {
    display: flex;
    flex-direction: column;
    align-items: center;
}

header.menu .dropdown.time-management .time-tracker button.bi{
    --btn-bi-height: calc(var(--bs-btn-line-height) * 1rem + var(--bs-btn-padding-y) * 2);
    position: relative;
    width: 100px;
    height: var(--btn-bi-height);
    transition: width 0.25s linear;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

header.menu .dropdown.time-management .time-tracker button.bi::before {
    opacity: 1;
    position: absolute;
    left: 50%;
    top: 50%;
    font-size: 1.5rem;
    transform: translate(-50%, -50%);
    transition: opacity 0.55s ease-in;
}

header.menu .dropdown.time-management .time-tracker button.bi:disabled{
    width: var(--btn-bi-height);
    opacity: 1;
}

header.menu .dropdown.time-management .time-tracker button.bi:not(:disabled)::before {
    opacity: 0;
}

header.menu .dropdown.time-management .time-tracker button:disabled > * {
    display: none;
}

header.menu .dropdown.notifications .dropdown-menu{
    width: 24rem;
    min-width: 24rem;
    max-height: 80vh;
    overflow-y: scroll;
}

header.menu .dropdown.notifications .dropdown-divider{
    margin: 0;
}

header.menu .dropdown.notifications .notification-item{
    display: flex;
    align-items: center;
    padding: 1rem 1rem 1rem 1.25rem;
    transition: 0.3s;
    position: relative;
}

header.menu .dropdown.notifications .notification-item .btn-close{
    position: absolute;
    right: 0.5rem;
    top: 0.5rem;
    padding: 0;
    width: 0.75rem;
    height: 0.75rem;
    transition: opacity 0.45s ease-out;
}

header.menu .dropdown.notifications .notification-item:not(:hover) .btn-close{
    opacity: 0;
}

header.menu .dropdown.notifications .notification-item > i{
    margin-right: 1.25rem;
    font-size: 1.5rem;
}

header.menu .dropdown.notifications .notification-item h6{
    margin-bottom: 0.25rem;
}

header.menu .dropdown.notifications .notification-item p{
    font-size: 0.85rem;
    margin-bottom: 0.2rem;
    color: var(--bs-secondary-color);
}

#timeTrackingStatistics{
    color: transparent !important;
}

#timeTrackingStatistics:not(:empty){
    animation: fa-shake 1.5s;
    animation-iteration-count: infinite;
}

#timeTrackingStatistics:not(:empty)::before{
    content: '!';
    color: #000;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    font-weight: bold;
}


@keyframes fa-shake{
    0%{
        transform:rotate(-15deg)
    }
    4%{
        transform:rotate(15deg)
    }
    8%,24%{
        transform:rotate(-18deg)
    }
    12%,28%{
        transform:rotate(18deg)
    }
    16%{
        transform:rotate(-22deg)
    }
    20%{
        transform:rotate(22deg)
    }
    32%{
        transform:rotate(-12deg)
    }
    36%{
        transform:rotate(12deg)
    }
    40%,to{
        transform:rotate(0deg)
    }
}

    /* Time management END */

.item-form_rc-70 .form_row_rc{
    width: 70% !important;
}

.item-form_rc-65 .form_row_rc{
    width: 65% !important;
}

.item-form .btn-custom{
    margin-left: auto;
    margin-top: 24px;
}

#testFile{
    height: unset;
}

.content-table .table-row-group-toggle{
    position: relative;
    width: 22px;
    cursor: pointer;
    padding: unset !important;
}

.content-table .table-row-group-toggle .css-arrow{
    position: absolute;
    border-color: #444;
    border-width: 0 2px 2px 0;
}

.search-request-info td{
    border-color: #C9C9C9 transparent;
}

.search-request-info{
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.search-request-info table{
    width: calc(50% - 20px)
}


.search-request-info tr td:first-child{
    border-left-color: #C9C9C9;
    font-weight: bold;
    text-align: right;
    padding: 10px 10px 10px 20px;
    white-space: nowrap;
}
.search-request-info tr td:not(:first-child){
    width: 100%;
    padding: 10px;
}

.search-request-info tr td:last-child{
    border-right-color: #C9C9C9;
}

.search-request-info tr th {
    background-color: #FAF9F7;
    border: 1px solid #C9C9C9;
    padding: 10px;
}

.inline-button{
    margin: 1px;
    padding: 1px 3px;
    border-radius: 2px;
    cursor: pointer;
    user-select: none;
}

.inline-button:active{
    margin: 2px 0 0 2px;
}

.ib_approve{
    background-color: #00CC00;
}

.ib_approve:hover{
    background-color: #00DD00;
}

.ib_reject{
    background-color: #CC0000;
    color: #ccc
}

.ib_reject:hover{
    background-color: #DD0000;
}


.content-table td{
    padding: 5px 7px;
}

.content-table th{
    padding: 7px;
    background-color: #ededed;
    border: 1px solid #ccc;
}

.content-table tbody th{
    text-align: left;
}

.info{
    cursor: help;
}

.overdue-project{
    background-color: rgba(255,0,0,0.33) !important;
}

.toggle .folders-sharing-wrapper .folder-sharing{
    position: relative;
    display: inline-flex;
    padding: 5px 40px 5px 10px;
    margin: 0;
    width: 100%;
}
.toggle .folders-sharing-wrapper .folder-sharing:last-child{
    margin-bottom: 5px;
}

.toggle .folders-sharing-wrapper .folder-sharing .link-icon{
    cursor: pointer;
    height: 20px;
    width: auto;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.toggle .folders-sharing-wrapper .folder-sharing .link-icon:hover{
    right: 9px;
    top: calc(50% + 1px);
}

.toggle .folder-sharing .select-wrapper{
    margin-right: 10px;
    width: calc(25% - 10px);
}

.select-wrapper select,
.select-wrapper input{
    width: 100%;
    height: 28px;
}

.hide-disabled-options .select2-results__option--disabled{
    display: none;
}

.lds-dual-ring{
    position: relative;
    width: 100%;
    height: 100%;
}

.lds-dual-ring:after {
    position: absolute;
    top: calc(50% - 96px);
    left: calc(50% - 96px);
    transform: translate(-50%, -50%);
    content: " ";
    display: block;
    width: 192px;
    height: 192px;
    margin: 8px;
    border-radius: 50%;
    border: 16px solid ;
    border-color: #ddd transparent #ddd transparent;
    animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.star-rating,
.star-rating .stars-wrapper{
    display: flex;
}

.star-rating .stars-wrapper .star{
    padding-right: 7px;
    user-select: none;
}

.star-rating:not(.readonly) .stars-wrapper .star{
    cursor: pointer;
}

.star-rating .stars-wrapper .star:first-child::before{
    content: '' !important;
}

.star-rating .stars-wrapper .star:not(:first-child)::before{
    content: '☆';
    color: var(--bs-yellow);
    line-height: 2rem;
    text-align: center;
    font-size: 2rem;
}

.star-rating input[data-rate-value]{
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

.star-rating input[data-rate-value="1"] ~ .stars-wrapper > .star:nth-child(-n+2)::before{
    content: '★';
}

.star-rating input[data-rate-value="1"] ~ .explanation > .values_wrapper{
    transform: translateY( calc(-100% / 6 * 1) );
}

.star-rating input[data-rate-value="2"] ~ .stars-wrapper > .star:nth-child(-n+3)::before{
    content: '★';
}

.star-rating input[data-rate-value="2"] ~ .explanation > .values_wrapper{
    transform: translateY( calc(-100% / 6 * 2) );
}


.star-rating input[data-rate-value="3"] ~ .stars-wrapper > .star:nth-child(-n+4)::before{
    content: '★';
}

.star-rating input[data-rate-value="3"] ~ .explanation > .values_wrapper{
    transform: translateY( calc(-100% / 6 * 3) );
}


.star-rating input[data-rate-value="4"] ~ .stars-wrapper > .star:nth-child(-n+5)::before{
    content: '★';
}

.star-rating input[data-rate-value="4"] ~ .explanation > .values_wrapper{
    transform: translateY( calc(-100% / 6 * 4) );
}


.star-rating input[data-rate-value="5"] ~ .stars-wrapper > .star:nth-child(-n+6)::before{
    content: '★';
}

.star-rating input[data-rate-value="5"] ~ .explanation > .values_wrapper{
    transform: translateY( calc(-100% / 6 * 5) );
}

.star-rating .explanation{
    height: 1.75rem;
    overflow-y: hidden;
    margin: auto 0 auto 15px;
}

.star-rating .explanation .values_wrapper{
    color: #fff;
    padding: 0 5px;
}

.star-rating .explanation .values_wrapper > div{
    position: relative;
    line-height: 1.75rem;
    height: 1.75rem;
    padding: 0 8px;
    width: max-content;
    border-radius: 6px;
    user-select: none;
}

.star-rating .explanation .values_wrapper > div:not(:first-child){
    background-color: #d82237;
}

.star-rating .explanation .values_wrapper > div:not(:first-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    border-width: 5px;
    border-style: solid;
    border-color: transparent #d82237 transparent transparent;
    transform: translate(-100%, -50%);
}

.card.client-feedback{
    width: 100%;
    margin: 0 auto;
    max-width: 700px;
    box-shadow: 5px 5px 30px rgba(0,0,0,0.3);
}


.nc-description{
    max-width: 150px;
    word-break: break-word;
}

.pm-comment{
    cursor: text;
}

.nc-description-textarea{
    position: relative;
    left: -3px;
    width: calc(100% + 6px);
    min-height: calc(100% - 4px);
    height: 100px;
    resize: none;
    border: 2px solid rgba(0,0,0,0.15);
}

.nc-description-textarea:focus{
    outline: none !important;
    border: 2px solid red;
    box-shadow: 0 0 10px #719ECE;
}

.clickable-row{
    cursor: pointer;
}

.page-404{
    height: calc(100vh - 200px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    color: #333;
    margin: 100px 0;
}

.page-404 > .header{
    display: flex;
    font-size: 2rem;
    line-height: 1;
    flex-grow: 1;
    font-weight: bold;
    max-height: 120px;
    margin-bottom: 50px;
}

.page-404 > .header > div{
    display: flex;
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    height: max-content;
    margin: 50px auto;
}

.page-404 .error-code{
    font-size: 30vw;
    font-weight: bold;
    line-height: 1;
    transition: all 0.75s ease-in-out;
    opacity: 0.1;
    margin: auto 0;
}

#evaluation-submitted-message{
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: half-delay-appear 1s;
    -webkit-animation: half-delay-appear 1s;
    min-width: 350px;
}

#evaluation-submitted-message img{
    display: block;
    width: 45px;
    height: 45px;
    margin: 0 auto;
}

#evaluation-submitted-message h1{
    text-align: center;
    width: 100%;
    margin: 25px auto 10px auto;
}

#evaluation-submitted-message h3{
    text-align: center;
    width: 100%;
    margin: 0 auto;
}

@keyframes half-delay-appear {
    0%{opacity: 0}
    50%{opacity: 0}
    100%{opacity: 1}
}

@-webkit-keyframes half-delay-appear{
    0%{opacity: 0}
    50%{opacity: 0}
    100%{opacity: 1}
}

.entity-filter-wrapper{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px 25px;
}

.entity-filter{
    margin: 5px 10px;
    flex-shrink: 0;
    width: calc(20% - 20px);
}

.entity-filter > label{
    display: block;
    font-size: 0.9em;
}

.discussion-chat{
    position: relative;
    border: 1px solid #C9C9C9;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 300px);
}

.discussion-chat .chat-body{
    overflow-y: scroll;
    margin: 5px 7px;
    flex-grow: 1;
}

.discussion-chat .chat-textarea-place{
    position: relative;
    flex-grow: 0;
    padding: 5px 10px;
    border-top: 1px solid #C9C9C9;
}

.discussion-chat .chat-textarea-place textarea{
    resize: none;
    width: calc(100% - 60px);
    height: 50px;
    border: unset;
    outline: none;
}

.discussion-chat .chat-textarea-place textarea:invalid + .btn-wrapper i.send{
    display: none;
}
.discussion-chat .chat-textarea-place textarea:valid + .btn-wrapper i.file-attach{
    display: none;
}

.discussion-chat .chat-textarea-place .btn-wrapper {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
}

.discussion-chat .chat-textarea-place .btn-wrapper > i{
    cursor: pointer;
    margin: 0 5px;
}

.chat-body .chat-message:not(:last-child){
    margin-bottom: 10px;
}

.chat-message{
    width: 100%;
    font-size: 14px;
}

.chat-message .header{
    font-weight: bold;
}

.chat-message .header:not(.user-message){
    color: #248dd2;
}

.chat-message .header.user-message{
    color: red;
}

.chat-message .header > i{
    margin-right: 5px;
    color: #63a800;
}

.chat-message .message{
    padding: 0 10px;
}

.no-scroll-bar{
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.no-scroll-bar::-webkit-scrollbar{
    display: none;
}

.item-info-section .content-table textarea,
.client-claim-info .content-table textarea{
    resize: none;
    width: 100%;
}

.item-info-section .content-table + .discussion-chat{
    margin-top: 20px;
    max-height: 450px;
    min-height: 300px;
}

.btn-pane{
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}

.btn-pane > .error-section{
    margin: 0 15px;
}

.btn-pane__left{
    margin: 0 auto 15px 0;
}

.btn-pane__left > button:not(:last-child){
    margin-right: 10px;
}

.btn-pane__right{
    margin: 0 0 15px auto;
}

.btn-pane__right > button:not(:first-child){
    margin-left: 10px;
}

.entity-history{
    margin: 0 10px 10px;
    overflow-y: scroll;
    max-height: calc(100vh - 200px);
}

.entity-history .content-table{
    margin: 0;
    width: 100%;
}

.entity-history .content-table .delimiter-row{
    border-left-color: transparent;
    border-right-color: transparent;
}

.w100{
    width: 100%;
}

.copy-to-clipboard{
    position: relative;
}

.copy-to-clipboard .tooltip-text {
    visibility: hidden;
    white-space: nowrap;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 5px);
    left: 50%;
    opacity: 0;
    transition: opacity 0.3s;
    transform: translateX(-50%);
    user-select: none;
}

.copy-to-clipboard .tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.copy-to-clipboard:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

td.copy-to-clipboard{
    text-align: center;
    position: relative;
    cursor: pointer;
}

#credentialSharingForm .form_row{
    margin-left: 10px;
    justify-content: flex-start;
}

.attendance-calendar thead th > span{
    border-radius: 30px;
    display: inline-block;
    min-width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin-bottom: 3px;
}

.attendance-calendar .vacation{
    background-color: #f1e28f;
}

.attendance-item.vacation::before{
    background-color: #f1e28f;
}

.attendance-calendar .sick_leave{
    background-color: #b4cfa4;
}
.attendance-item.sick_leave::before{
    background-color: #b4cfa4;
}

.attendance-calendar .overtime{
    background-color: #a9b8bf;
}

.attendance-item.overtime::before{
    background-color: #a9b8bf;
}

.attendance-calendar .unpaid_hours{
    background-color: #f2a584;
}

.attendance-item.unpaid_hours::before{
    background-color: #f2a584;
}

.attendance-calendar .day_off{
    background-color: #30b5ff;
}

.attendance-item.day_off::before{
    background-color: #30b5ff;
}

.attendance-calendar .potential{
    opacity: 0.5;
}

.attendance-calendar .calendar-cell-item.holiday{
    display: block;
    position: absolute;
    right: -5px;
    top: -5px;
    width: 15px;
    height: 15px;
    border-color: transparent !important;
    z-index: 60;
}

.attendance-calendar .calendar-cell-item.holiday::after{
    content: "";
    display: block;
    border-color: var(--bs-danger) var(--bs-danger) transparent transparent;
    border-style: solid;
    border-width: 3px;
    position: absolute;
    right: 4px;
    top: 4px;
}

.workflow-steps{
    list-style: none;
}

.workflow-steps p{
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
}

.workflow-steps .step{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    margin-left: 8px;
    padding-left: 13px;
    padding-bottom: 12px;
    min-height: 45px;
}

.workflow-steps .step:last-child{
    padding-bottom: 0;
    min-height: unset;
}

.workflow-steps .step:last-child::before {
    height: 0;
}

.workflow-steps .step.step-head::before,
.workflow-steps .step:first-child::before{
    top: 25px;
    height: calc(100% - 20px);
}

.workflow-steps .step::before{
    content: "";
    position: absolute;
    top: 14px;
    left: 150px;
    width: 1px;
    height: calc(100% - 9px);
    border-right: 1px solid #ccc;
}

.workflow-steps .queued.step::before,
.workflow-steps .pending.step::before{
    border-right-style: dashed;
}

.workflow-steps .step-time{
    width: 110px;
    margin-right: 15px;
}

.workflow-steps .step .icon-con {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #ccc;
}

.workflow-steps .step .icon-con.icon-node {
    top: 5px;
    left: 146px;
    width: 9px;
    height: 9px;
    position: absolute;
}

.workflow-steps .icon-current img {
    width: 25px;
    height: 25px;
}

.workflow-steps .step:first-child .step-content {
    margin-left: 15px;
}

.workflow-steps .step-content {
    margin-left: 40px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    display: inline-block;
    z-index: 10;
}

#dateTo:disabled{
    user-select: none;
    cursor: not-allowed;
}

.workflow-steps .step-head{
    min-height: 60px;
}

.workflow-steps .step-head .step-time,
.workflow-steps .step-head .step-content-head{
    margin-top: 3px;
}

.items-list-wrapper .spinner-border{
    margin: 3rem auto;
    width: 3rem;
    height: 3rem;
}

.items-list-wrapper .item{
    position: relative;
    border: 1px solid #a7a7a7;
    border-radius: 3px;
    padding: 7px 20px 7px 25px;
}

.items-list-wrapper .item:hover{
    background-color: var(--bs-tertiary-bg);
}

.items-list-wrapper .item:hover button[data-bs-toggle="collapse"]{
    opacity: 1;
}

.items-list-wrapper .item:not(:last-child){
    margin-bottom: 15px;
}

.items-list-wrapper .attendance-item::before{
    position: absolute;
    content: "";
    display: block;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    width: 8px;
    left: -1px;
    top: -1px; bottom: -1px;
}

.attendance-item button[data-bs-toggle="collapse"]{
    opacity: 0;
    position: absolute;
    width: 35px;
    bottom: -7px;
    left: 50%;
    transform: translate(-50%, 50%);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}

.attendance-item button[data-bs-toggle="collapse"]:not(.collapsed){
    opacity: 1;
}

.attendance-item button[data-bs-toggle="collapse"].collapsed > i::before {
    transform: rotate(180deg);
}

.workflow-steps .step .step-content .actions-wrapper{
    display: inline-flex;
    align-items: center;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.workflow-steps .step .step-content .actions-wrapper > *:not(:last-child){
    margin-right: 10px;
}

.css-accept,
.css-reject{
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 24px;
    cursor: pointer;
    transition: background-color 0.35s;
    background-color: white;
}

.css-accept{
    border: 2px solid #66bf3c;
}

.css-accept:hover{
    background-color: #66bf3c;
}

.css-reject{
    border: 2px solid #ff4400;
}

.css-reject:hover{
    background-color: #ff4400;
}

.css-accept::before{
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 15px;
    border-width: 2px;
    border-style: solid;
    border-color: transparent #66bf3c #66bf3c transparent;
    transform-origin: right bottom;
    transform: translate(-1px, 2px) rotate(45deg);
    transition: background-color 0.35s;
}

.css-accept:hover::before{
    border-color: transparent white white transparent;
}

.css-reject::before,
.css-reject::after{
    position: absolute;
    content: "";
    display: block;
    width: 15px;
    top: 50%;
    left: 50%;
    border: 1px solid #ff4400;
    transform-origin: center;
    transition: background-color 0.35s;
}

.css-reject:hover::before,
.css-reject:hover::after{
    border-color: white;
}

.css-reject::before{
    transform: translate(-50%, -50%) rotate(45deg);
}

.css-reject::after{
    transform: translate(-50%, -50%) rotate(-45deg);
}

@-webkit-keyframes scroll {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        -webkit-transform: translate(-100%, 0);
        transform: translate(-100%, 0)
    }
}

@-moz-keyframes scroll {
    0% {
        -moz-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        -moz-transform: translate(-100%, 0);
        transform: translate(-100%, 0)
    }
}

@keyframes scroll {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(-100%, 0)
    }
}

.nested-entity-constructor{
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    box-shadow: 0 0 1rem rgba(0,0,0,0.2);
    text-align: center;
}

.nested-entity-constructor .entity-wrapper td{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.9em;
}

.nested-entity-constructor .entity-wrapper tr td:not(:first-child){
    text-align: right;
}

.project-jobs-wrapper{
    display: flex;
    flex-direction: column;
    margin: 10px 5px;
    padding: 1rem;
    border: 1px dashed var(--bs-gray-500);
    min-width: 230px;
    border-radius: 1rem;
    position: relative;
    justify-content: center;
}

.project-jobs-wrapper > .job-title{
    position: absolute;
    top: -0.85rem;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    padding: 0 0.5rem;
    background-color: var(--bs-body-bg);
    font-weight: 600;
}

.project-jobs-wrapper .job-group{
    position: relative;
}

.project-jobs-wrapper .job-group[data-stored='false']{
    opacity: 0.6;
}

.project-jobs-wrapper .job-group:not(:last-child){
    margin-bottom: 20px;
}

.project-jobs-wrapper .job-group.multiple[aria-expanded='false']{
    padding-bottom: 6px;
}

.project-jobs-wrapper .job-group:hover .option-box{
    opacity: 1;
}

.project-jobs-wrapper .job-group .option-box{
    opacity: 0;
    position: absolute;
    right: -15px;
    height: calc(100% + 18px);
    bottom: 0;
    z-index: 110;
    transition: opacity linear 0.15s;
}

.project-jobs-wrapper .job-group .option-box .wrapper{
    background-color: var(--bs-emphasis-color);
    border-radius: 25px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    padding: 4px 2px;
}

.project-jobs-wrapper .job-group[data-stored='true'] .option-box .wrapper{
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.project-jobs-wrapper .job-group[data-stored='false'] .option-box .wrapper .scope-link{
    display: none;
}

.project-jobs-wrapper .job-group .option-box .wrapper i{
    padding: 4px 6px;
    color: rgba(var(--bs-body-bg-rgb), 0.75);
}

.project-jobs-wrapper .job-group .option-box .wrapper i:hover{
    color: rgba(var(--bs-body-bg-rgb), 0.9);
}

.project-jobs-wrapper .project-job{
    width: 100%;
    position: relative;
    z-index: 100;
    user-select: none;
}

.project-jobs-wrapper .job-group[aria-expanded='false'] .project-job:nth-child(1){
    z-index: 100;
}

.project-jobs-wrapper .job-group[aria-expanded='false'] .project-job:nth-child(2){
    position: absolute;
    z-index: 90;
    top: 3px;
    left: 3px;
    margin: 0;
}

.project-jobs-wrapper .job-group[aria-expanded='false'] .project-job:nth-child(n+3){
    display: none;
}


.project-jobs-wrapper .project-job:not(:first-child){
    margin-top: 10px;
}

.img-preview{
    max-width: 75px;
    max-height: 75px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.img-viewer{
    position: fixed;
    z-index: 90000;
    top: 35px;
    width: 100%;
    height: calc(100vh - 35px);
    background-color: rgba(0,0,0,0.6);
}

.img-viewer > img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 75vw;
    max-height: 75vh;
    border-radius: 3px;
}

.img-viewer .close_btn{
    position: absolute;
    display: block;
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    background-color: #ddd;
    border: 1px solid #ccc;
    border-radius: 30px;
    cursor: pointer;
    opacity: 0.5;
    transition: 0.3s linear;
    text-align: center;
    color: #333;
    font-size: 30px;
    line-height: 35px;
}

.img-viewer .close_btn:hover{
    opacity: 1;
}

#candidate_lang_specializations_constructor .entity-wrapper tr td:first-child{
    text-align: right;
    white-space: nowrap;
    width: 1px;
}

#candidate_lang_specializations_constructor .entity-wrapper tr td:nth-child(2){
    text-align: left;
    white-space: nowrap;
    width: 1px;
}

#candidate_lang_specializations_constructor .entity-wrapper tr td:first-child::after{
    position: relative;
    content: ">";
    left: 0.5rem;
}

#candidate_lang_specializations_constructor .entity-wrapper tr td:nth-child(-n+2) > span{
    white-space: nowrap;
}

#opportunity_rates_constructor .entity-wrapper tr td:first-child{
    text-align: left;
}

.file-wrapper {
    margin: 7px 0 0 0;
}

.file-wrapper > i{
    margin-right: 5px;
}

.file-wrapper > a{
    text-decoration: none;
}

.file-wrapper > a:hover{
    text-decoration: underline;
}

.dynamic-height-textarea{
    resize: none;
}

.rca-form .answer{
    position: relative;
}

.rca-form .answer > textarea{
    width: 100%;
    color: #202124;
    outline: none !important;
    border: none;
    font-size: 0.875rem
}

.rca-form .answer .tx-after{
    margin: 0 auto;
    width: 0;
    height: 2px;
    background-color: #673ab7;
}

.rca-form .answer .tx-after::before{
    position: absolute;
    left: 0;
    right: 0;
    content: '';
    display: block;
    height: 1px;
    background-color: var(--bs-card-border-color);
}

.rca-form .answer > textarea:not(:read-only):focus ~ .tx-after{
    width: 100%;
    transition: all linear 0.3s;
}

.toggle-content .form-wrapper form{
    overflow-y: visible;
    max-height: unset;
}

.toggle-content .form-wrapper{
    max-height: calc(100vh - 300px);
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.toggle-content .form-wrapper::-webkit-scrollbar{
    display: none;
}

.task-scope .credential-table td,
.task-scope .credential-table th{
    padding-right: 1.25rem;
}

.task-scope .credential-table td:first-child,
.task-scope .credential-table th:first-child{
    padding-left: 0;
}

.task-scope .credential-table td:last-child,
.task-scope .credential-table th:last-child{
    padding-right: 0.5rem;
}

.task-scope .credential-table > :not(caption) > * > *{
    text-align: left;
}

.evaluation-item:after{
    display: inline-block;
    text-decoration: none;
    margin-left: 5px;
}

.evaluation-item.complete::after{
    content: "(Completed)";
    color: var(--bs-orange);
}

.evaluation-item.awaiting::after{
    content: "(Awaiting)";
    color: var(--bs-red);
}

#evaluationForm .star-rating .star > span{
    line-height: 1;
    font-size: 35px;
}

.slider{
    position: relative;
    overflow: hidden;
    width: 100%;
}

.slider > .slider-item{
    width: 100%;
}

.slider > .slider-item .slider-control{
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: inherit;
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.slider > .slider-item:not(:first-child) {
    position: absolute;
    top: 0;
    left: 100%;
    transition: all 0.45s ease-out;
    background-color: var(--bs-body-bg);
}

.slider > .slider-item:not(:first-child).active {
    left: 0;
}

td.options,
th.options,
td.cell-min-width,
th.cell-min-width {
    width: 1px;
    white-space: nowrap;
}

.options .btn{
    opacity: 0;
    border: 0;
    padding-right: .25rem;
    padding-left: .25rem;
    transition: opacity 0.45s ease-out;
}

tr:hover td.options .btn,
*:hover > .options .btn{
    opacity: 1;
}

.folders-tree{
    --ft-line-height: 1.5;
    --ft-line-height-rem: 1.5rem;
}

.folders-tree a{
    text-decoration: none;
}

.folders-tree ul,
.folders-tree li{
    position: relative;
    line-height: var(--ft-line-height);
}

.folders-tree ul {
    list-style-type: none;
}

.folders-tree ul > li::before{
    position: absolute;
    content: "";
    display: block;
    width: 1.3rem;
    height: var(--ft-line-height-rem);
    border-width: 0 0 1px 1px;
    border-style: solid;
    border-color: var(--bs-border-color);
    bottom: calc(50% - 1px);
    left: -1.5rem;
}

.folders-tree ul > li:first-child::before{
    height: calc(var(--ft-line-height-rem) / 2);
}

.folders-tree > ul ul:not(:last-child)::before{
    position: absolute;
    content: "";
    display: block;
    border-style: solid;
    border-color: var(--bs-border-color);
    border-width: 0 1px 0 0;
    left: calc(0rem - var(--ft-line-height-rem));
    height: calc(100% + 4px);
    top: calc(0rem - var(--ft-line-height-rem) / 2 - 2px);
}

.accordion-button:focus{
    box-shadow: unset !important;
}

.folders-tree li input.form-control{
    min-height: calc(1.5rem + var(--bs-border-width) * 2);
    display: inline;
    width: max-content;
    min-width: 50px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: inherit;
}

.dropdown-menu .dropdown-item-search{
    --dropdown-search-padding: calc(var(--bs-dropdown-item-padding-x) / 2);
    margin: 0 var(--dropdown-search-padding) var(--dropdown-search-padding);
    padding-left: var(--dropdown-search-padding);
    padding-right: var(--dropdown-search-padding);
    width: calc(100% - var(--dropdown-search-padding) * 2);
}

.dropdown-menu.select-dropdown-menu{
    max-width: 300px;
    min-width: 200px;
    width: max-content;
}

.dropdown-menu.select-dropdown-menu ul{
    list-style: none;
    padding: 0;
    max-height: 320px;
    overflow-y: scroll;
}

.dropdown-menu.select-dropdown-menu .dropdown-item{
    white-space: normal;
}
textarea:disabled + .quill-editor .ql-toolbar,
textarea:read-only + .quill-editor .ql-toolbar{
    display: none !important;
}

.was-validated textarea[data-quill-editor="activated"]:valid + .quill-editor{
    --quill-border-color: var(--bs-form-valid-border-color)
}

.was-validated textarea[data-quill-editor="activated"]:invalid + .quill-editor{
    --quill-border-color: var(--bs-form-invalid-border-color)
}

.quill-editor{
    --quill-border-color: var(--bs-border-color);
    box-shadow: 0 0 1rem rgba(0,0,0,0.2);
}

.ql-container{
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    line-height: var(--bs-body-line-height);
}

.ql-container .ql-editor{
    line-height: var(--bs-body-line-height);
    min-height: 6rem;
}

.ql-container .ql-editor.ql-blank::before{
    color: var(--bs-body-color);
    opacity: 0.65;
}

.was-validated textarea[data-quill-editor="activated"]:valid + .quill-editor .ql-container .ql-editor{
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.was-validated textarea[data-quill-editor="activated"]:invalid + .quill-editor .ql-container .ql-editor{
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.ql-container.ql-blank::before{
    color: var(--bs-body-color) !important;
    opacity: 0.6;
}

.ql-toolbar.ql-snow,
.ql-container.ql-snow{
    border: var(--bs-border-width) var(--bs-border-style) var(--quill-border-color);
}

@media (pointer: coarse) {
    .ql-snow.ql-toolbar button:hover:not(.ql-active),
    .ql-snow .ql-toolbar button:hover:not(.ql-active) {
        color: var(--bs-body-color);
    }
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
        fill: var(--bs-body-color);
    }
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
    .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
    .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
        stroke: var(--bs-body-color);
    }
}

.ql-snow .ql-stroke {
    stroke: var(--bs-body-color);
}

.ql-snow .ql-stroke-miter {
    stroke: var(--bs-body-color);
}

.ql-snow .ql-fill,
.ql-snow .ql-stroke.ql-fill {
    fill: var(--bs-body-color);
}

.ql-snow .ql-picker {
    color: var(--bs-body-color);
}

.ql-snow .ql-picker-options {
    background-color: var(--bs-body-bg);
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
    color: #ccc;
    z-index: 2;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
    fill: #ccc;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
    stroke: #ccc;
}

.quill-content{
    word-wrap: anywhere;
}

.quill-content p,
.quill-content ol,
.quill-content ul,
.quill-content pre,
.quill-content blockquote,
.quill-content h1,
.quill-content h2,
.quill-content h3,
.quill-content h4,
.quill-content h5,
.quill-content h6{
    margin: 0;
    padding: 0;
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.quill-content .ql-align-center {
    text-align: center;
}
.quill-content .ql-align-justify {
    text-align: justify;
}
.quill-content .ql-align-right {
    text-align: right;
}

.quill-content blockquote {
    border-left: 4px solid #ccc;
    margin-bottom: 5px;
    margin-top: 5px;
    padding-left: 16px;
}

.quill-content code,
.quill-content pre {
    background-color: #f0f0f0;
    border-radius: 3px;
}

.quill-content pre {
    white-space: pre-wrap;
    margin-bottom: 5px;
    margin-top: 5px;
    padding: 5px 10px;
}

.quill-content code {
    font-size: 85%;
    padding: 2px 4px;
}

.quill-content pre.ql-syntax {
    background-color: #23241f;
    color: #f8f8f2;
    overflow: visible;
}

.quill-content ol,
.quill-content ul {
    padding-left: 1.5em;
}
.quill-content ol > li,
.quill-content ul > li {
    list-style-type: none;
}

.quill-content ul > li::before {
    content: '\2022';
}

.quill-content li::before {
    display: inline-block;
    white-space: nowrap;
    width: 1.2em;
}

.quill-content li::before {
    margin-left: -1.5em;
    margin-right: 0.3em;
    text-align: right;
}

.quill-content ol li,
.quill-content ul li {
    padding-left: 1.5em;
}

.quill-content ol li {
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    counter-increment: list-0;
}

.quill-content ol li:before {
    content: counter(list-0, decimal) '. ';
}

.quill-content ol li.ql-indent-1 {
    counter-increment: list-1;
}

.quill-content ol li.ql-indent-1:before {
    content: counter(list-1, lower-alpha) '. ';
}

.quill-content ol li.ql-indent-1 {
    counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-2 {
    counter-increment: list-2;
}

.quill-content ol li.ql-indent-2:before {
    content: counter(list-2, lower-roman) '. ';
}

.quill-content ol li.ql-indent-2 {
    counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-3 {
    counter-increment: list-3;
}

.quill-content ol li.ql-indent-3:before {
    content: counter(list-3, decimal) '. ';
}

.quill-content ol li.ql-indent-3 {
    counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-4 {
    counter-increment: list-4;
}

.quill-content ol li.ql-indent-4:before {
    content: counter(list-4, lower-alpha) '. ';
}

.quill-content ol li.ql-indent-4 {
    counter-reset: list-5 list-6 list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-5 {
    counter-increment: list-5;
}

.quill-content ol li.ql-indent-5:before {
    content: counter(list-5, lower-roman) '. ';
}

.quill-content ol li.ql-indent-5 {
    counter-reset: list-6 list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-6 {
    counter-increment: list-6;
}

.quill-content ol li.ql-indent-6:before {
    content: counter(list-6, decimal) '. ';
}

.quill-content ol li.ql-indent-6 {
    counter-reset: list-7 list-8 list-9;
}

.quill-content ol li.ql-indent-7 {
    counter-increment: list-7;
}

.quill-content ol li.ql-indent-7:before {
    content: counter(list-7, lower-alpha) '. ';
}

.quill-content ol li.ql-indent-7 {
    counter-reset: list-8 list-9;
}

.quill-content ol li.ql-indent-8 {
    counter-increment: list-8;
}

.quill-content ol li.ql-indent-8:before {
    content: counter(list-8, lower-roman) '. ';
}

.quill-content ol li.ql-indent-8 {
    counter-reset: list-9;
}

.quill-content ol li.ql-indent-9 {
    counter-increment: list-9;
}

.quill-content ol li.ql-indent-9:before {
    content: counter(list-9, decimal) '. ';
}

.quill-content .ql-indent-1 {
    padding-left: 3em;
}

.quill-content li.ql-indent-1 {
    padding-left: 4.5em;
}

.quill-content .ql-indent-2 {
    padding-left: 6em;
}

.quill-content li.ql-indent-2 {
    padding-left: 7.5em;
}

.quill-content .ql-indent-3 {
    padding-left: 9em;
}

.quill-content li.ql-indent-3 {
    padding-left: 10.5em;
}

.quill-content .ql-indent-4 {
    padding-left: 12em;
}

.quill-content li.ql-indent-4 {
    padding-left: 13.5em;
}

.quill-content .ql-indent-5 {
    padding-left: 15em;
}

.quill-content li.ql-indent-5 {
    padding-left: 16.5em;
}

.quill-content .ql-indent-6 {
    padding-left: 18em;
}

.quill-content li.ql-indent-6 {
    padding-left: 19.5em;
}

.quill-content .ql-indent-7 {
    padding-left: 21em;
}

.quill-content li.ql-indent-7 {
    padding-left: 22.5em;
}

.quill-content .ql-indent-8 {
    padding-left: 24em;
}

.quill-content li.ql-indent-8 {
    padding-left: 25.5em;
}

.quill-content .ql-indent-9 {
    padding-left: 27em;
}

.quill-content li.ql-indent-9 {
    padding-left: 28.5em;
}

.quill-content h1{
    font-size: 2rem;
}
.quill-content h2{
    font-size: 1.5rem;
}

.quill-content img{
    max-width: 100%;
    height: unset;
}

textarea[data-quill-editor="activated"]{
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}

* > .cs-list-item:not(:last-child)::after{
    content: ', ';
}

.content .table{
    font-size: 0.9375rem;
}

input[type="number"]:not(:hover):not(:focus),
input[type="number"]:disabled{
    -moz-appearance: textfield;
}


#workloadCalendarEditItemModal input[type='date'],
#workloadCalendarCreateItemModal input[type='date']{
    width: 150px !important;
    flex-grow: 0;
}

#workloadCalendarEditItemModal input[type='date'] ~ input[type='number'],
#workloadCalendarCreateItemModal input[type='number']{
    width: 60px !important;
    flex-grow: 0;
}

.fs-8-em{
    font-size: 0.8em;
}

.fs-85-em{
    font-size: 0.85em;
}

.fs-9-em{
    font-size: 0.9em;
}

.invoice tbody[aria-expanded="true"] > .financeDetails {
    display: table-row !important;
}

.invoice tbody[aria-expanded="true"] > *:first-child > *{
    padding-bottom: 0;
    border: 0;
}

.invoice tbody[aria-expanded] > .financeDetails {
    display: none;
}

.invoice tbody[aria-expanded] > .financeDetails > *{
    font-weight: 300;
    padding-top: 0;
}

.invoice tbody[aria-expanded] > .financeDetails:not(:last-child) > *{
    padding-bottom: 0;
    border: 0;
}

.invoice:not(.invoice-editable) tbody[aria-expanded] a[role=button]{
    position: relative;
    display: inline-block;
    width: 100%;
}

.invoice:not(.invoice-editable) tbody[aria-expanded] a[role=button]:after{
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.8rem;
    height: 0.8rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 0.8rem;
    transform: translateY(-50%) rotate(-90deg);
    transition: transform 0.2s ease-in-out;
}

html[data-bs-theme="dark"] .invoice:not(.invoice-editable) tbody[aria-expanded] a[role=button]:after{
    filter: invert(100%);
}

.invoice:not(.invoice-editable) tbody[aria-expanded="true"] a[role=button]:after{
    transform: translateY(-50%);
}

.invoice:not(.invoice-editable) .invoice-control{
    display: none;
}

.invoice.invoice-editable .invoice-control+div.row{
    display: none;
}

.invoice.invoice-editable td.invoice-control{
    padding-left: 0;
    padding-right: 0;
}

input[type='text'].password{
    -webkit-text-security: disc;
    text-security: disc;
}

.tooltip-wrapper{
    width: min-content;
    height: min-content;
}

.tooltip-wrapper .tooltip{
    display: none !important;
}

.tooltip .tooltip-inner.quill-content{
    max-width: 576px;
    max-height: calc(100vh / 4);
    text-align: left;
    overflow-y: scroll;
    overscroll-behavior-y: none;
}

button[data-bs-toggle="collapse"][aria-expanded="true"] > i.bi-chevron-down::before{
    transform: rotate(180deg);
}

input.time[type="time"]{
    max-width: 80px;
}

.notifyjs-corner{
    top: 70px !important;
}

.ui-draggable-handle{
    cursor: move;
}