.notify {
    position: fixed;
    top: 10px;
    right: 100px;
    min-width: 300px;
}

.pointer, .btn {
    cursor: pointer;
}

/*.rotate270 {*/
/*    transform: rotate(270deg);*/
/*    line-height: 1;*/
/*}*/

/*.card.sheet th {*/
/*    padding: 6px 3px;*/
/*}*/

/*.card.sheet td {*/
/*    padding: 1px 3px;*/
/*}*/

/*.card.sheet .hour-col {*/
/*}*/

.card.sheet {
    margin: 0;
}

#sheet {
    /*height: 40em;*/
    overflow: scroll;
    position: relative;
}

#sheet table {
    /*position: relative;*/
    border-collapse: collapse;
    table-layout: fixed;
}

#sheet thead {
    background-color: #f6f9fc;
}

#sheet th {
    padding: 3px 4px !important;
}

#sheet thead th {
    /*position: -webkit-sticky;*/
    /*position: sticky;*/
    top: 0;
    z-index: 2;
    text-align: center;
}

#sheet tbody td, #sheet tfoot td {
    padding: 1px 3px;
}

#sheet .rotate {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    text-align: left;
}

#sheet .hour-col .rotate {
    width: 110px;
    height: 80px;
}

/*#sheet thead th.br1 {*/
/*    top: 0;*/
/*}*/

/*#sheet thead th.br2 {*/
/*    top: 35px;*/
/*}*/

/*#sheet thead th.br3 {*/
/*    top: 70px;*/
/*}*/

/*#sheet thead th.br4 {*/
/*    left: 206px;*/
/*    z-index: 4;*/
/*}*/

/*#sheet thead th.br0 {*/
/*    left: 0;*/
/*    z-index: 3;*/
/*}*/

/*#sheet tbody th {*/
/*    position: -webkit-sticky; !* for Safari *!*/
/*    position: sticky;*/
/*    left: 0;*/
/*    z-index: 2;*/
/*}*/

/*#sheet tbody td {*/
/*    position: -webkit-sticky; !* for Safari *!*/
/*    position: sticky;*/
/*    left: 0;*/
/*    z-index: 1;*/
/*    padding: 1px 3px;*/
/*}*/

/*#sheet tbody th:first-child {*/
/*    left: 0;*/
/*    background: #fff;*/
/*}*/

/*#sheet th.center-th {*/
/*    left: 270px !important;*/
/*}*/

/*#sheet th.center-th + th.center-th {*/
/*    left: 360px !important;*/
/*}*/

/*#sheet thead th.center-th {*/
/*    z-index: 3;*/
/*}*/


.clt, .clt ul, .clt li {
    position: relative;
}

.clt ul {
    list-style: none;
    padding-left: 20px;
}

.clt li::before, .clt li::after {
    content: "";
    position: absolute;
    left: -8px;
}

.clt li::before {
    border-top: 1px dashed #888;
    top: 17px;
    width: 8px;
    height: 0;
}

.clt li::after {
    border-left: 1px dashed #888;
    height: 100%;
    width: 0;
    top: -6px;
}

.clt ul > li:last-child::after {
    height: 22px;
}

.clt p {
    margin: 5px 0;
    padding: 2px 25px;
    border: 1px solid #ccc;
    border-radius: 10px;
}

.clt ul > li > p {
    width: 400px;
    position: relative;
    z-index: 2;
}

.clt .expandable:before {
    content: "\f0d7";
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    position: absolute;
    left: 10px;
    top: 7px;
}

.clt .expandable.expanded:before {
    content: "\f0d8";
}

.clt ul li ul {
    display: none;
}

.clt .expanded + ul {
    display: block;
}

.clt ul > li > ul > li p {
    width: 380px;
}

.clt ul > li > ul > li > ul > li p {
    width: 360px;
}

.clt ul > li > ul > li > ul > li > ul > li > p {
    width: 340px;
}

.clt ul > li > ul > li > ul > li > ul > li > ul > li {

}

.clt ul > li > ul > li > ul > li > ul > li > ul > li > p {
    width: 320px;
}

.clt .hours, .clt .students, .clt .tutor, .clt .etat {
    position: absolute;
    border: 1px solid #ccc;
    border-radius: 0 10px 10px 0;
    display: inline-block;
    z-index: 1;
    border-left: 0;
    padding: 2px 20px;
    top: -1px;
    text-align: right;
}

.clt .lv {
    border: 1px solid #ccc;
    border-radius: 10px;
    z-index: 1;
    padding: 2px 20px;
    top: -1px;
    margin: 5px 0;
}

