.login-page {

    display: flex;

    height: 100%;

    align-items: center;

    justify-content: center;

    --tw-bg-opacity: 1;

    background-color: rgb(248 248 251 / var(--tw-bg-opacity))
}

.login-box {

    width: 24rem;

    border-radius: 0.375rem;

    --tw-bg-opacity: 1;

    background-color: rgb(255 255 255 / var(--tw-bg-opacity));

    padding-left: 1rem;

    padding-right: 1rem;

    padding-top: 1rem;

    padding-bottom: 1rem;

    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);

    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);

    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.login-footer {

    display: flex;

    justify-content: center;

    --tw-bg-opacity: 1;

    background-color: rgb(248 248 251 / var(--tw-bg-opacity));

    text-align: center
}

.login-footer p {

    border-top-width: 1px;

    border-style: dashed;

    --tw-border-opacity: 1;

    border-color: rgb(224 226 233 / var(--tw-border-opacity));

    padding-top: 1rem;

    padding-bottom: 1rem
}

.login-footer a {

    font-weight: 700;

    --tw-text-opacity: 1;

    color: hsl(var(--p) / var(--tw-text-opacity))
}

/* Submenu styles */
.submenu {
  display: flex;
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 251 / var(--tw-bg-opacity));
}
/* hotfix for ckeditor changes */
.card ul.submenu {
  list-style-type: none;
  margin: auto;
  padding-left: initial;
}
#settings ul.submenu {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.submenu li {
  height: 100%;
  border-bottom-width: 2px;
  border-bottom-color: transparent;
}
.submenu li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-right: 1px solid white;
  -o-border-image: linear-gradient(to bottom, #eeebeb, rgba(0, 0, 0, 0)) 1 100%;
     border-image: linear-gradient(to bottom, #eeebeb, rgba(0, 0, 0, 0)) 1 100%;
}
.submenu li svg {
  margin-right: 0.5rem;
  fill: #B8BBD4;
}
.submenu li:hover,
.submenu li.submenu-active {
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-bottom-color: hsl(var(--p) / var(--tw-border-opacity));
}
.submenu li:hover svg,
.submenu li.submenu-active svg {
  fill: hsl(var(--p) / 1);
}
/* STYLES FOR SETTING VERTICAL MENU */
#settings .submenu-wrapper > ul {
  margin-right: 0.5rem;
  display: block;
  width: 260px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(248 248 251 / var(--tw-bg-opacity));
}
#settings .submenu-wrapper > ul li.submenu-section {
  margin-top: 2rem;
  margin-bottom: 1rem;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(238 238 238 / var(--tw-bg-opacity));
  padding: 0.25rem;
  padding-left: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}
#settings .submenu-wrapper > ul li.submenu-section:first-child {
  margin-top: 0px;
}
#settings .submenu-wrapper > ul li.settings-link {
  margin-bottom: 0.25rem;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(248 248 251 / var(--tw-bg-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 50ms;
}
#settings .submenu-wrapper > ul a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
#settings .submenu-wrapper > ul li.settings-link:hover,
#settings .submenu-wrapper > ul li.settings-link.submenu-active {
  background-color: #7FAAF633;
}

.datatable-header {
  display: flex;
  align-items: flex-end;
  padding-bottom: 1.5rem;
}

table.dataTable.strange-width {
  width: calc(100% - 6px);
}

table.dataTable thead th, table.dataTable tfoot th {
  font-weight: 600;
}

table.dataTable tbody td.p-0 {
  padding: 0;
}

.highcharts-data-table {
  overflow-x: auto;
}

.highcharts-data-table table {
  width: 100%;
}

#cash-balance-table-container table th {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
  text-align: right;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(112 112 146 / var(--tw-text-opacity));
}

table.dataTable thead>tr>th.sorting#cash-balance-table-container table th,table.dataTable thead>tr>th.sorting_asc#cash-balance-table-container table th,table.dataTable thead>tr>th.sorting_desc#cash-balance-table-container table th,table.dataTable thead>tr>th.sorting_asc_disabled#cash-balance-table-container table th,table.dataTable thead>tr>th.sorting_desc_disabled#cash-balance-table-container table th,table.dataTable thead>tr>td.sorting#cash-balance-table-container table th,table.dataTable thead>tr>td.sorting_asc#cash-balance-table-container table th,table.dataTable thead>tr>td.sorting_desc#cash-balance-table-container table th,table.dataTable thead>tr>td.sorting_asc_disabled#cash-balance-table-container table th,table.dataTable thead>tr>td.sorting_desc_disabled#cash-balance-table-container table th {
    cursor: pointer;
    position: relative;
    padding-left: 5px;
    padding-right: 25px;
    text-align: right;
}

#cash-balance-table-container table th:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  text-align: left;
  text-transform: uppercase;
}

#cash-balance-table-container table th:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

#cash-balance-table-container table td {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(236 239 243 / var(--tw-border-opacity));
  text-align: right;
  --tw-text-opacity: 1;
  color: rgb(112 112 146 / var(--tw-text-opacity));
}

table.dataTable thead>tr>th.sorting#cash-balance-table-container table td,table.dataTable thead>tr>th.sorting_asc#cash-balance-table-container table td,table.dataTable thead>tr>th.sorting_desc#cash-balance-table-container table td,table.dataTable thead>tr>th.sorting_asc_disabled#cash-balance-table-container table td,table.dataTable thead>tr>th.sorting_desc_disabled#cash-balance-table-container table td,table.dataTable thead>tr>td.sorting#cash-balance-table-container table td,table.dataTable thead>tr>td.sorting_asc#cash-balance-table-container table td,table.dataTable thead>tr>td.sorting_desc#cash-balance-table-container table td,table.dataTable thead>tr>td.sorting_asc_disabled#cash-balance-table-container table td,table.dataTable thead>tr>td.sorting_desc_disabled#cash-balance-table-container table td {
    cursor: pointer;
    position: relative;
    padding-left: 5px;
    padding-right: 25px;
    text-align: right;
}

#cash-balance-table-container table td:first-child {
  text-align: left;
}

#cash-balance-table-container table tr:last-child td {
  border-bottom-width: 0px;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(112 112 146 / var(--tw-text-opacity));
}

.datatable-header .select2-container .select2-selection {
  border-radius: 0.375rem;
  border-width: 1.6px;
  border-color: #E0E2E9 !important;
}

.datatable-header .select2-selection__rendered {
    line-height: 31px !important;
}

.datatable-header .select2-container .select2-selection--single {
    height: 38px !important;
}

.datatable-header .select2-container .select2-selection--single .select2-selection__rendered {
    padding-top: 3px !important;
}

.datatable-header .select2-selection__arrow {
    height: 37px !important;
}

.datatable-header .select2-selection__arrow b {
    border-color: #B8BBD4 transparent transparent transparent !important;
}

/* default options */

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice {
  min-height: 18px;
  border-radius: 0.375rem;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 255 / var(--tw-bg-opacity));
  line-height: 22px;
}

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  background-image: url("data:image/svg+xml;charset=UTF-8,%0A%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%20%20%3Cpath%20d%3D%22M1.61279%2010.5L10.6128%201.5M1.61279%201.5L10.6128%2010.5%22%20stroke%3D%22%230056ED%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%0A%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  text-indent: -9999px; /* Hide the default 'x' text */
  width: 16px; /* Adjust dimensions */
  height: 16px;
  display: inline-block;
  right: 3px;
}

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
  font-weight: 500;
}

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  font-size: 17px;
  line-height: 17px;
}

/* "all" option */

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.all-option) {
  --tw-bg-opacity: 1;
  background-color: rgb(224 226 233 / var(--tw-bg-opacity));
}

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.all-option) .select2-selection__choice__display,
.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.all-option) .select2-selection__choice__remove {
  --tw-text-opacity: 1;
  color: rgb(125 125 150 / var(--tw-text-opacity));
  font-weight: 500;
}

.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.all-option) .select2-selection__choice__remove,
.datatable-header .select2.select2-container--default .select2-selection--multiple .select2-selection__choice:has(.all-option) .select2-selection__choice__remove:hover {
  background-image: url("data:image/svg+xml;charset=UTF-8,%0A%3Csvg%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%20%20%3Cpath%20d%3D%22M1.61279%2010.5L10.6128%201.5M1.61279%201.5L10.6128%2010.5%22%20stroke%3D%22%237D7D96%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%0A%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  font-size: 17px;
  line-height: 17px;
}

.view-switcher {
  display: flex;
  width: 99px;
  align-items: center;
  overflow: hidden;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

.reviewed-switcher {
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

.future-replacement-cost-view-switcher,
.dashboard-projects-view-switcher {
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

.switch-view {
  display: flex;
  height: 36px;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  --tw-text-opacity: 1;
  color: rgb(184 187 212 / var(--tw-text-opacity));
}

.switch-view.reviewed-filter-btn {
  display: flex;
  height: 36px;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(136 136 136 / var(--tw-text-opacity));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.dashboard-projects-view-switcher .switch-view {
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 1rem;
  padding-right: 1rem;
  --tw-text-opacity: 1;
  color: rgb(102 102 102 / var(--tw-text-opacity));
}

.switch-view.active {
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.switch-view.reviewed-filter-btn.active {
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 255 / var(--tw-bg-opacity));
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 117 255 / var(--tw-text-opacity));
}

.has-actions tr th:first-child,
.has-actions tr td:first-child {
  max-width: 60px;
  text-align: left;
}

th.actions-column {
  width: 80px;
  text-align: center !important;
}

/* #datatable_wrapper .dataTables_paginate .paginate_button.previous,
#datatable_wrapper .dataTables_paginate .paginate_button.next {
  @apply btn btn-sm btn-secondary border border-gray-800;
} */

#datatable_paginate {
  float: none;
  margin-top: 2rem;
  text-align: center;
}

.paging-btn {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

#fundingsDatatable th.no-sort,
#expendituresDatatable th.no-sort,
#assetFundingsDatatable th.no-sort,
#assetExpendituresDatatable th.no-sort,
#budgetitemsDatatable th.no-sort,
#linksDatatable th.no-sort {
  text-align: center;
}

#fundingsDatatable.table tr[data-editable="0"] .select2-selection__arrow,
#expendituresDatatable.table tr[data-editable="0"] .select2-selection__arrow {
  display: none;
}

#fundingsDatatable .fa-caret-down,
#expendituresDatatable .fa-caret-down,
#assetFundingsDatatable .fa-caret-down,
#assetExpendituresDatatable .fa-caret-down,
#budgetitemsDatatable .fa-caret-down,
#linksDatatable .fa-caret-down {
  color: #888;
  position: absolute;
  right: 10px;
  top: 10px;
}

#fundingsDatatable th .sum,
#expendituresDatatable th .sum,
#assetFundingsDatatable th .sum,
#assetExpendituresDatatable th .sum,
#budgetitemsDatatable th .sum,
#linksDatatable th .sum {
  position: relative;
  display: block;
  width: 100%;
  text-align: right;
  cursor: default;
  font-weight: 700;
}

#fundingsDatatable.table.no-footer,
#expendituresDatatable.table.no-footer,
#assetFundingsDatatable.table.no-footer,
#assetExpendituresDatatable.table.no-footer,
#budgetitemsDatatable.table.no-footer,
#linksDatatable.table.no-footer {
  border-bottom: 1px solid #ddd !important;
}

#assetFundingsDatatable.table tr[data-label="future-funding"],
#assetFundingsDatatable.table tr[data-label="rule-funding"],
#assetExpendituresDatatable.table tr[data-label="future-replacement"] {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

#fundingsDatatable.table,
#expendituresDatatable.table,
#assetFundingsDatatable.table,
#assetExpendituresDatatable.table,
#budgetitemsDatatable.table,
#linksDatatable.table {
  border: 1px solid #ddd;
  border-radius: 10px;
}

#fundingsDatatable.table th,
#expendituresDatatable.table th,
#assetFundingsDatatable.table th,
#assetExpendituresDatatable.table th,
#budgetitemsDatatable.table th,
#linksDatatable.table th {
  background-color: transparent;
}

#fundingsDatatable.table th,
#fundingsDatatable.table td,
#expendituresDatatable.table th,
#expendituresDatatable.table td,
#assetFundingsDatatable.table th,
#assetFundingsDatatable.table td,
#assetExpendituresDatatable.table th,
#assetExpendituresDatatable.table td,
#budgetitemsDatatable.table th,
#budgetitemsDatatable.table td,
#linksDatatable.table th,
#linksDatatable.table td {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-radius: 0;
}

#fundingsDatatable.table th:last-of-type,
#fundingsDatatable.table td:last-of-type,
#expendituresDatatable.table th:last-of-type,
#expendituresDatatable.table td:last-of-type,
#assetFundingsDatatable.table th:last-of-type,
#assetFundingsDatatable.table td:last-of-type,
#assetExpendituresDatatable.table th:last-of-type,
#assetExpendituresDatatable.table td:last-of-type,
#budgetitemsDatatable.table th:last-of-type,
#budgetitemsDatatable.table td:last-of-type,
#linksDatatable.table th:last-of-type,
#linksDatatable.table td:last-of-type {
  border-right: 0;
}