.clt .lv .c {
    display: inline-block;
    width: 106px;
    padding: 0 3px;
    border-left: 1px solid #ccc;
}

.clt .lv .c.c0 {
    border-left: 0 none;
}

.clt .lv.lv0 .c.c0 {
    width: 360px;
}

.clt .lv.lv1 .c.c0 {
    width: 340px;
}

.clt .lv.lv2 .c.c0 {
    width: 320px;
}

.clt .lv.lv3 .c.c0 {
    width: 300px;
}

/*.clt .c {*/
/*    width: 128px;*/
/*}*/

/*.clt .c1 {*/
/*    left: 400px;*/
/*}*/
/*.clt .c2 {*/
/*    left: 500px;*/
/*}*/
/*.clt .c3 {*/
/*    left: 600px;*/
/*}*/
/*.clt .c4 {*/
/*    left: 700px;*/
/*}*/

.clt .hours i, .clt .students i, .clt .tutor i, .clt .etat i {
    position: absolute;
    left: 18px;
    top: 7px;
}

.clt .hours {
    right: -175px;
    width: 180px;
}

.clt .students {
    right: -280px;
    width: 110px;
}

.clt .tutor {
    right: -400px;
    width: 190px;
    text-align: left;
    padding-left: 45px;
}

.clt .etat {
    right: -300px;
    width: 190px;
}

.clt .lv1 {
    font-weight: bold;
}

.level0 {
}

.level1 td:first-child {
    padding-left: 40px;
}

.level2 td:first-child {
    padding-left: 80px;
}

.level3 td:first-child {
    padding-left: 120px;
}

.report-table {
    height: 40em;
    overflow: scroll;
    position: relative;
}

.report-table table {
    position: relative;
}

.report-table thead {
    background-color: #f6f9fc;
}

.report-table thead th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
}

.report-table tbody tr td:first-child {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    left: 0;
    z-index: 2;
    background: #eee;
}

.report-table thead tr th:first-child {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    left: 0;
    z-index: 3;
    background: #ddd;
}


.report-table tbody tr td:last-child {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    right: 0;
    z-index: 2;
    background: #eee;
    border-top: 1px solid #ddd;
}

.report-table thead tr th:last-child {
    position: -webkit-sticky; /* for Safari */
    position: sticky;
    right: 0;
    z-index: 3;
    background: #ddd;
}

.table-lv1 {
    background-color: #ced4da;
}

.table-lv2 {
    background-color: #f6f9fc;
}

/*.table-bordered .table-lv2 td {*/
/*    border-top: 3px solid #adb5bd !important;*/
/*}*/

.allocations-current-year {
    background: #f0f0f0 !important;
}

#allocations-table {
    position: relative;
    border-collapse: collapse;
}

#allocations-table thead tr:first-child th:first-child,
#allocations-table tbody tr th,
#allocations-table tfoot tr th {
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 2;
}

#allocations-table tbody tr:nth-child(even) th {
    background: #f8f8f8;
}


.inline-checkboxes .form-check {
    display: inline-block;
    width: 300px;
    height: 20px;
}

.prev-next-year #id_year,
.prev-next-year #id_year + div {
    width: 50%;
    text-align: center;
    border-right: 0;
}

.prev-next-year #id_year + div span {
    display: block;
    width: 100%;
}

.prev-next-year #id_year + div:before {
    content: "/";
    font-size: 29px;
    color: #ccc;
    position: absolute;
}


.groups-table {
    overflow-x: scroll;
    overflow-y: scroll;
    padding: 0;
}

.groups-table thead {
    position: sticky;
    top: 0;
    z-index: 11;
}

.groups-table table {
    border-collapse: separate;
    border-spacing: 0;
}

.groups-table th.sticky {
    position: sticky;
    left: 0;
    z-index: 10;
}
.groups-table tbody th.sticky {
    background: #fff;
}
.groups-table tbody td:not(:last-child) {
    border-right: 1px solid #cecece;
}

.groups-table .alert {
    padding: 0.5rem 1rem;
    text-align: center;
}

.groups-table .add-group-btn {
    display: none;
    position: absolute;
    bottom: -5px;
    right: -5px;
}

.groups-table td:hover .add-group-btn {
    display: block;
}

.sheet-compare-table {
    overflow-x: scroll;
    overflow-y: scroll;
    padding: 0;
}

.sheet-compare-table thead {
    position: sticky;
    top: 0;
    z-index: 11;
}

.sheet-compare-table thead th:first-child {
    position: sticky;
    left: 0;
}

.sheet-compare-table tbody th {
    position: sticky;
    left: 0;
    z-index: 10;
    background: #fff;
}