#fundingsDatatable.table tr:last-of-type th,
#fundingsDatatable.table tr:last-of-type td,
#expendituresDatatable.table tr:last-of-type th,
#expendituresDatatable.table tr:last-of-type td,
#assetFundingsDatatable.table tr:last-of-type th,
#assetFundingsDatatable.table tr:last-of-type td,
#assetExpendituresDatatable.table tr:last-of-type th,
#assetExpendituresDatatable.table tr:last-of-type td,
#budgetitemsDatatable.table tr:last-of-type th,
#budgetitemsDatatable.table tr:last-of-type td,
#linksDatatable.table tr:last-of-type th,
#linksDatatable.table tr:last-of-type td {
  border-bottom: 0;
}

#fundingsDatatable.table tr:last-of-type td:last-of-type,
#expendituresDatatable.table tr:last-of-type td:last-of-type,
#assetFundingsDatatable.table tr:last-of-type td:last-of-type,
#assetExpendituresDatatable.table tr:last-of-type td:last-of-type,
#budgetitemsDatatable.table tr:last-of-type td:last-of-type,
#linksDatatable.table tr:last-of-type td:last-of-type {
  border-radius: 0 0 10px; /** fix bottom border for odd lines **/
}

#fundingsDatatable.table tr:last-of-type td:first-of-type,
#expendituresDatatable.table tr:last-of-type td:first-of-type,
#assetFundingsDatatable.table tr:last-of-type td:first-of-type,
#assetExpendituresDatatable.table tr:last-of-type td:first-of-type,
#budgetitemsDatatable.table tr:last-of-type td:first-of-type,
#linksDatatable.table tr:last-of-type td:first-of-type {
  border-radius: 0 0 0 10px; /** fix bottom border for odd lines **/
}

#fundingsDatatable .odd,
#expendituresDatatable .odd,
#assetFundingsDatatable .odd,
#assetExpendituresDatatable .odd,
#budgetitemsDatatable .odd,
#linksDatatable .odd {
  background-color: #f9fafb;
}

#fundingsDatatable .dataTables_empty,
#expendituresDatatable .dataTables_empty,
#assetFundingsDatatable .dataTables_empty,
#assetExpendituresDatatable .dataTables_empty,
#budgetitemsDatatable .dataTables_empty,
#linksDatatable .dataTables_empty {
  background-color: #f9fafb;
}

table.dataTable tbody>tr.highlight {
    background-color: yellow !important;
    transition: background-color 1s ease;
}

.table tr.border td {
  border-bottom: 1px solid #eee;
}

.table tr.border:last-of-type td {
  border-bottom: 0;
}

.paging-btn.disabled {
  opacity: 0.5;
}

.paging-btn:not(.previous):not(.next) {
  border-style: none;
}

.paging-btn:not(.previous):not(.next).current {
  --tw-bg-opacity: 1;
  background-color: rgb(204 204 204 / var(--tw-bg-opacity));
}

table.dataTable.no-footer {
  border-bottom: none !important;
}

table.dataTable.big-header thead>tr>th {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting_asc_disabled,table.dataTable thead>tr>th.sorting_desc_disabled,table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting_asc_disabled,table.dataTable thead>tr>td.sorting_desc_disabled {
    cursor: pointer;
    position: relative;
    padding-left: 10px;
    padding-right: 25px;
}

table.dataTable thead>tr>th.sorting.text-right,table.dataTable thead>tr>th.sorting_asc.text-right,table.dataTable thead>tr>th.sorting_desc.text-right,table.dataTable thead>tr>th.sorting_asc_disabled.text-right,table.dataTable thead>tr>th.sorting_desc_disabled.text-right,table.dataTable thead>tr>td.sorting.text-right,table.dataTable thead>tr>td.sorting_asc.text-right,table.dataTable thead>tr>td.sorting_desc.text-right,table.dataTable thead>tr>td.sorting_asc_disabled.text-right,table.dataTable thead>tr>td.sorting_desc_disabled.text-right {
    cursor: pointer;
    position: relative;
    padding-left: 5px;
    padding-right: 25px;
    text-align: right;
}

/* sorting arrows position */

table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after {
    position: absolute;
    display: block;
    right: 10px;
    line-height: 9px;
    font-size: .8em;
    opacity: .4;
}

/* replace icons with a A-Z */

table.dataTable thead>tr>th.sorting:before {
    content: "\2303";
    letter-spacing: 0;
    bottom: 48%;
}

table.dataTable thead>tr>th.sorting:after {
    content: "\2303";
    top: 44%;
    letter-spacing: 0;
    padding-right: 0.1px;
    rotate: 180deg;
}

/* swap around sorting arrows */

table.dataTable thead>tr>th.sorting_asc:after, table.dataTable thead>tr>th.sorting_desc:before, table.dataTable thead>tr>td.sorting_asc:after, table.dataTable thead>tr>td.sorting_desc:before {
    opacity: .9;
}

table.dataTable thead>tr>th.sorting_asc:before, table.dataTable thead>tr>th.sorting_desc:after, table.dataTable thead>tr>td.sorting_asc:before, table.dataTable thead>tr>td.sorting_desc:after {
    opacity: .4;
}

table.dataTable thead>tr>th.sorting_disabled:after,
table.dataTable thead>tr>th.sorting_disabled:before {
  display: none;
}

.grip-icon {
    opacity: 0;
    transition: opacity 0.15s ease;
    cursor: grab;
    color: #9ca3af;
}

tr:hover .grip-icon {
    opacity: 1;
}

.is-sorting .grip-icon {
    opacity: 0 !important;
    transition: none;
}

.app-page {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.app-page.batch-active {
  padding-bottom: 5rem;
}

.select2-container {
  min-width: 180px;
}

/*
 * @tailwindcss/forms adds padding-top/bottom: 0.5rem to every bare <select>.
 * daisyui's .select owns the height and centres text via line-height, but it
 * never resets block padding, so that 16px overflows the smaller sizes
 * (select-sm / select-xs) and trims the visible text. Drop block padding on
 * daisyui selects and let daisyui control vertical layout. Specificity (0,1,0)
 * beats the forms `select` element rule (0,0,1), so no !important is needed.
 * This is the central fix for the per-element `py-0` band-aids in templates.
 */

.select {
  padding-top: 0;
  padding-bottom: 0;
}

.btn-light-blue {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(235 245 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.btn-light-blue:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(214 235 255 / var(--tw-bg-opacity));
}

.color-1  { color: #e63946; }

/* Crimson Red */

.color-2  { color: #f77f00; }

/* Deep Orange */

.color-3  { color: #f4d35e; }

/* Warm Yellow */

.color-4  { color: #2a9d8f; }

/* Teal Green */

.color-5  { color: #00b4d8; }

/* Aqua Blue */

.color-6  { color: #457b9d; }

/* Dusty Blue */

.color-7  { color: #4b0082; }

/* Indigo */

.color-8  { color: #8338ec; }

/* Electric Purple */

.color-9  { color: #ff69b4; }

/* Hot Pink */

.color-10 { color: #8d6e63; }

/* Soft Brown */

.color-11 { color: #6a994e; }

/* Earthy Green */

.color-12 { color: #ffbe0b; }

/* Golden Yellow */

.color-13 { color: #3a0ca3; }

/* Royal Indigo */

.color-14 { color: #7209b7; }

/* Vivid Violet */

.color-15 { color: #f15bb5; }

/* Bubblegum Pink */

.color-16 { color: #00f5d4; }

/* Neon Mint */

.color-17 { color: #3d348b; }

/* Deep Purple */

.color-18 { color: #a8dadc; }

/* Pale Blue */

.color-19 { color: #264653; }

/* Charcoal Blue */

.color-20 { color: #e9c46a; }

/* Sand Yellow */

#expendituresDatatable .select2-container,
#fundingsDatatable .select2-container,
#assetFundingsDatatable .select2-container,
#assetExpendituresDatatable .select2-container,
#budgetitemsDatatable .select2-container {
    min-width: auto;
}

.input-md,
.select-md {
  height: 38px;
  min-height: 38px;
  border-width: 1.6px;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

.border-red-500 {
  --tw-border-opacity: 1 !important;
  border-color: rgb(239 68 68 / var(--tw-border-opacity)) !important;
}

.h1 {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 500;
}

.h2 {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}

.asset-dashboard-page .card {
  border-radius: 18px;
}

.accordion-toggle {
  cursor: pointer;
  padding-left: 5px;
  transition: all .3s linear;
}

.accordion-toggle i {
  margin-right: 4px;
  transition: all .3s linear;
  transform: rotate(-90deg);
}

.accordion-toggle.active i {
  transform: rotate(0deg);
}

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

/* Hide scrollbar for IE, Edge and Firefox */

.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

.link-training-video-new {
  margin-bottom: 10px;
  display: inline-flex;
  height: 38px;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 14px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

#sidebar-nav {
  position: fixed;
  top: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 50;
  display: block;
  height: 100vh;
  overflow-y: auto;
  overflow-x: visible;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

#sidebar-nav.expanded {
  width: 215px;
}

#sidebar-nav.collapsed {
  width: 77px;
  overflow: visible;
}

#content.sidebar-collapsed {
  overflow: visible;
  padding-left: 77px;
}

#content.sidebar-collapsed::-webkit-scrollbar {
  display: none;
}

#content.sidebar-collapsed {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

.vw-wrapper, .vw-wrapper-in-card {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}

#content.sidebar-collapsed .vw-wrapper {
  max-width: calc(100vw - 140px);
}

#content.sidebar-expanded .vw-wrapper {
  max-width: calc(100vw - 270px);
}

#content.sidebar-collapsed .vw-wrapper-in-card {
  max-width: calc(100vw - 140px - 20px);
}

#content.sidebar-expanded .vw-wrapper-in-card {
  max-width: calc(100vw - 270px - 20px);
}

#content.sidebar-expanded {
  padding-left: 205px;
}

.tab-wrapper,
.tab-container {
  overflow: hidden;
}

.tab-container {
  width: 100%;
}

#sidebar-nav #sidebar-menu .menu-item-link span {
  display: none;
}

#sidebar-nav.collapsed #sidebar-menu .menu-item-link:hover span {
  position: absolute;
  left: 67px;
  display: block;
  border-radius: 0.375rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  width: -moz-max-content;
  width: max-content;
}

#sidebar-nav.expanded #sidebar-menu .menu-item-link span {
  display: inline-block;
}

#sidebar-nav .expanded-sidebar-logo,
#sidebar-nav .collapsed-sidebar-logo {
  display: none;
}

#sidebar-nav.expanded .expanded-sidebar-logo {
  display: block;
}

#sidebar-nav.collapsed .collapsed-sidebar-logo {
  display: block;
}

#sidebar-nav.expanded #sidebar-menu .menu-item-link:hover {
  background-color: #7FAAF633;
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
}

#sidebar-nav #sidebar-menu .menu-item-link {
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
  border-radius: 0.375rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

#sidebar-nav .sidebar-toggle {
  margin-left: 1rem;
  display: flex;
  align-items: center;
  border-radius: 0.375rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

#sidebar-nav .sidebar-toggle:hover {
  background-color: #7FAAF633;
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
}

#sidebar-nav #sidebar-menu .menu-item-link .icon {
  border-radius: 0.375rem;
  padding: 0.5rem;
}

#sidebar-nav #sidebar-menu .menu-item-link.small .icon {
  /* icons are smaller */
  margin: 0.25rem;
  padding: 0.25rem;
}

#sidebar-nav.expanded #sidebar-menu .menu-item-link.small .icon {
  /* some indent */
  margin-left: 2rem;
}

#sidebar-nav #sidebar-menu .menu-item-link .icon,
#sidebar-nav .sidebar-toggle {
  height: -moz-fit-content;
  height: fit-content;
  max-width: 48px;
  text-align: center;
}

table.dataTable#datatable thead th#sidebar-nav #sidebar-menu .menu-item-link .icon,table.dataTable#datatable thead th
#sidebar-nav .sidebar-toggle {
  text-align: center;
}

/*#sidebar-nav.collapsed #sidebar-menu .menu-item-link .icon,*/

/*#sidebar-nav.collapsed .sidebar-toggle {*/

/*  @apply max-w-[67px];*/

/*}*/

#sidebar-nav .sidebar-toggle {
  cursor: pointer;
  background-color: #7FAAF633;
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
  color: #0056ED;
}

#sidebar-nav #sidebar-menu .menu-item-link .icon svg,
#sidebar-nav .sidebar-toggle svg {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  height: 1.5rem;
  width: 1.5rem;
}

#sidebar-nav #sidebar-menu .menu-item-link .icon.active {
  background-color: #7FAAF633;
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
  color: #0056ED;
}

.funding-icon-red {
  --tw-text-opacity: 1;
  color: rgb(255 0 0 / var(--tw-text-opacity));
}

.funding-icon-green {
  --tw-text-opacity: 1;
  color: rgb(0 128 0 / var(--tw-text-opacity));
}

body {
  --tw-bg-opacity: 1;
  background-color: rgb(248 248 251 / var(--tw-bg-opacity));
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.btn {
  font-weight: 500;
  text-transform: none;
}

.btn-primary {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn-primary.btn-disabled {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  opacity: 0.5;
}

.btn-secondary {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
  --tw-text-opacity: 1;
  color: rgb(23 23 37 / var(--tw-text-opacity));
}

.btn-secondary-blue {
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(0 86 237 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.btn-secondary-blue:hover {
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(0 86 237 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(242 246 254 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.card-progress-bar {
  margin-left: -1rem;
  margin-right: -1rem;
  width: calc(100% + 35px);
}

.btn-secondary.btn-disabled {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--s) / var(--tw-bg-opacity));
  opacity: 0.8;
}

.btn-text {
  border-style: none;
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.btn-text:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 242 255 / var(--tw-bg-opacity));
}

.btn-sm {
  height: 38px;
}

.btm-font-normal {
  font-weight: 400 !important;
}

.btn-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(227 27 85 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn-danger:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(215 25 81 / var(--tw-bg-opacity));
}

.btn-sm.btn-square {
  width: 38px;
}

.btn-preview {
  border-style: none;
  background-color: #0056ED1A;
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.btn-preview:hover {
  border-style: none;
  background-color: #0056ED2A;
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

.btn-preview:disabled {
  pointer-events: none;
}

@media (hover: hover) {

  .btn-preview:disabled:hover {
    --tw-border-opacity: 0;
    background-color: hsl(var(--n) / var(--tw-bg-opacity));
    --tw-bg-opacity: 0.2;
    color: hsl(var(--bc) / var(--tw-text-opacity));
    --tw-text-opacity: 0.2;
  }
}

.btn.btn-preview:disabled {
  --tw-border-opacity: 0;
  background-color: hsl(var(--n) / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.2;
  color: hsl(var(--bc) / var(--tw-text-opacity));
  --tw-text-opacity: 0.2;
}

.btn-primary.btn-preview:disabled {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  opacity: 0.5;
}

.btn-secondary.btn-preview:disabled {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--s) / var(--tw-bg-opacity));
  opacity: 0.8;
}

.checkbox-blue:checked {
    --chkbg: 218, 100%, 46%;
    --chkfg: 0, 0%, 100%;
}

input:checked:disabled ~ .disabled-text-grayed {
    color: #AEB2CF !important;
}

input:checked:disabled ~ .disabled-bg-grayed-E0E2E9 {
    background-color: #A9C9A3 !important;
}

.text-primary {
  color: #0056ED;
}

.card {
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
  padding: 1rem;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.card.no-padding {
  padding: 0px;
}

.drop-zone-active {
    border-color: #0056ED !important; /* blue-600 */
    background-color: #e0e7ff !important; /* blue-100 */
    box-shadow: 0 0 0 2px #0056ED;
    transition: border-color 0.2s, background-color 0.2s;
}

table.dataTable#datatable thead th {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(248 249 251 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(23 23 37 / var(--tw-text-opacity));
}

.table :where(thead, tfoot) {
  --tw-text-opacity: 1;
  color: rgb(23 23 37 / var(--tw-text-opacity));
}

.future-replacement-cost-page table.dataTable#datatable thead th {
  border-right-width: 1px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

table.dataTable#datatable thead th:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 241 241 / var(--tw-bg-opacity));
}

table.dataTable#datatable thead th.text-center {
  text-align: center !important;
}

table.dataTable.table thead th {
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

table.dataTable.table tbody tr.selected td,
table.dataTable.table tbody tr.selected a {
  color: white;
}

:where(.table *:first-child) :where(*:first-child) :where(th, td):first-child {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

:where(.table *:first-child) :where(*:first-child) :where(th, td):last-child {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.btn-add-new {
  display: inline-flex;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border-color: transparent;
  border-color: hsl(var(--b2) / var(--tw-border-opacity));
  text-align: center;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-duration: 200ms;
  border-radius: var(--rounded-btn, 0.5rem);
  height: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  min-height: 3rem;
  font-size: 0.875rem;
  line-height: 1em;
  gap: 0.5rem;
  font-weight: 600;
  text-decoration-line: none;
  border-width: var(--border-btn, 1px);
  animation: button-pop var(--animation-btn, 0.25s) ease-out;
  text-transform: var(--btn-text-case, uppercase);
  --tw-border-opacity: 1;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--b2) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--bc) / var(--tw-text-opacity));
  outline-color: hsl(var(--bc) / 1);
}

.btn-add-new[disabled],.btn-add-new:disabled {
  pointer-events: none;
}

.btn-group > input[type="radio"].btn-add-new {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.btn-group > input[type="radio"].btn-add-new:before {
  content: attr(data-title);
}

.btn-add-new:is(input[type="checkbox"]),.btn-add-new:is(input[type="radio"]) {
  width: auto;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.btn-add-new:is(input[type="checkbox"]):after,.btn-add-new:is(input[type="radio"]):after {
  --tw-content: attr(aria-label);
  content: var(--tw-content);
}

@media (hover: hover) {

  .btn-add-new:hover {
    border-color: hsl(var(--b3) / var(--tw-border-opacity));
    background-color: hsl(var(--b3) / var(--tw-bg-opacity));
    --tw-border-opacity: 1;
    border-color: hsl(var(--pf) / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: hsl(var(--pf) / var(--tw-bg-opacity));
  }

  .btn-add-new.glass:hover {
    --glass-opacity: 25%;
    --glass-border-opacity: 15%;
  }

  .btn-outline.btn-add-new:hover {
    --tw-border-opacity: 1;
    border-color: hsl(var(--pf) / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: hsl(var(--pf) / var(--tw-bg-opacity));
    --tw-text-opacity: 1;
    color: hsl(var(--pc) / var(--tw-text-opacity));
  }

  .btn-add-new[disabled]:hover,.btn-add-new:disabled:hover {
    --tw-border-opacity: 0;
    background-color: hsl(var(--n) / var(--tw-bg-opacity));
    --tw-bg-opacity: 0.2;
    color: hsl(var(--bc) / var(--tw-text-opacity));
    --tw-text-opacity: 0.2;
  }

  .btn-add-new:is(input[type="checkbox"]:checked):hover,.btn-add-new:is(input[type="radio"]:checked):hover {
    --tw-border-opacity: 1;
    border-color: hsl(var(--pf) / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: hsl(var(--pf) / var(--tw-bg-opacity));
  }
}

.btn-add-new:active:hover,.btn-add-new:active:focus {
  animation: button-pop 0s ease-out;
  transform: scale(var(--btn-focus-scale, 0.97));
}

.btn-add-new:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-offset: 2px;
}

.btn-add-new {
  --tw-border-opacity: 1;
  border-color: hsl(var(--p) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--pc) / var(--tw-text-opacity));
  outline-color: hsl(var(--p) / 1);
}

.btn-add-new.btn-active {
  --tw-border-opacity: 1;
  border-color: hsl(var(--pf) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--pf) / var(--tw-bg-opacity));
}

.btn-add-new.glass {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  outline-color: currentColor;
}

.btn-add-new.glass.btn-active {
  --glass-opacity: 25%;
  --glass-border-opacity: 15%;
}

.btn-outline.btn-add-new {
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
}

.btn-outline.btn-add-new.btn-active {
  --tw-border-opacity: 1;
  border-color: hsl(var(--pf) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--pf) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--pc) / var(--tw-text-opacity));
}

.btn-add-new.btn-disabled,.btn-add-new[disabled],.btn-add-new:disabled {
  --tw-border-opacity: 0;
  background-color: hsl(var(--n) / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.2;
  color: hsl(var(--bc) / var(--tw-text-opacity));
  --tw-text-opacity: 0.2;
}

.btn-group > input[type="radio"]:checked.btn-add-new {
  --tw-border-opacity: 1;
  border-color: hsl(var(--p) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--pc) / var(--tw-text-opacity));
}

.btn-group > input[type="radio"]:checked.btn-add-new:focus-visible {
  outline-style: solid;
  outline-width: 2px;
  outline-color: hsl(var(--p) / 1);
}

.btn-add-new:is(input[type="checkbox"]:checked),.btn-add-new:is(input[type="radio"]:checked) {
  --tw-border-opacity: 1;
  border-color: hsl(var(--p) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--pc) / var(--tw-text-opacity));
}

.btn-add-new:is(input[type="checkbox"]:checked):focus-visible,.btn-add-new:is(input[type="radio"]:checked):focus-visible {
  outline-color: hsl(var(--p) / 1);
}

.btn-add-new {
  height: 2rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  min-height: 2rem;
  font-size: 0.875rem;
}

.btn-square:where(.btn-add-new) {
  height: 2rem;
  width: 2rem;
  padding: 0px;
}

.btn-circle:where(.btn-add-new) {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  padding: 0px;
}

.btn-group .btn-add-new:not(:first-child):not(:last-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group .btn-add-new:first-child:not(:last-child) {
  margin-top: -0px;
  margin-left: -1px;
  border-top-left-radius: var(--rounded-btn, 0.5rem);
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--rounded-btn, 0.5rem);
  border-bottom-right-radius: 0;
}

.btn-group .btn-add-new:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: var(--rounded-btn, 0.5rem);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: var(--rounded-btn, 0.5rem);
}

.btn-group-horizontal .btn-add-new:not(:first-child):not(:last-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group-horizontal .btn-add-new:first-child:not(:last-child) {
  margin-top: -0px;
  margin-left: -1px;
  border-top-left-radius: var(--rounded-btn, 0.5rem);
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--rounded-btn, 0.5rem);
  border-bottom-right-radius: 0;
}

.btn-group-horizontal .btn-add-new:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: var(--rounded-btn, 0.5rem);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: var(--rounded-btn, 0.5rem);
}

.btn-group-vertical .btn-add-new:first-child:not(:last-child) {
  margin-top: -1px;
  margin-left: -0px;
  border-top-left-radius: var(--rounded-btn, 0.5rem);
  border-top-right-radius: var(--rounded-btn, 0.5rem);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group-vertical .btn-add-new:last-child:not(:first-child) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: var(--rounded-btn, 0.5rem);
  border-bottom-right-radius: var(--rounded-btn, 0.5rem);
}

.btn-add-new {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  font-weight: 500;
  text-transform: none;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.btn-add-new.btn-disabled {
  --tw-bg-opacity: 1;
  background-color: hsl(var(--p) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  opacity: 0.5;
}

.btn-add-new {
  height: 38px;
}

.btn-add-new.btn-square {
  width: 38px;
}

.join-item.btn-add-new[type='radio'],
.join-item.btn-add-new[type='radio']:checked {
    background-image: none;
}

.join-item.btn-add-new[type='radio']:focus,
.join-item.btn-add-new[type='radio']:focus-visible {
    outline: none;
    box-shadow: none;
}

.alert-fade {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  animation: fade 2s ease-in-out;
}

@keyframes fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* Your CSS here */

.mapboxgl-popup {
  max-width: 300px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 10px;
  /*box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);*/
}

.mapboxgl-popup-content {
  min-width: 300px;
  max-height: 300px;
  overflow: auto;
  padding: 10px 15px;
  background: #fff;
  border-radius: 10px;
}

.mapboxgl-popup-close-button {
  font-size: 16px;
  color: #333;
  background: #eee;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  line-height: 23px;
  text-align: center;
  right: 10px;
  top: 10px;
  cursor: pointer;
  outline: none;
}

a.mapboxgl-ctrl-logo,
.mapboxgl-ctrl-attrib {
  display: none !important;
}

#projects-view-wrapper #mapWrapper {
  margin-left: -15px;
}

#mapProjectsList {
  height: 100%;
  width: 300px;
  overflow-y: auto;
}

#projects-view-wrapper #mapWrapper #mapContainer {
  height: 100%;
  width: calc(100% - 300px);
}

#mapProjectsList .project {
  border-bottom: 1px solid #ddd;
  cursor: pointer;
  position: relative;
  padding-right: 65px;
  overflow: hidden;
  min-height: 53px;
}

#mapProjectsList .project img {
  position: absolute;
  width: auto;
  max-width: 50px;
  height: auto;
  max-height: 37px;
  right: 8px;
  top: 8px;
  -o-object-fit: contain;
     object-fit: contain;
}

#mapProjectsList .project:hover,
#mapProjectsList .project.active {
  background: #f9f9f9;
}

#mapProjectsList .project:last-child {
  border-bottom: none;
}

#mapProjectsList .project a.identifier {
  color: #999;
}

#mapProjectsList .project a.identifier:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
  color: #0056ED;
}

.mapboxgl-popup-content a {
  outline: none;
}

.mapboxgl-popup-content h3 {
  margin: 0;
  padding: 0 20px 0 0;
  font-size: 18px;
  font-weight: bold;
  color: #333;
}

.mapboxgl-popup-content .mapboxgl-logo {
  display: block;
  max-width: 120px;
  margin-left: auto;
  margin-right: auto;
}

.mapboxgl-popup-content p {
  margin: 5px 0;
  color: #666;
}

.mapboxgl-popup-content a.identifier {
  color: #999;
}

.mapboxgl-popup-content a.identifier:hover {
  --tw-text-opacity: 1;
  color: hsl(var(--p) / var(--tw-text-opacity));
  color: #0056ED;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  border-top-color: #fff;
}

.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  border-bottom-color: #fff;
}

.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  border-right-color: #fff;
}

.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  border-left-color: #fff;
}

#mapWrapper {
  position: relative;
}

#mapContainer {
    height: 100%;
    width: 100%;
}

#mapWrapper button {
/* restore browser defaults */
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.mapboxgl-ctrl-group-mode-switcher button {
  color: black;
}

.mapboxgl-ctrl-group-mode-switcher button.active {
  background-color: #0056ED;
}

mapbox-search-listbox [class$="-ResultsAttribution"] {
  display: none;
}

#mapSearchBoxContainer {
  position: absolute;
  top: 10px;
  right: 50px;
  width: 300px;
  z-index: 1;
}

#expenditures-wrapper,
#fundings-wrapper,
#budget-items-wrapper,
#budget-impact-wrapper,
#project-basic-info,
#project-totals-info,
#asset-basic-info,
#asset-totals-info,
#expenditure-invoices-wrapper {
  border: 1px solid #ddd;
  box-shadow: none;
}

#expenditure-invoices-wrapper.card {
  padding: 0;
}

#asset-search-event,
#filter-modal-button {
  --tw-text-opacity: 1;
  color: rgb(111 111 131 / var(--tw-text-opacity));
}

#asset-search-event.active,
#filter-modal-button.active {
  --tw-text-opacity: 1;
  color: rgb(0 86 237 / var(--tw-text-opacity));
}

#project-basic-info {
  padding: 0;
  width: 70%;
}

/* When the "Unbalanced Years" / totals block is hidden (PLAN-474), the basic-info
   column spans the full row instead of leaving the 30% totals gap. */

#project-basic-info.project-basic-info--full {
  width: 100%;
}

#expenditures-wrapper .h1,
#fundings-wrapper .h1,
#asset-expenditures-wrapper .h1,
#asset-fundings-wrapper .h1,
#budget-tab .h1,
#project-totals-info .h1,
#asset-totals-info .h1,
#expenditure-invoices-wrapper .h1 {
  font-size: 1.1rem;
}

#budget-tab>.card:first-of-type {
  width: 36%;
}

#budget-tab>.card:last-of-type {
  width: 64%;
}

#expenditures-wrapper .edit-field,
#fundings-wrapper .edit-field,
#asset-expenditures-wrapper .edit-field,
#asset-fundings-wrapper .edit-field,
#budget-items-wrapper .edit-field {
  width: 100%;
  line-height: 18px;
  font-size: 14px;
  padding: 0 5px 0 2px;
  margin-left: 2px;
}

#expenditures-wrapper .field-input,
#fundings-wrapper .field-input,
#budget-items-wrapper .field-input {
    padding-right: 5px;
}

#expenditures-wrapper .select2-selection,
#fundings-wrapper .select2-selection,
#asset-expenditures-wrapper .select2-selection,
#asset-fundings-wrapper .select2-selection,
#budget-items-wrapper .select2-selection {
  border: 0 !important;
  background: transparent !important;
  height: 18px;
}

#expenditures-wrapper .select2-selection .select2-selection__rendered,
#fundings-wrapper .select2-selection .select2-selection__rendered,
#asset-expenditures-wrapper .select2-selection .select2-selection__rendered,
#asset-fundings-wrapper .select2-selection .select2-selection__rendered,
#budget-items-wrapper .select2-selection .select2-selection__rendered {
  padding-left: 0 !important;
  padding-right: 12px !important;
  line-height: 16px !important;
}

.select2-dropdown--below {
  margin-top: 8px;
}

#expenditures-wrapper .select2-selection .select2-selection__arrow,
#fundings-wrapper .select2-selection .select2-selection__arrow,
#asset-expenditures-wrapper .select2-selection .select2-selection__arrow,
#asset-fundings-wrapper .select2-selection .select2-selection__arrow,
#budget-items-wrapper .select2-selection .select2-selection__arrow {
  line-height: 16px !important;
  top: -4px !important;
  right: -6px !important;
}

#project-totals-info .balanced-icon {
  border-radius: 10px;
  background-color: #ecfdf3;
  border: 1px solid #d9f5e6;
  color: #309855;
}

#project-totals-info .mark:before {
  font-size: 1.5rem;
  padding: 9px;
  background-color: #d1fadf;
  border-radius: 100%;
}

#project-totals-info,
#asset-totals-info {
  width: 30%;
}

#project-totals-info .year {
  background-color: #fbdacd;
  color: #f44408;
  border-radius: 5px;
  flex: 1 0 20%;
  max-width: 23%;
}

#project-totals-info .year.balanced {
  background-color: #d0f0e0;
  color: #3bb364;
}

#project-totals-info .comparison .not-balanced {
  color: #f44408;
}

#project-totals-info .comparison .balanced {
  color: #3bb364;
}

.caret-right {
  padding-right: 20px !important;
}

.edit-mode.caret-right {
  padding-right: 10px !important;
}

.select2-selection {
  border-color: rgba(48, 48, 48, 0.2) !important;
  border-radius: 8px !important;
}

.input::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity));
}

.input::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity));
}

.input:focus,
.select2-selection[aria-expanded="true"] {
    outline: none;
    border-color: rgba(203, 228, 255, 1) !important;
    box-shadow: 0 0 0 2px rgba(230, 242, 255, 1);
}

.select2-container .select2-selection--multiple .select2-selection__clear {
    color: black;
    background-color: white;
    font-size: 15px;
}

.select2-results__options::-webkit-scrollbar {
    width: 10px;
}

.select2-results__options::-webkit-scrollbar-track {
    background: transparent;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: rgba(234, 236, 240, 1);
    border-radius: 8px;
}

.select2-results__options::-webkit-scrollbar-thumb:hover {
    background: rgba(211, 211, 211, 1);
}

.select2-container.select2-container--open .select2-dropdown--below,
.select2-container.select2-container--open .select2-dropdown--above {
    margin-top: 2px;
    border-radius: 8px;
    border: 1px solid rgba(242, 244, 247, 1);
    box-shadow: 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);
    overflow: hidden;
    min-width: 175px;
}

.select2-container.select2-container--open .select2-dropdown--above {
    margin-top: -2px;
}

.select2-dropdown .select2-results__option:not(.select2-results__option--group) {
    padding: 10px 5px 10px 42px;
    color: #101828;
    font-weight: 400;
    position: relative;
    min-height: 36px;
}

/* Column Mapping */

.select2-results__option.ignore-option,
.pair-select + .select2-container .select2-selection__rendered[title='Ignore'] {
    font-style: italic;
    color: #aaa;
}

.select2-container--default .select2-selection--single.duplicate {
    border: 1px solid red !important;
}

.select2-dropdown .select2-results__option:not(.select2-results__message):not(.select2-results__option--group)::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 1px solid #D0D5DD;
    border-radius: 6px;
    background-color: #fff;
}

.select2-dropdown .select2-results__option.select2-results__option--selected:not(.select2-results__message):not(.select2-results__option--group)::before {
    background-color: #0056ED;
    border-color: #0056ED;
}

.select2-dropdown .select2-results__option.select2-results__option--selected::after {
    content: "\f00c";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 14px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.select2-container--default .select2-dropdown .select2-results__option--selected,
.select2-container--default .select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    color: #101828;
    background-color: #F9FAFB;
}

.select2-dropdown .select2-results__option[id$="-all"] {
    border-bottom: 1px solid #D0D5DD;
}

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    color: #344054;
    padding: 0;
}

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    font-size: 20px;
    left: auto;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    color: #98A2B3;
    line-height: 22px;
    padding: 0 4px;
    margin-top: -1px;
    background: transparent;
}

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
    color: #98A2B3;
    background: transparent;
}

.select2.select2-container .select2-search--inline .select2-search__field {
    height: 22px;
    margin: 3px 0 0 8px;
}

.sidebar-block {
  width: 200px;
}

.sidebar-block.thin {
  width: 50px;
}

.sidebar-block.thin .sidebar-nav span {
  display: none;
}

.sidebar-block.thin .sidebar-nav li a {
  display: block !important;
  text-align: center;
  margin: 0.5rem;
  padding: 0.25rem;
}

.btn-project-lock,
.btn-project-delete {
    margin-top: 0;
}

#prev-next-project-hx {
    display: none;
}

#prev-next-project {
    display: inline-block;
}

#search-bar-wrapper {
    position: relative;
}

#search-bar-wrapper .table {
    font-size: 0.775rem;
    line-height: 0.8rem;
}

#search-bar-wrapper .table th,
#search-bar-wrapper .table td {
    text-align: left;
}

.close-search-bar {
    cursor: pointer;
    position: absolute;
    right: 22px;
    top: 15px;
}

.size-option {
  transition: 0.3s;
  cursor: pointer;
  border: 2px solid #eaecf0;
  border-radius: 5px;
  position: relative;
}

.size-option h2,
.image-settings-title h2
{
  color: #344054;
}

.size-option p,
.image-settings-title p,
.upload-image-button-wrapper p {
  color: #667084;
}

.size-option.selected {
  border: 2px solid #0056ED;
}

.size-option.disabled img,
.size-option.disabled div,
.size-option.disabled p { /* but not a spinner*/
  opacity: 0.5;
}

.size-option:hover {
  border: 2px solid #0056ED;
}

.size-option.disabled:hover {
  cursor: not-allowed;
  border: 2px solid #eaecf0;
}

.size-option i {
  position: absolute;
  font-size: 24px;
  top: 150px;
  left: 46%;
}

.no-select {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */ /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.select2.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: white;
    border: 1px solid #D0D5DD;
    font-weight: 400;
    padding: 1px 23px 1px 9px;
    margin-left: 8px;
    min-height: 20px;
}

.total-expenditure-info-heading {
    min-width: 110px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
}

.total-expenditure-cost {
    min-width: 110px;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    display: inline-block;
}

.invitation-help-text-visible {
    display: none;
}

.invitation-help-text {
    background-color: #F2F6FE;
    padding: 20px 15px;
    margin: 10px 0 30px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    color: #0056ED;
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
}

.invitation-help-text i {
    font-size: 20px;
    margin-right: 15px;
}

.invitation-help-text a {
    text-decoration: underline;
}

#invitation-form {
    display: flex;
    align-items: flex-start;
}

.form-group-email,
.form-group-role {
    padding-right: 25px;
}

.form-group-email input {
    width: 100%;
}

.AssetTypeForm .form-group,
.AssetGlobalFieldsForm .form-group {
  margin-bottom: 1rem;
}

.AssetTypeForm .form-group > label,
.AssetGlobalFieldsForm .form-group > label {
  margin-bottom: 0.5rem;
  display: block;
}

.AssetTypeForm .form-group input[type="text"],
.AssetTypeForm .form-group input[type="number"],
.AssetGlobalFieldsForm .form-group input[type="text"],
.AssetGlobalFieldsForm .form-group input[type="number"] {
  height: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  line-height: 2;
  width: 100%;
  height: 38px;
  min-height: 38px;
  border-width: 1.6px;
  --tw-border-opacity: 1;
  border-color: rgb(224 226 233 / var(--tw-border-opacity));
}

.grouped-input-with-suffix-units {
  display: flex;
  width: 100%;
  align-items: center;
}

.grouped-input-with-suffix-units .input {
  display: inline-flex;
    border-right: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.grouped-input-with-suffix-units .suffix {
  display: inline-flex;
  height: 100%;
  align-items: center;
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}

.AssetTypeForm #AssetTypeFieldsControlCustomFields,
.AssetGlobalFieldsForm #AssetTypeFieldsControlCustomFields {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

.AssetTypeForm #AssetTypeFieldsControlCustomFields .FieldControl,
.AssetGlobalFieldsForm #AssetTypeFieldsControlCustomFields .FieldControl {
  width: 100%;
  border-radius: 0.375rem;
  --tw-bg-opacity: 1;
  background-color: rgb(248 249 251 / var(--tw-bg-opacity));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 15px;
}

.AssetTypeForm #AssetFieldSetControl .AssetFieldSetFieldControl.open .FieldControlWrapper,
.AssetGlobalFieldsForm #AssetFieldSetControl .AssetFieldSetFieldControl.open .FieldControlWrapper {
  display: block;
}

.AssetTypeForm #AssetFieldSetControl .AssetFieldSetFieldControl.open .FieldsetCaret,
.AssetGlobalFieldsForm #AssetFieldSetControl .AssetFieldSetFieldControl.open .FieldsetCaret {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

#end_year[readonly],
#start_year[readonly] {
    cursor: not-allowed;
    --tw-border-opacity: 1;
    border-color: hsl(var(--b2) / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: hsl(var(--b2) / var(--tw-bg-opacity));
    --tw-text-opacity: 0.2;
}

small.form-text {
    font-size: 12px;
    margin-top: 5px;
}

.table .entity-name {
    min-width: 170px;
}

@media screen and (max-width: 1800px) {
    .table .entity-name {
        min-width: 150px;
    }
}

@media screen and (max-width: 1500px) {
    .table .entity-name {
        min-width: 100px;
    }

    #expendituresDatatable tbody,
    #fundingsDatatable tbody {
        font-size: 13px;
    }
}

.task-success {
    border-color: transparent;
    background-color: #309855;
    color: #fff;
}

#task-wrapper .input {
    height: 1.75rem;
}

.dept-identifier-label {
    position: relative;
}

.dept-identifier-label i {
    font-size: 22px;
    cursor: pointer;
}

.dept-identifier-label .tooltip {
    display: none;
    --tw-border-opacity: 0.2;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: hsl(var(--bc) / var(--tw-border-opacity));
    width: 200px;
    position: absolute;
    top: 0;
    background-color: #fff;
    right: -100%;
    margin-right: -10px;
    padding: 10px;
    font-weight: 400;
}

.dept-identifier-label i:hover + .tooltip {
    display: block;
}

.text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select2-dropdown.accounting-code-dropdown {
    width: 300px !important;
}

.modal-button-wrap {
    left: 100%;
    bottom: 10px;
}

/* DaisyUI button-styled radios (e.g. the Expenditure Year mode toggle) should not
   render the Tailwind forms checked dot on top of their label text. */

.join-item.btn[type='radio'],
.join-item.btn[type='radio']:checked {
    background-image: none;
}

.join-item.btn[type='radio']:focus,
.join-item.btn[type='radio']:focus-visible {
    outline: none;
    box-shadow: none;
}

