.path-local-treestudyplan,
.features-treestudyplan {
    /* we can override these colors in the :root field if needed */
    --color-past: var(--bs-purple, var(--purple)); /* Tag color for past courses or studyplans */
    --color-present: var(--bs-blue, var(--blue)); /* Tag color for active courses or studyplans */
    --color-future: var(--bs-gray, var(--gray)); /* Tag color for future/upcoming courses and studyplans*/
    --color-lightish: color-mix(in srgb, var(--bs-light, var(--light)) 80%, #ccc); /* Slightly lighter colorm used for */
    --color-pending: var(--bs-gray, var(--gray)); /* Color for pending icon (submitted, but not graded*/
    --color-incomplete: var(--bs-gray, var(--gray)); /* Color for incomplete courses and conditions*/
    --color-indetermined: #999; /* Color used for indetermined state*/
    --color-progress: var(--bs-warning, var(--warning)); /* Color indicating progress but not completion in a course*/
    --color-fail: var(--bs-danger, var(--danger)); /* Color indicating a failed result or course*/
    --color-pass: var(--bs-success, var(--success)); /* Color indicating a passed grade or course*/
    --color-completed: var(--bs-info, var(--info)); /* Color indicating a completed condition */
    --color-good: var(--bs-info, var(--info)); /* Color indicating a good, but not excellent course */
    --color-excellent: var(--bs-blue, var(--blue)); /* Color for excellent course completion*/
    --statbar-color-ungraded: var(--color-warning); /* Color for ungraded activites in the statistics bar */
    --statbar-color-fail: var(--color-fail); /* Color for failed grades in the statistics bar */
    --statbar-color-pass: var(--color-pass); /* Color for passed grades in the statistics bar */
    --statbar-color-completed: var(--color-info); /* Color for completed grades in the statistics bar */
    --statbar-color-incomplete: var(--bs-light, var(--light)); /* Color for no-attempts in the statistics bar */
    --color-infoalert: var(--color-info); /* Color used for an informative alert (e.g. student not linked to a course in the studyplan) */
    --color-disabled: var(--bs-dark, var(--dark)); /* Color for disabled items*/
    --coursecat-color: var(--bs-blue, var(--blue)); /* Icon color of categories in the studyplan editor toolbox */
    --course-color: var(--bs-green, var(--green)); /* Icon color of courses in the studyplan editor toolbox*/
    --highlight-mix: 10%; /* Mixing percentage of highlight color for current period */
    --highlight-color: var(--bs-info, var(--info)); /* Highlight color for current period */
    --hiviz-dropslot-color: yellow; /* Highlight color for high visibility drop slots */
    --hiviz-hover-color: var(--bs-success, var(--success)); /* Highlight color for drop slots that are hovered over during drag.*/
    --color-primary: var(--bs-primary, var(--primary)); /* Primary color of bootstrap theme*/
    --color-info: var(--bs-info, var(--info)); /* Info color of bootstrap theme*/
    --color-light: var(--bs-light, var(--light)); /* Light color of bootstrap theme*/
    --color-danger: var(--bs-danger, var(--danger)); /* Danger color of bootstrap themes */
    --color-warning: var(--bs-warning, var(--warning)); /* Warning color of bootstrap theme */
    --gradingbar-color-ungraded: var(--statbar-color-ungraded); /* Color for ungraded items in the grading bar */
    --gradingbar-color-graded: var(--statbar-color-pass); /* Color for graded items in the grading bar */
    --gradingbar-color-unsubmitted: var(--statbar-color-incomplete); /* Color for unsubmitted items in the grading bar */
}

.path-local-treestudyplan div.tab-pane:target,
.features-treestudyplan div.tab-pane:target {
    margin-top: 0;
}
.path-local-treestudyplan [v-cloak],
.features-treestudyplan [v-cloak] {
    visibility: hidden;
}
.path-local-treestudyplan .vue-loader,
.features-treestudyplan .vue-loader {
    width: 32px;
    margin: auto;
}
.path-local-treestudyplan .special,
.features-treestudyplan .special {
    color: gold;
}

/* Hide the edit button on studyplan pages */
body.path-local-treestudyplan .editmode-switch-form > * {
    visibility: hidden;
}

/*******************
*
* Invite manager
*
********************/
.path-admin-local-treestudyplan table.m-cohortgrouptable,
.path-admin-local-treestudyplan table.m-roomtable,
.path-admin-local-treestudyplan table.m-cohortgrouptable,
.path-admin-local-treestudyplan table.m-roomtable {
    width: auto;
}

.path-local-treestudyplan table.m-manage_invites,
.path-admin-local-treestudyplan table.m-manage_invites {
    margin-bottom: 2em;
    width: 80%;
}
.path-local-treestudyplan table.m-manage_invites thead tr,
.path-admin-local-treestudyplan table.m-manage_invites thead tr {
    background-color: var(--color-primary);
    color: white;
}
.path-local-treestudyplan table.m-manage_invites thead tr th,
.path-admin-local-treestudyplan table.m-manage_invites thead tr th {
    padding-left: 0.4rem;
}
.path-local-treestudyplan table.m-manage_invites tbody tr:nth-child(even),
.path-admin-local-treestudyplan table.m-manage_invites tbody tr:nth-child(even) {
    background-color: var(--color-light);
}
.path-local-treestudyplan table.m-manage_invites tbody tr:nth-child(odd),
.path-admin-local-treestudyplan table.m-manage_invites tbody tr:nth-child(odd) {
    background-color: white;
}
.path-local-treestudyplan table.m-manage_invites tbody td,
.path-admin-local-treestudyplan table.m-manage_invites tbody td {
    padding: 5px;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=name],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=name] {
    width: 20em;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=email],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=email] {
    width: 10em;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=date],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=date] {
    width: 10em;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_details],
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_calendar],
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_badges],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_details],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_calendar],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=allow_badges] {
    width: 5em;
    padding-left: 1em;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=control],
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=control] {
    width: 150px;
}
.path-local-treestudyplan table.m-manage_invites tbody td[data-field=control] a,
.path-admin-local-treestudyplan table.m-manage_invites tbody td[data-field=control] a {
    margin-left: 7px;
    margin-right: 7px;
}

.path-local-treestudyplan .t-toolbox-preface,
.features-treestudyplan .t-toolbox-preface {
    margin: 10px;
}
.path-local-treestudyplan .t-studyplan-container,
.features-treestudyplan .t-studyplan-container {
    margin-top: 16px;
    min-height: 500px;
}
.path-local-treestudyplan .t-studyplan-content,
.path-local-treestudyplan .r-studyplan-content,
.features-treestudyplan .t-studyplan-content,
.features-treestudyplan .r-studyplan-content {
    display: flex;
}
.path-local-treestudyplan .t-studyplan-headings,
.path-local-treestudyplan .r-studyplan-headings,
.features-treestudyplan .t-studyplan-headings,
.features-treestudyplan .r-studyplan-headings {
    display: block;
}
.path-local-treestudyplan .t-studyplan-wrapper,
.path-local-treestudyplan .r-studyplan-wrapper,
.features-treestudyplan .t-studyplan-wrapper,
.features-treestudyplan .r-studyplan-wrapper {
    display: block;
}
.path-local-treestudyplan .t-studyplan-timeline,
.path-local-treestudyplan .r-studyplan-timeline,
.features-treestudyplan .t-studyplan-timeline,
.features-treestudyplan .r-studyplan-timeline {
    display: grid;
    position: relative; /* Make sure this grid is the offset for all arrows that are drawn by SimpleLine */
    /* grid-template-columns will be set in the style attribute */
    /* Use the variables below to specify width for filter spots and course spots */
    --studyplan-filter-width: auto; /* better leave this at auto for now*/
    --studyplan-course-width: auto; /* better leave this at auto for now*/
}
.path-local-treestudyplan .t-studyplan-limit-width,
.features-treestudyplan .t-studyplan-limit-width {
    max-width: 92vw;
}
.path-local-treestudyplan .t-studyplan-scrollable,
.path-local-treestudyplan .r-studyplan-scrollable,
.features-treestudyplan .t-studyplan-scrollable,
.features-treestudyplan .r-studyplan-scrollable {
    /* Below lines actually have the important flag set, since we do not want these very specific classes
     to be overridden anywhere - we always need them to be scrollable */
    /* stylelint-disable-next-line declaration-no-important */
    overflow-x: scroll !important;
    /* To ensure the x scrollbar does not cause an y scrollbar to appear */
    /* stylelint-disable-next-line declaration-no-important */
    overflow-y: clip !important;
    scrollbar-color: var(--color-primary) color-mix(in srgb, var(--color-primary) 20%, white);
    scrollbar-width: thin;
}
.path-local-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar,
.path-local-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar,
.features-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar,
.features-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar {
    width: 8px;
}
.path-local-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar-track,
.path-local-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar-track,
.features-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar-track,
.features-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar-track {
    background: color-mix(in srgb, var(--color-primary) 20%, white);
}
.path-local-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar-thumb,
.path-local-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar-thumb,
.features-treestudyplan .t-studyplan-scrollable::-webkit-scrollbar-thumb,
.features-treestudyplan .r-studyplan-scrollable::-webkit-scrollbar-thumb {
    background: var(--color-primary);
}
.path-local-treestudyplan .t-studyplan-column-heading,
.path-local-treestudyplan .r-studyplan-column-heading,
.features-treestudyplan .t-studyplan-column-heading,
.features-treestudyplan .r-studyplan-column-heading {
    color: inherit; /* placeholder */
}
.path-local-treestudyplan ul.dropdown-menu.show,
.features-treestudyplan ul.dropdown-menu.show {
    background-color: white;
}
.path-local-treestudyplan .t-studyline,
.path-local-treestudyplan .r-studyline,
.features-treestudyplan .t-studyline,
.features-treestudyplan .r-studyline {
    display: grid;
    grid-auto-flow: column;
    /*border-bottom-style: solid;*/
    border-color: #ccc;
    border-width: 1px;
}
.path-local-treestudyplan .t-studyline-drag .t-studyline,
.features-treestudyplan .t-studyline-drag .t-studyline {
    justify-content: start;
}
.path-local-treestudyplan .t-studyline.t-studyline-heading,
.path-local-treestudyplan .r-studyline.r-studyline-heading,
.features-treestudyplan .t-studyline.t-studyline-heading,
.features-treestudyplan .r-studyline.r-studyline-heading {
    border-right-style: none;
    grid-template-columns: 10px 1fr;
}
.path-local-treestudyplan .t-studyline.end,
.path-local-treestudyplan .r-studyline.end,
.features-treestudyplan .t-studyline.end,
.features-treestudyplan .r-studyline.end {
    border-right-style: solid;
}
.path-local-treestudyplan .t-studyline .t-studyline-editmode-content,
.features-treestudyplan .t-studyline .t-studyline-editmode-content {
    border-right-style: solid;
    border-color: #ccc;
    border-width: 1px;
}
.path-local-treestudyplan .t-studyline .controlbox,
.features-treestudyplan .t-studyline .controlbox {
    white-space: nowrap;
    width: 64px;
}
.path-local-treestudyplan .t-studyline .control,
.features-treestudyplan .t-studyline .control {
    display: inline-block;
    width: 24px;
    text-align: center;
    padding-top: 5px;
}
.path-local-treestudyplan .t-studyline-editmode-content,
.features-treestudyplan .t-studyline-editmode-content {
    min-width: 450px;
    max-width: 700px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.path-local-treestudyplan .t-studyplan-controlbox,
.features-treestudyplan .t-studyplan-controlbox {
    min-height: 30px;
    display: flex;
    justify-content: space-between;
    max-width: 80em;
}
.path-local-treestudyplan .t-studyplan-controlbox .control,
.features-treestudyplan .t-studyplan-controlbox .control {
    margin-left: 10px;
    margin-right: 5px;
}
.path-local-treestudyplan .t-studyplan-controlbox .control a,
.features-treestudyplan .t-studyplan-controlbox .control a {
    white-space: nowrap;
}
.path-local-treestudyplan .t-studyline-drag,
.features-treestudyplan .t-studyline-drag {
    display: inline;
}
.path-local-treestudyplan .t-studyline-add,
.features-treestudyplan .t-studyline-add {
    margin-top: 0.5em;
    margin-bottom: 1em;
}
.path-local-treestudyplan .t-studyline-title,
.path-local-treestudyplan .r-studyline-title,
.features-treestudyplan .t-studyline-title,
.features-treestudyplan .r-studyline-title {
    padding-top: 5px;
    padding-left: 10px;
    width: 150px;
    white-space: nowrap;
    border-color: rgba(0, 0, 0, 0.125);
    border-width: 1px;
    border-left-style: solid;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.path-local-treestudyplan .t-studyline-title abbr,
.path-local-treestudyplan .r-studyline-title abbr,
.features-treestudyplan .t-studyline-title abbr,
.features-treestudyplan .r-studyline-title abbr {
    display: inline;
    vertical-align: middle;
    font-weight: bold;
    font-style: italic;
    cursor: default;
    width: fit-content;
}
.path-local-treestudyplan svg.empty-slot circle,
.features-treestudyplan svg.empty-slot circle {
    fill: transparent;
    stroke: #ccc;
    stroke-width: 4px;
    stroke-opacity: 0.5;
    stroke-dasharray: 4 4;
}
.path-local-treestudyplan ul.t-coursecat-list,
.path-local-treestudyplan ul.t-course-list,
.features-treestudyplan ul.t-coursecat-list,
.features-treestudyplan ul.t-course-list {
    margin-top: 0.5rem;
    padding-left: 0;
}
.path-local-treestudyplan ul.t-coursecat-list ul.t-coursecat-list,
.path-local-treestudyplan ul.t-coursecat-list ul.t-course-list,
.path-local-treestudyplan ul.t-course-list ul.t-coursecat-list,
.path-local-treestudyplan ul.t-course-list ul.t-course-list,
.features-treestudyplan ul.t-coursecat-list ul.t-coursecat-list,
.features-treestudyplan ul.t-coursecat-list ul.t-course-list,
.features-treestudyplan ul.t-course-list ul.t-coursecat-list,
.features-treestudyplan ul.t-course-list ul.t-course-list {
    padding-left: 1rem;
}
.path-local-treestudyplan ul.t-item-module-children,
.path-local-treestudyplan ul.t-coursecat-list li,
.path-local-treestudyplan ul.t-course-list li,
.features-treestudyplan ul.t-item-module-children,
.features-treestudyplan ul.t-coursecat-list li,
.features-treestudyplan ul.t-course-list li {
    list-style: none;
    padding-left: 0;
}
.path-local-treestudyplan li.t-item-course-gradeinfo,
.features-treestudyplan li.t-item-course-gradeinfo {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.path-local-treestudyplan span.t-item-course-chk-lbl,
.features-treestudyplan span.t-item-course-chk-lbl {
    font-size: 0.7em;
    display: inline-block;
    width: 4em;
}
.path-local-treestudyplan li.t-item-course-gradeinfo img,
.features-treestudyplan li.t-item-course-gradeinfo img {
    vertical-align: top;
    top: 3px;
    position: relative;
    max-width: 24px;
    max-height: 24px;
}
.path-local-treestudyplan li.t-coursecat-list-item i.t-caret,
.features-treestudyplan li.t-coursecat-list-item i.t-caret {
    width: 9px;
}
.path-local-treestudyplan .t-coursecat-heading,
.path-local-treestudyplan .t-course-heading,
.features-treestudyplan .t-coursecat-heading,
.features-treestudyplan .t-course-heading {
    min-width: 180px;
    max-width: 240px;
    display: inline-block;
}
.path-local-treestudyplan li.t-coursecat-list-item .draggable-course,
.path-local-treestudyplan li.t-course-list-item .draggable-course,
.features-treestudyplan li.t-coursecat-list-item .draggable-course,
.features-treestudyplan li.t-course-list-item .draggable-course {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.path-local-treestudyplan li.t-coursecat-list-item .draggable-course:hover,
.path-local-treestudyplan li.t-course-list-item .draggable-course:hover,
.features-treestudyplan li.t-coursecat-list-item .draggable-course:hover,
.features-treestudyplan li.t-course-list-item .draggable-course:hover {
    text-overflow: clip;
    white-space: normal;
    word-break: break-word;
}
.path-local-treestudyplan i.t-coursecat-list-item,
.features-treestudyplan i.t-coursecat-list-item {
    color: var(--coursecat-color);
}
.path-local-treestudyplan i.t-course-list-item,
.features-treestudyplan i.t-course-list-item {
    color: var(--course-color);
}
.path-local-treestudyplan ul.t-competency-list li,
.features-treestudyplan ul.t-competency-list li {
    list-style: none;
}
.path-local-treestudyplan .collapsed > .when-open,
.path-local-treestudyplan .not-collapsed > .when-closed,
.features-treestudyplan .collapsed > .when-open,
.features-treestudyplan .not-collapsed > .when-closed {
    display: none;
}
.path-local-treestudyplan .t-studyline-slot,
.path-local-treestudyplan .r-studyline-slot,
.features-treestudyplan .t-studyline-slot,
.features-treestudyplan .r-studyline-slot {
    width: 150px;
}
.path-local-treestudyplan .t-studyline-slot.filter,
.path-local-treestudyplan .r-studyline-slot.filter,
.features-treestudyplan .t-studyline-slot.filter,
.features-treestudyplan .r-studyline-slot.filter {
    width: 130px;
}
.path-local-treestudyplan .t-studyline-slot.filter:not(.t-studyline-slot-0).periodcount-1,
.path-local-treestudyplan .r-studyline-slot.filter:not(.t-studyline-slot-0).periodcount-1,
.features-treestudyplan .t-studyline-slot.filter:not(.t-studyline-slot-0).periodcount-1,
.features-treestudyplan .r-studyline-slot.filter:not(.t-studyline-slot-0).periodcount-1 {
    width: 490px;
}
.path-local-treestudyplan .t-studyline-slot:not(.filter).periodcount-1,
.path-local-treestudyplan .r-studyline-slot:not(.filter).periodcount-1,
.features-treestudyplan .t-studyline-slot:not(.filter).periodcount-1,
.features-treestudyplan .r-studyline-slot:not(.filter).periodcount-1 {
    width: 500px;
}
.path-local-treestudyplan .t-studyline-slot:not(.filter).periodcount-2,
.path-local-treestudyplan .r-studyline-slot:not(.filter).periodcount-2,
.features-treestudyplan .t-studyline-slot:not(.filter).periodcount-2,
.features-treestudyplan .r-studyline-slot:not(.filter).periodcount-2 {
    width: 365px;
}
.path-local-treestudyplan .t-studyline-slot:not(.filter).periodcount-3,
.path-local-treestudyplan .r-studyline-slot:not(.filter).periodcount-3,
.features-treestudyplan .t-studyline-slot:not(.filter).periodcount-3,
.features-treestudyplan .r-studyline-slot:not(.filter).periodcount-3 {
    width: 200px;
}
.path-local-treestudyplan .t-studyline-slot-spinner,
.features-treestudyplan .t-studyline-slot-spinner {
    margin-left: auto;
    margin-right: auto;
}
.path-local-treestudyplan .r-studyline-slot,
.features-treestudyplan .r-studyline-slot {
    min-height: 32px;
}
.path-local-treestudyplan .t-studyline-slot-0.filter .t-slot-item,
.path-local-treestudyplan .r-studyline-slot-0.filter .r-slot-item,
.features-treestudyplan .t-studyline-slot-0.filter .t-slot-item,
.features-treestudyplan .r-studyline-slot-0.filter .r-slot-item {
    margin-left: 0;
}
.path-local-treestudyplan .t-studyline-slot.t-studyline-slot-0,
.path-local-treestudyplan .r-studyline-slot.r-studyline-slot-0,
.features-treestudyplan .t-studyline-slot.t-studyline-slot-0,
.features-treestudyplan .r-studyline-slot.r-studyline-slot-0 {
    width: 75px;
}
.path-local-treestudyplan .t-studyline-slot.t-studyline-slot-0 .t-slot-drop.filter .t-slot-item,
.path-local-treestudyplan .r-studyline-slot.r-studyline-slot-0 .r-item-base,
.features-treestudyplan .t-studyline-slot.t-studyline-slot-0 .t-slot-drop.filter .t-slot-item,
.features-treestudyplan .r-studyline-slot.r-studyline-slot-0 .r-item-base {
    margin-left: 0;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.odd,
.path-local-treestudyplan .r-studyline-slot.gradable.current.odd,
.features-treestudyplan .t-studyline-slot.gradable.current.odd,
.features-treestudyplan .r-studyline-slot.gradable.current.odd {
    --hlcol: color-mix(in srgb, var(--color-lightish), var(--highlight-color) var(--highlight-mix));
    background-color: var(--hlcol);
    position: relative;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.odd:before,
.path-local-treestudyplan .r-studyline-slot.gradable.current.odd:before,
.features-treestudyplan .t-studyline-slot.gradable.current.odd:before,
.features-treestudyplan .r-studyline-slot.gradable.current.odd:before {
    --hlcol: color-mix(in srgb, var(--color-lightish), var(--highlight-color) var(--highlight-mix));
    box-shadow: -20px 0 10px -7px var(--hlcol) inset;
    content: " ";
    height: 100%;
    left: -20px;
    position: absolute;
    top: 0;
    width: 20px;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.odd:after,
.path-local-treestudyplan .r-studyline-slot.gradable.current.odd:after,
.features-treestudyplan .t-studyline-slot.gradable.current.odd:after,
.features-treestudyplan .r-studyline-slot.gradable.current.odd:after {
    --hlcol: color-mix(in srgb, var(--color-lightish), var(--highlight-color) var(--highlight-mix));
    box-shadow: 20px 0 10px -7px var(--hlcol) inset;
    content: " ";
    height: 100%;
    right: -20px;
    position: absolute;
    top: 0;
    width: 20px;
}
.path-local-treestudyplan .t-studyline-slot.lastlyr .t-slot-item,
.features-treestudyplan .t-studyline-slot.lastlyr .t-slot-item {
    margin-bottom: 0;
}
.path-local-treestudyplan .s-studyline-period-highlight,
.features-treestudyplan .s-studyline-period-highlight {
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 50000px;
    opacity: var(--highlight-mix);
    box-shadow: 0 0 10px 10px var(--highlight-color);
    background-color: var(--highlight-color);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    border: var(--highlight-color) 1px solid;
    z-index: 0;
    top: 0;
}
.path-local-treestudyplan .s-studyline-header-period p,
.features-treestudyplan .s-studyline-header-period p {
    position: relative;
    z-index: 2;
}
.path-local-treestudyplan .s-studyline-header-period abbr,
.features-treestudyplan .s-studyline-header-period abbr {
    cursor: default;
}
.path-local-treestudyplan .s-studyline-header-heading,
.features-treestudyplan .s-studyline-header-heading {
    white-space: nowrap;
    margin-top: 16px;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.even,
.path-local-treestudyplan .r-studyline-slot.gradable.current.even,
.features-treestudyplan .t-studyline-slot.gradable.current.even,
.features-treestudyplan .r-studyline-slot.gradable.current.even {
    --hlcol: color-mix(in srgb, var(--white), var(--highlight-color) var(--highlight-mix));
    background-color: var(--hlcol);
    position: relative;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.even:before,
.path-local-treestudyplan .r-studyline-slot.gradable.current.even:before,
.features-treestudyplan .t-studyline-slot.gradable.current.even:before,
.features-treestudyplan .r-studyline-slot.gradable.current.even:before {
    --hlcol: color-mix(in srgb, var(--white), var(--highlight-color) var(--highlight-mix));
    box-shadow: -20px 0 10px -7px var(--hlcol) inset;
    content: " ";
    height: 100%;
    left: -20px;
    position: absolute;
    top: 0;
    width: 20px;
}
.path-local-treestudyplan .simpleline,
.features-treestudyplan .simpleline {
    z-index: 20;
}
.path-local-treestudyplan .t-studyline-slot.gradable.current.even:after,
.path-local-treestudyplan .r-studyline-slot.gradable.current.even:after,
.features-treestudyplan .t-studyline-slot.gradable.current.even:after,
.features-treestudyplan .r-studyline-slot.gradable.current.even:after {
    --hlcol: color-mix(in srgb, var(--white), var(--highlight-color) var(--highlight-mix));
    box-shadow: 20px 0 10px -7px var(--hlcol) inset;
    content: " ";
    height: 100%;
    right: -20px;
    position: absolute;
    top: 0;
    width: 20px;
}
.path-local-treestudyplan .t-slot-drop,
.features-treestudyplan .t-slot-drop {
    min-height: 32px;
    height: 100%;
    min-width: 50px;
    opacity: 0.6;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    display: flex;
}
.path-local-treestudyplan .t-slot-drop > span,
.features-treestudyplan .t-slot-drop > span {
    text-align: center;
    display: none;
}
.path-local-treestudyplan .t-slot-drop.hiviz.drop-allowed,
.features-treestudyplan .t-slot-drop.hiviz.drop-allowed {
    min-height: 44px;
    background-color: var(--hiviz-dropslot-color);
}
.path-local-treestudyplan .t-slot-drop.hiviz.drop-allowed > span,
.features-treestudyplan .t-slot-drop.hiviz.drop-allowed > span {
    display: inline;
}
.path-local-treestudyplan .t-slot-drop.hiviz.drop-allowed.drop-in,
.features-treestudyplan .t-slot-drop.hiviz.drop-allowed.drop-in {
    background-color: var(--hiviz-hover-color);
}
.path-local-treestudyplan .t-slot-linedrop,
.features-treestudyplan .t-slot-linedrop {
    display: none;
}
.path-local-treestudyplan .t-slot-linedrop.type-allowed.drop-allowed,
.features-treestudyplan .t-slot-linedrop.type-allowed.drop-allowed {
    display: block;
    z-index: 50;
    opacity: 0.6;
    font-size: 12px;
    text-align: center;
}
.path-local-treestudyplan .t-slot-drop.competency,
.features-treestudyplan .t-slot-drop.competency {
    min-width: 100px;
}
.path-local-treestudyplan .t-slot-drop.filter,
.features-treestudyplan .t-slot-drop.filter {
    min-width: 50px;
}
.path-local-treestudyplan .t-slot-drop.secondary,
.features-treestudyplan .t-slot-drop.secondary {
    min-height: 5px;
}
.path-local-treestudyplan .t-slot-drop.secondary.drop-allowed,
.features-treestudyplan .t-slot-drop.secondary.drop-allowed {
    min-height: 5px;
}
.path-local-treestudyplan .t-slot-drop.secondary.drop-allowed.hiviz,
.features-treestudyplan .t-slot-drop.secondary.drop-allowed.hiviz {
    min-height: 44px;
}
.path-local-treestudyplan .t-item-deletebox,
.features-treestudyplan .t-item-deletebox {
    display: inline-block;
    width: 100px;
    text-align: center;
    visibility: hidden;
}
.path-local-treestudyplan .t-item-deletebox.drop-allowed,
.features-treestudyplan .t-item-deletebox.drop-allowed {
    visibility: visible;
    border-width: 1px;
    border-style: dashed;
    color: #f77;
}
.path-local-treestudyplan .t-item-deletebox.drop-in,
.features-treestudyplan .t-item-deletebox.drop-in {
    visibility: visible;
    border-style: solid;
    background-color: #fcc;
    color: #a00;
}
.path-local-treestudyplan .modal-dialog .modal-content,
.features-treestudyplan .modal-dialog .modal-content {
    background: white;
}
.path-local-treestudyplan .modal-dialog.modal-lg,
.features-treestudyplan .modal-dialog.modal-lg {
    max-width: 800px;
}
.path-local-treestudyplan .modal-dialog.modal-sm,
.features-treestudyplan .modal-dialog.modal-sm {
    max-width: 300px;
}
.path-local-treestudyplan .gradable .t-slot-item,
.path-local-treestudyplan .gradable .r-slot-item,
.features-treestudyplan .gradable .t-slot-item,
.features-treestudyplan .gradable .r-slot-item {
    width: 100%;
}
.path-local-treestudyplan .t-slot-item,
.path-local-treestudyplan .r-slot-item,
.features-treestudyplan .t-slot-item,
.features-treestudyplan .r-slot-item {
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
}
.path-local-treestudyplan .t-item-base,
.path-local-treestudyplan .r-item-base,
.features-treestudyplan .t-item-base,
.features-treestudyplan .r-item-base {
    align-self: center;
    position: relative;
}
.path-local-treestudyplan .t-item-connector-start,
.features-treestudyplan .t-item-connector-start {
    position: absolute;
    top: calc(50% - 5px);
    right: -1px;
    line-height: 0;
}
.path-local-treestudyplan .t-item-connector-start svg rect,
.features-treestudyplan .t-item-connector-start svg rect {
    cursor: crosshair;
    stroke-width: 1px;
    stroke: #3c3;
    fill: #3c3;
}
.path-local-treestudyplan .t-item-connector-start.deleteMode svg rect,
.features-treestudyplan .t-item-connector-start.deleteMode svg rect {
    stroke: #f70;
    fill: #f70;
}
.path-local-treestudyplan .t-item-connector-end,
.features-treestudyplan .t-item-connector-end {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: -1px;
    line-height: 0;
}
.path-local-treestudyplan .t-item-connector-end svg rect,
.features-treestudyplan .t-item-connector-end svg rect {
    stroke-width: 1px;
    stroke: #f00;
    fill: #f00;
}
.path-local-treestudyplan .sw-studyplan-toolbar,
.features-treestudyplan .sw-studyplan-toolbar {
    display: inline-block;
}
.path-local-treestudyplan .t-item-base .deletebox,
.features-treestudyplan .t-item-base .deletebox {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 5px;
    border-radius: 5px;
    padding: 3px;
    background-color: rgba(255, 255, 255, 0.4666666667);
    cursor: default;
    border-color: #ccc;
    border-width: 1px;
    border-style: solid;
    z-index: 20;
}
.path-local-treestudyplan .t-item-base .deletebox a,
.features-treestudyplan .t-item-base .deletebox a {
    display: block;
    margin: 3px;
}
.path-local-treestudyplan .t-item-base .t-item-contextview,
.features-treestudyplan .t-item-base .t-item-contextview {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 100%);
    bottom: 0;
    z-index: 25;
}
.path-local-treestudyplan .t-item-contextview .close-button,
.features-treestudyplan .t-item-contextview .close-button {
    float: right;
}
.path-local-treestudyplan #p-sidebar-wrapper .p-sidebar.shown,
.features-treestudyplan #p-sidebar-wrapper .p-sidebar.shown {
    display: flex;
    flex-direction: column;
}
.path-local-treestudyplan #p-sidebar-wrapper .p-sidebar.shown .t-toolbox-tabs,
.features-treestudyplan #p-sidebar-wrapper .p-sidebar.shown .t-toolbox-tabs {
    flex-grow: 4;
}
.path-local-treestudyplan .t-toolbox-tabs,
.features-treestudyplan .t-toolbox-tabs {
    display: flex;
    flex-direction: column;
}
.path-local-treestudyplan .t-toolbox-tabs .tab-content,
.features-treestudyplan .t-toolbox-tabs .tab-content {
    flex: 1 0 0;
    min-height: 0;
}
.path-local-treestudyplan .t-toolbox-tabs .tab-pane,
.features-treestudyplan .t-toolbox-tabs .tab-pane {
    height: 100%;
}
.path-local-treestudyplan .t-toolbox-courses,
.features-treestudyplan .t-toolbox-courses {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    height: 100%;
}
.path-local-treestudyplan .t-toolbox-courses > *,
.features-treestudyplan .t-toolbox-courses > * {
    min-width: 0;
    min-height: 0;
}
.path-local-treestudyplan .t-toolbox-courses .t-toolbox-courselist,
.features-treestudyplan .t-toolbox-courses .t-toolbox-courselist {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
}
.path-local-treestudyplan ul.t-flow,
.features-treestudyplan ul.t-flow {
    padding-left: 1rem;
}
.path-local-treestudyplan ul.t-flow li,
.features-treestudyplan ul.t-flow li {
    list-style: none;
}
.path-local-treestudyplan .t-item-filter,
.features-treestudyplan .t-item-filter {
    display: inline-block;
    height: 1em;
    padding: 0;
    margin: 0;
    text-align: left;
    font-size: 2em;
    vertical-align: top;
}
.path-local-treestudyplan .t-item-filter i,
.features-treestudyplan .t-item-filter i {
    vertical-align: top;
}
.path-local-treestudyplan .t-toolbox .t-item-filter,
.features-treestudyplan .t-toolbox .t-item-filter {
    font-size: 1em;
}
.path-local-treestudyplan .t-item-junction i,
.features-treestudyplan .t-item-junction i {
    color: var(--color-indetermined);
}
.path-local-treestudyplan .t-item-finish i,
.features-treestudyplan .t-item-finish i {
    color: var(--color-indetermined);
}
.path-local-treestudyplan .t-item-start i,
.features-treestudyplan .t-item-start i {
    color: var(--color-indetermined);
}
.path-local-treestudyplan .t-item-badge svg,
.features-treestudyplan .t-item-badge svg {
    color: var(--color-indetermined);
}
.path-local-treestudyplan .t-slot-drop.type-allowed,
.features-treestudyplan .t-slot-drop.type-allowed {
    border-color: var(--color-pass);
    border-style: dashed;
    border-width: 1px;
}
.path-local-treestudyplan .t-slot-drop.type-allowed.drop-forbidden,
.features-treestudyplan .t-slot-drop.type-allowed.drop-forbidden {
    border-color: var(--danger);
}
.path-local-treestudyplan .t-slot-drop.filter .t-item-base,
.features-treestudyplan .t-slot-drop.filter .t-item-base {
    display: inline-block;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1px;
}
.path-local-treestudyplan .t-studyline-slot-0.filter .t-slot-drop.filter .t-item-base,
.features-treestudyplan .t-studyline-slot-0.filter .t-slot-drop.filter .t-item-base {
    margin-left: 0;
}
.path-local-treestudyplan a.t-item-config,
.features-treestudyplan a.t-item-config {
    position: absolute;
    top: -10px;
    right: -5px;
}
.path-local-treestudyplan a.t-item-config.badge-item,
.features-treestudyplan a.t-item-config.badge-item {
    top: -5px;
    right: -5px;
    font-size: 16px;
    background-color: transparent;
}
.path-local-treestudyplan a.t-item-course-config,
.features-treestudyplan a.t-item-course-config {
    font-size: 21px;
    vertical-align: middle;
    float: none;
    margin-right: 2px;
    margin-top: 0;
}
.path-local-treestudyplan .t-item-connector-end,
.features-treestudyplan .t-item-connector-end {
    visibility: hidden;
}
.path-local-treestudyplan .t-item-connector-end.type-allowed.drop-allowed,
.features-treestudyplan .t-item-connector-end.type-allowed.drop-allowed {
    visibility: visible;
}
.path-local-treestudyplan .t-item-connector-drop.drop-allowed .t-item-course,
.features-treestudyplan .t-item-connector-drop.drop-allowed .t-item-course {
    background-color: #dfd;
}
.path-local-treestudyplan .t-item-connector-drop.drop-allowed .t-item-badge .t-badge-backdrop,
.features-treestudyplan .t-item-connector-drop.drop-allowed .t-item-badge .t-badge-backdrop {
    color: #7d7;
}
.path-local-treestudyplan .t-item-connector-drop.drop-allowed .t-item-junction i,
.path-local-treestudyplan .t-item-connector-drop.drop-allowed .t-item-finish i,
.path-local-treestudyplan .t-item-connector-drop.drop-allowed .t-item-start i,
.features-treestudyplan .t-item-connector-drop.drop-allowed .t-item-junction i,
.features-treestudyplan .t-item-connector-drop.drop-allowed .t-item-finish i,
.features-treestudyplan .t-item-connector-drop.drop-allowed .t-item-start i {
    color: #7d7;
}
.path-local-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-course,
.features-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-course {
    background-color: #fdd;
}
.path-local-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-badge .t-badge-backdrop,
.features-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-badge .t-badge-backdrop {
    color: #d77;
}
.path-local-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-junction i,
.path-local-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-finish i,
.path-local-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-start i,
.features-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-junction i,
.features-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-finish i,
.features-treestudyplan .t-item-connector-drop.drop-forbidden .t-item-start i {
    color: #d77;
}
.path-local-treestudyplan ul.t-badges,
.features-treestudyplan ul.t-badges {
    padding-left: 0;
}
.path-local-treestudyplan .t-toolbox-badges,
.features-treestudyplan .t-toolbox-badges {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.path-local-treestudyplan .t-toolbox-badges .tab-content,
.features-treestudyplan .t-toolbox-badges .tab-content {
    flex: 1 0 0;
    min-height: 0;
    height: 100%;
}
.path-local-treestudyplan .t-toolbox-badges .tab-content .tab-pane.active,
.features-treestudyplan .t-toolbox-badges .tab-content .tab-pane.active {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.path-local-treestudyplan .t-toolbox-badges .tab-content .tab-pane.active .t-toolbox-badges-list,
.features-treestudyplan .t-toolbox-badges .tab-content .tab-pane.active .t-toolbox-badges-list {
    height: 100%;
    min-height: 0;
    flex: 1 1 0;
    overflow-y: auto;
}
.path-local-treestudyplan .t-badges li,
.features-treestudyplan .t-badges li {
    list-style: none;
}
.path-local-treestudyplan .t-badges .t-badge-drag,
.features-treestudyplan .t-badges .t-badge-drag {
    display: inline;
}
.path-local-treestudyplan .t-badges .t-badge-drag span.disabled,
.features-treestudyplan .t-badges .t-badge-drag span.disabled {
    opacity: 0.4;
}
.path-local-treestudyplan .t-badges img,
.features-treestudyplan .t-badges img {
    width: 32px;
    height: 32px;
}
.path-local-treestudyplan .t-badges img.disabled,
.features-treestudyplan .t-badges img.disabled {
    filter: grayscale(100%);
    opacity: 0.4;
}
.path-local-treestudyplan .t-item-badge,
.features-treestudyplan .t-item-badge {
    width: 50px;
    height: 50px;
    position: relative;
    margin-top: 3px;
}
.path-local-treestudyplan .t-item-badge img.badge-image,
.features-treestudyplan .t-item-badge img.badge-image {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.path-local-treestudyplan .t-item-badge svg.t-badge-backdrop,
.features-treestudyplan .t-item-badge svg.t-badge-backdrop {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.path-local-treestudyplan .t-badge-criteria-requirement,
.features-treestudyplan .t-badge-criteria-requirement {
    color: var(--gray);
}
.path-local-treestudyplan .r-report-tabs .list-group-item-action,
.features-treestudyplan .r-report-tabs .list-group-item-action {
    width: inherit;
}
.path-local-treestudyplan .r-studyplan-tab,
.path-local-treestudyplan .t-studyplan-tab,
.features-treestudyplan .r-studyplan-tab,
.features-treestudyplan .t-studyplan-tab {
    width: auto;
    overflow-x: auto;
}
.path-local-treestudyplan .t-studyline-drag:nth-child(odd) .t-studyline div,
.path-local-treestudyplan .t-studyline-heading.odd,
.path-local-treestudyplan .r-studyline-heading.odd,
.path-local-treestudyplan .t-studyline-slot.odd,
.path-local-treestudyplan .r-studyline-slot.odd,
.features-treestudyplan .t-studyline-drag:nth-child(odd) .t-studyline div,
.features-treestudyplan .t-studyline-heading.odd,
.features-treestudyplan .r-studyline-heading.odd,
.features-treestudyplan .t-studyline-slot.odd,
.features-treestudyplan .r-studyline-slot.odd {
    background-color: var(--color-lightish);
}
.path-local-treestudyplan .t-studyline-drag:nth-child(even) .t-studyline div,
.path-local-treestudyplan .t-studyline-heading.even,
.path-local-treestudyplan .r-studyline-heading.even,
.path-local-treestudyplan .t-studyline-slot.even,
.path-local-treestudyplan .r-studyline-slot.even,
.features-treestudyplan .t-studyline-drag:nth-child(even) .t-studyline div,
.features-treestudyplan .t-studyline-heading.even,
.features-treestudyplan .r-studyline-heading.even,
.features-treestudyplan .t-studyline-slot.even,
.features-treestudyplan .r-studyline-slot.even {
    background-color: var(--white);
}
.path-local-treestudyplan .t-studyline-drag:first-child,
.path-local-treestudyplan .t-studyline-heading.first,
.path-local-treestudyplan .t-studyline-slot.first,
.path-local-treestudyplan .r-studyline-heading.first,
.path-local-treestudyplan .r-studyline-slot.first,
.features-treestudyplan .t-studyline-drag:first-child,
.features-treestudyplan .t-studyline-heading.first,
.features-treestudyplan .t-studyline-slot.first,
.features-treestudyplan .r-studyline-heading.first,
.features-treestudyplan .r-studyline-slot.first {
    border-top-style: solid;
}
.path-local-treestudyplan .t-studyline-drag:last-child,
.path-local-treestudyplan .t-studyline-heading.last,
.path-local-treestudyplan .t-studyline-slot.last.newlyr,
.path-local-treestudyplan .r-studyline-heading.last,
.path-local-treestudyplan .r-studyline-slot.last.lastlyr,
.features-treestudyplan .t-studyline-drag:last-child,
.features-treestudyplan .t-studyline-heading.last,
.features-treestudyplan .t-studyline-slot.last.newlyr,
.features-treestudyplan .r-studyline-heading.last,
.features-treestudyplan .r-studyline-slot.last.lastlyr {
    border-bottom-style: solid;
}
.path-local-treestudyplan .s-studyline-header-period,
.features-treestudyplan .s-studyline-header-period {
    position: relative;
    text-align: center;
    padding-top: 5px;
    margin-top: 16px; /* To allow for box shadow on highlighted period */
}
.path-local-treestudyplan .s-studyline-header-period p,
.features-treestudyplan .s-studyline-header-period p {
    margin-bottom: 0;
}
.path-local-treestudyplan .s-studyline-header-period-datespan,
.features-treestudyplan .s-studyline-header-period-datespan {
    white-space: nowrap;
}
.path-local-treestudyplan .s-studyline-header-period-datespan .date,
.features-treestudyplan .s-studyline-header-period-datespan .date {
    font-weight: bold;
}
.path-local-treestudyplan .s-studyline-header-period-datespan.small,
.features-treestudyplan .s-studyline-header-period-datespan.small {
    font-size: 9px;
}
.path-local-treestudyplan .t-studyline-slot.rightmost,
.path-local-treestudyplan .r-studyline-slot.rightmost,
.features-treestudyplan .t-studyline-slot.rightmost,
.features-treestudyplan .r-studyline-slot.rightmost {
    border-right-style: solid;
}
.path-local-treestudyplan .t-studyline-handle,
.path-local-treestudyplan .r-studyline-handle,
.features-treestudyplan .t-studyline-handle,
.features-treestudyplan .r-studyline-handle {
    width: 10px;
    height: 100%;
    border-left-style: solid;
    border-width: 1px;
    border-color: rgba(0, 0, 0, 0.125);
}
.path-local-treestudyplan .gradable .r-item-base,
.features-treestudyplan .gradable .r-item-base {
    width: 100%;
}
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper {
    display: grid;
    grid-template-columns: 7px 1fr 26px;
    width: 100%;
}
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .t-timing-indicator,
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .r-timing-indicator,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .t-timing-indicator,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .r-timing-indicator,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .t-timing-indicator,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .r-timing-indicator,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .t-timing-indicator,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .r-timing-indicator {
    padding-top: 0;
}
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-title,
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-title,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-title,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-title,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-title,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-title,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-title,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-title {
    padding-top: 5px;
    overflow: hidden;
}
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-indicator,
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-indicator,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-indicator,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-indicator,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-indicator,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-indicator,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-indicator,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-indicator {
    padding-top: 6px;
    padding-right: 5px;
}
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-indicator .t-item-course-config,
.path-local-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-indicator .t-item-course-config,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-indicator .t-item-course-config,
.path-local-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-indicator .t-item-course-config,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .t-item-course-indicator .t-item-course-config,
.features-treestudyplan .t-item-course .t-item-course-cardwrapper .r-item-course-indicator .t-item-course-config,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .t-item-course-indicator .t-item-course-config,
.features-treestudyplan .r-item-course .r-item-course-cardwrapper .r-item-course-indicator .t-item-course-config {
    position: relative;
    top: -4px;
}
.path-local-treestudyplan .t-item-invalid .card-body,
.path-local-treestudyplan .r-item-invalid .card-body,
.path-local-treestudyplan .t-item-competency .card-body,
.path-local-treestudyplan .t-item-course .card-body,
.path-local-treestudyplan .r-item-course .card-body,
.features-treestudyplan .t-item-invalid .card-body,
.features-treestudyplan .r-item-invalid .card-body,
.features-treestudyplan .t-item-competency .card-body,
.features-treestudyplan .t-item-course .card-body,
.features-treestudyplan .r-item-course .card-body {
    padding: 3px;
    padding-left: 5px;
    padding-right: 5px;
    margin-top: 2px;
    margin-bottom: 2px;
}
.path-local-treestudyplan .r-item-invalid .card-body,
.path-local-treestudyplan .t-item-invalid .card-body,
.features-treestudyplan .r-item-invalid .card-body,
.features-treestudyplan .t-item-invalid .card-body {
    color: darkred;
}
.path-local-treestudyplan .r-item-filter,
.features-treestudyplan .r-item-filter {
    display: inline-block;
    padding: 0;
    text-align: left;
    font-size: 2em;
    vertical-align: top;
    height: 1em;
}
.path-local-treestudyplan .r-item-filter i,
.features-treestudyplan .r-item-filter i {
    vertical-align: top;
}
.path-local-treestudyplan .r-item-start i,
.features-treestudyplan .r-item-start i {
    color: var(--color-pass);
}
.path-local-treestudyplan .r-item-badge i,
.features-treestudyplan .r-item-badge i {
    color: var(---color-indetermined);
}
.path-local-treestudyplan .r-badges li,
.features-treestudyplan .r-badges li {
    list-style: none;
}
.path-local-treestudyplan .r-badges .r-badge-drag,
.features-treestudyplan .r-badges .r-badge-drag {
    display: inline;
}
.path-local-treestudyplan .r-badges img,
.features-treestudyplan .r-badges img {
    width: 32px;
    height: 32px;
}
.path-local-treestudyplan .r-item-badge,
.features-treestudyplan .r-item-badge {
    width: 50px;
    height: 50px;
    position: relative;
    margin-top: 3px;
}
.path-local-treestudyplan .r-item-badge img.badge-image,
.features-treestudyplan .r-item-badge img.badge-image {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.path-local-treestudyplan .r-item-badge svg.r-badge-backdrop,
.features-treestudyplan .r-item-badge svg.r-badge-backdrop {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.path-local-treestudyplan .r-item-badge svg.r-badge-backdrop circle,
.features-treestudyplan .r-item-badge svg.r-badge-backdrop circle {
    stroke: black;
    stroke-width: 2px;
    fill: #ccc;
}
.path-local-treestudyplan .r-item-module-children,
.features-treestudyplan .r-item-module-children {
    list-style: none;
}
.path-local-treestudyplan .r-item-start.completion-incomplete i,
.path-local-treestudyplan .r-completion-incomplete,
.features-treestudyplan .r-item-start.completion-incomplete i,
.features-treestudyplan .r-completion-incomplete {
    color: var(--color-incomplete);
}
.path-local-treestudyplan .r-completion-progress,
.features-treestudyplan .r-completion-progress {
    color: var(--color-progress);
}
.path-local-treestudyplan .r-completion-completed,
.path-local-treestudyplan .r-completion-complete-pass,
.features-treestudyplan .r-completion-completed,
.features-treestudyplan .r-completion-complete-pass {
    color: var(--color-pass);
}
.path-local-treestudyplan .r-completion-good,
.features-treestudyplan .r-completion-good {
    color: var(--color-good);
}
.path-local-treestudyplan .r-completion-excellent,
.path-local-treestudyplan .r-completion-complete,
.features-treestudyplan .r-completion-excellent,
.features-treestudyplan .r-completion-complete {
    color: var(--color-excellent);
}
.path-local-treestudyplan .r-completion-pending,
.features-treestudyplan .r-completion-pending {
    color: var(--color-pending);
}
.path-local-treestudyplan .r-completion-failed,
.path-local-treestudyplan .r-completion-complete-fail,
.features-treestudyplan .r-completion-failed,
.features-treestudyplan .r-completion-complete-fail {
    color: var(--danger);
}
.path-local-treestudyplan th.r-aggregation-all,
.features-treestudyplan th.r-aggregation-all {
    color: rgb(0, 32, 80);
}
.path-local-treestudyplan th.r-aggregation-any,
.features-treestudyplan th.r-aggregation-any {
    color: rgb(0, 46, 0);
}
.path-local-treestudyplan tr.r-completion-category-header,
.features-treestudyplan tr.r-completion-category-header {
    border-top-style: solid;
    border-top-width: 1px;
    border-color: rgb(127, 127, 127);
}
.path-local-treestudyplan .r-course-grading,
.features-treestudyplan .r-course-grading {
    font-size: 21px;
    margin-right: 2px;
    vertical-align: bottom;
}
.path-local-treestudyplan .r-course-graded,
.path-local-treestudyplan .r-course-result,
.features-treestudyplan .r-course-graded,
.features-treestudyplan .r-course-result {
    font-size: 21px;
    vertical-align: middle;
    float: right;
    top: -1px;
    position: relative;
}
.path-local-treestudyplan .r-progress-circle-popup,
.features-treestudyplan .r-progress-circle-popup {
    position: relative;
    top: 0.1em;
}
.path-local-treestudyplan .r-completion-detail-header,
.features-treestudyplan .r-completion-detail-header {
    font-size: 26px;
}
.path-local-treestudyplan .r-item-finish.completion-incomplete,
.path-local-treestudyplan .r-item-junction.completion-incomplete,
.features-treestudyplan .r-item-finish.completion-incomplete,
.features-treestudyplan .r-item-junction.completion-incomplete {
    color: var(--color-incomplete);
}
.path-local-treestudyplan .r-item-finish.completion-progress,
.path-local-treestudyplan .r-item-junction.completion-progress,
.features-treestudyplan .r-item-finish.completion-progress,
.features-treestudyplan .r-item-junction.completion-progress {
    color: var(--color-progress);
}
.path-local-treestudyplan .r-item-finish.completion-completed,
.path-local-treestudyplan .r-item-junction.completion-completed,
.features-treestudyplan .r-item-finish.completion-completed,
.features-treestudyplan .r-item-junction.completion-completed {
    color: var(--color-pass);
}
.path-local-treestudyplan .r-item-finish.completion-good,
.path-local-treestudyplan .r-item-junction.completion-good,
.features-treestudyplan .r-item-finish.completion-good,
.features-treestudyplan .r-item-junction.completion-good {
    color: var(--color-good);
}
.path-local-treestudyplan .r-item-finish.completion-excellent,
.path-local-treestudyplan .r-item-junction.completion-excellent,
.features-treestudyplan .r-item-finish.completion-excellent,
.features-treestudyplan .r-item-junction.completion-excellent {
    color: var(--color-excellent);
}
.path-local-treestudyplan .r-item-finish.completion-failed,
.path-local-treestudyplan .r-item-junction.completion-failed,
.features-treestudyplan .r-item-finish.completion-failed,
.features-treestudyplan .r-item-junction.completion-failed {
    color: var(--danger);
}
.path-local-treestudyplan .r-activity-icon,
.features-treestudyplan .r-activity-icon {
    position: relative;
    top: -2px;
}
.path-local-treestudyplan table.r-item-course-grade-details td,
.features-treestudyplan table.r-item-course-grade-details td {
    padding-right: 3px;
}
.path-local-treestudyplan .r-course-detail-header-right,
.features-treestudyplan .r-course-detail-header-right {
    width: 260px;
    text-align: end;
}
.path-local-treestudyplan .r-timing-invalid,
.path-local-treestudyplan .t-timing-invalid,
.features-treestudyplan .r-timing-invalid,
.features-treestudyplan .t-timing-invalid {
    color: var(--danger);
}
.path-local-treestudyplan .t-timing-past,
.path-local-treestudyplan .r-timing-past,
.features-treestudyplan .t-timing-past,
.features-treestudyplan .r-timing-past {
    color: var(--color-past);
}
.path-local-treestudyplan .t-timing-present,
.path-local-treestudyplan .r-timing-present,
.features-treestudyplan .t-timing-present,
.features-treestudyplan .r-timing-present {
    color: var(--color-present);
}
.path-local-treestudyplan .t-timing-future,
.path-local-treestudyplan .r-timing-future,
.features-treestudyplan .t-timing-future,
.features-treestudyplan .r-timing-future {
    color: var(--color-future);
}
.path-local-treestudyplan .t-timing-indicator,
.path-local-treestudyplan .r-timing-indicator,
.features-treestudyplan .t-timing-indicator,
.features-treestudyplan .r-timing-indicator {
    border-color: rgba(0, 0, 0, 0.125);
    width: 7px;
    display: inline-block;
    height: 100%;
    border-width: 1px;
    border-top-left-radius: 3.5px;
    border-bottom-left-radius: 3.5px;
}
.path-local-treestudyplan .t-timing-indicator.timing-invalid,
.path-local-treestudyplan .r-timing-indicator.timing-invalid,
.features-treestudyplan .t-timing-indicator.timing-invalid,
.features-treestudyplan .r-timing-indicator.timing-invalid {
    background-color: var(--danger);
}
.path-local-treestudyplan .t-timing-indicator.timing-past,
.path-local-treestudyplan .r-timing-indicator.timing-past,
.features-treestudyplan .t-timing-indicator.timing-past,
.features-treestudyplan .r-timing-indicator.timing-past {
    background-color: var(--color-past);
}
.path-local-treestudyplan .t-timing-indicator.timing-present,
.path-local-treestudyplan .r-timing-indicator.timing-present,
.features-treestudyplan .t-timing-indicator.timing-present,
.features-treestudyplan .r-timing-indicator.timing-present {
    background-color: var(--color-present);
}
.path-local-treestudyplan .t-timing-indicator.timing-future,
.path-local-treestudyplan .r-timing-indicator.timing-future,
.features-treestudyplan .t-timing-indicator.timing-future,
.features-treestudyplan .r-timing-indicator.timing-future {
    background-color: var(--color-future);
}
.path-local-treestudyplan .r-course-am-teacher,
.features-treestudyplan .r-course-am-teacher {
    box-shadow: 0 0 3px 3px rgba(255, 224, 0, 0.5);
}
.path-local-treestudyplan .r-graded-unknown,
.features-treestudyplan .r-graded-unknown {
    color: rgb(139, 107, 0);
}
.path-local-treestudyplan .r-graded-unsubmitted,
.features-treestudyplan .r-graded-unsubmitted {
    color: var(--color-incomplete);
}
.path-local-treestudyplan .r-graded-ungraded,
.features-treestudyplan .r-graded-ungraded {
    color: var(--danger);
}
.path-local-treestudyplan .r-graded-allgraded,
.features-treestudyplan .r-graded-allgraded {
    color: var(--color-excellent);
}
.path-local-treestudyplan .r-graded-graded,
.features-treestudyplan .r-graded-graded {
    color: var(--color-pass);
}
.path-local-treestudyplan .r-graded-nogrades,
.features-treestudyplan .r-graded-nogrades {
    color: var(--color-light);
}
.path-local-treestudyplan .t-configured-ok,
.features-treestudyplan .t-configured-ok {
    color: var(--color-pass);
}
.path-local-treestudyplan .t-configured-alert,
.features-treestudyplan .t-configured-alert {
    color: var(--color-warning);
}
.path-local-treestudyplan .t-not-enrolled-alert,
.features-treestudyplan .t-not-enrolled-alert {
    color: var(--color-infoalert);
}
.path-local-treestudyplan .r-grading-bar,
.features-treestudyplan .r-grading-bar {
    display: inline-block;
    white-space: nowrap;
    height: min-content;
}
.path-local-treestudyplan .r-grading-bar-segment,
.features-treestudyplan .r-grading-bar-segment {
    border-color: #aaa;
    border-width: 1px;
    display: inline-block;
    border-bottom-style: solid;
    border-top-style: solid;
}
.path-local-treestudyplan .r-grading-bar-segment:first-child,
.features-treestudyplan .r-grading-bar-segment:first-child {
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
    border-left-style: solid;
}
.path-local-treestudyplan .r-grading-bar-segment:last-child,
.features-treestudyplan .r-grading-bar-segment:last-child {
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    border-right-style: solid;
}
.path-local-treestudyplan .r-grading-bar-unsubmitted,
.features-treestudyplan .r-grading-bar-unsubmitted {
    background-color: var(--gradingbar-color-unsubmitted);
}
.path-local-treestudyplan .r-grading-bar-graded,
.features-treestudyplan .r-grading-bar-graded {
    background-color: var(--gradingbar-color-graded);
}
.path-local-treestudyplan .r-grading-bar-ungraded,
.features-treestudyplan .r-grading-bar-ungraded {
    background-color: var(--gradingbar-color-ungraded);
}
.path-local-treestudyplan .r-completion-bar-incomplete,
.features-treestudyplan .r-completion-bar-incomplete {
    background-color: var(--statbar-color-incomplete);
}
.path-local-treestudyplan .r-completion-bar-completed,
.features-treestudyplan .r-completion-bar-completed {
    background-color: var(--statbar-color-completed);
}
.path-local-treestudyplan .r-completion-bar-completed-pass,
.features-treestudyplan .r-completion-bar-completed-pass {
    background-color: var(--statbar-color-pass);
}
.path-local-treestudyplan .r-completion-bar-completed-fail,
.features-treestudyplan .r-completion-bar-completed-fail {
    background-color: var(--statbar-color-fail);
}
.path-local-treestudyplan .r-completion-bar-ungraded,
.features-treestudyplan .r-completion-bar-ungraded {
    background-color: var(--statbar-color-ungraded);
}
.path-local-treestudyplan .s-studyplan-associate-window .custom-select,
.features-treestudyplan .s-studyplan-associate-window .custom-select {
    width: 100%;
    max-width: 100%;
}
.path-local-treestudyplan .s-required,
.features-treestudyplan .s-required {
    color: var(--color-danger);
}
.path-local-treestudyplan .s-required.complete,
.features-treestudyplan .s-required.complete {
    color: var(--color-info);
}
.path-local-treestudyplan .s-required.complete-pass,
.path-local-treestudyplan .s-required.good,
.path-local-treestudyplan .s-required.excellent,
.path-local-treestudyplan .s-required.allgraded,
.features-treestudyplan .s-required.complete-pass,
.features-treestudyplan .s-required.good,
.features-treestudyplan .s-required.excellent,
.features-treestudyplan .s-required.allgraded {
    color: var(--color-pass);
}
.path-local-treestudyplan .s-required.neutral,
.features-treestudyplan .s-required.neutral {
    color: #aaa;
}
.path-local-treestudyplan .r-tooltip.warning .tooltip-inner,
.features-treestudyplan .r-tooltip.warning .tooltip-inner {
    background-color: color-mix(in srgb, var(--color-warning) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.warning .arrow::before,
.features-treestudyplan .r-tooltip.warning .arrow::before {
    border-right-color: color-mix(in srgb, var(--color-warning) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.info .tooltip-inner,
.features-treestudyplan .r-tooltip.info .tooltip-inner {
    background-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.info .arrow::before,
.features-treestudyplan .r-tooltip.info .arrow::before {
    border-right-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.incomplete .tooltip-inner,
.path-local-treestudyplan .r-tooltip.complete-fail .tooltip-inner,
.path-local-treestudyplan .r-tooltip.completed-fail .tooltip-inner,
.features-treestudyplan .r-tooltip.incomplete .tooltip-inner,
.features-treestudyplan .r-tooltip.complete-fail .tooltip-inner,
.features-treestudyplan .r-tooltip.completed-fail .tooltip-inner {
    background-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.incomplete .arrow::before,
.path-local-treestudyplan .r-tooltip.complete-fail .arrow::before,
.path-local-treestudyplan .r-tooltip.completed-fail .arrow::before,
.features-treestudyplan .r-tooltip.incomplete .arrow::before,
.features-treestudyplan .r-tooltip.complete-fail .arrow::before,
.features-treestudyplan .r-tooltip.completed-fail .arrow::before {
    border-right-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.complete .tooltip-inner,
.path-local-treestudyplan .r-tooltip.completed .tooltip-inner,
.features-treestudyplan .r-tooltip.complete .tooltip-inner,
.features-treestudyplan .r-tooltip.completed .tooltip-inner {
    background-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.complete .arrow::before,
.path-local-treestudyplan .r-tooltip.completed .arrow::before,
.features-treestudyplan .r-tooltip.complete .arrow::before,
.features-treestudyplan .r-tooltip.completed .arrow::before {
    border-right-color: color-mix(in srgb, var(--color-info) 60%, #000);
}
.path-local-treestudyplan .r-tooltip.complete-pass .tooltip-inner,
.path-local-treestudyplan .r-tooltip.completed-pass .tooltip-inner,
.features-treestudyplan .r-tooltip.complete-pass .tooltip-inner,
.features-treestudyplan .r-tooltip.completed-pass .tooltip-inner {
    background-color: var(--color-pass);
}
.path-local-treestudyplan .r-tooltip.complete-pass .arrow::before,
.path-local-treestudyplan .r-tooltip.completed-pass .arrow::before,
.features-treestudyplan .r-tooltip.complete-pass .arrow::before,
.features-treestudyplan .r-tooltip.completed-pass .arrow::before {
    border-right-color: var(--color-pass);
}
.path-local-treestudyplan .m-buttonbar,
.features-treestudyplan .m-buttonbar {
    display: flex;
    align-items: center;
    justify-content: left;
}
.path-local-treestudyplan .m-buttonbar a,
.path-local-treestudyplan .m-buttonbar span,
.path-local-treestudyplan .m-buttonbar i,
.features-treestudyplan .m-buttonbar a,
.features-treestudyplan .m-buttonbar span,
.features-treestudyplan .m-buttonbar i {
    vertical-align: middle;
    display: inline;
}
.path-local-treestudyplan .m-buttonbar a,
.features-treestudyplan .m-buttonbar a {
    margin-right: 1em;
}
.path-local-treestudyplan .s-edit-mod-form [data-fieldtype=submit],
.features-treestudyplan .s-edit-mod-form [data-fieldtype=submit] {
    /* if not working, make selector more specific */
    display: none;
}
.path-local-treestudyplan .s-edit-mod-form.genericonly form > fieldset:not(#id_general),
.features-treestudyplan .s-edit-mod-form.genericonly form > fieldset:not(#id_general) {
    /* if not working, make selector more specific */
    display: none;
}
.path-local-treestudyplan .border-grey,
.features-treestudyplan .border-grey {
    border-color: #aaa;
}
.path-local-treestudyplan .s-studyplan-page-edit,
.path-local-treestudyplan .t-tab-extra,
.features-treestudyplan .s-studyplan-page-edit,
.features-treestudyplan .t-tab-extra {
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 0.5em;
}
.path-local-treestudyplan table.t-item-course-competency-list,
.features-treestudyplan table.t-item-course-competency-list {
    width: 100%;
}
.path-local-treestudyplan table.t-item-course-competency-list td,
.features-treestudyplan table.t-item-course-competency-list td {
    padding-right: 1em;
}
.path-local-treestudyplan table.t-item-course-competency-list td.details,
.features-treestudyplan table.t-item-course-competency-list td.details {
    width: 100%;
}
.path-local-treestudyplan table.r-item-course-competency-list td,
.features-treestudyplan table.r-item-course-competency-list td {
    padding-right: 1em;
}
.path-local-treestudyplan header.modal-header.r-item-course-header,
.features-treestudyplan header.modal-header.r-item-course-header {
    display: block;
    padding-bottom: 0.2rem;
}
.path-local-treestudyplan header.modal-header.r-item-course-header .s-studyplan-card-progressbar,
.features-treestudyplan header.modal-header.r-item-course-header .s-studyplan-card-progressbar {
    margin-top: 0.5em;
}
.path-local-treestudyplan div.r-item-course-header-details,
.features-treestudyplan div.r-item-course-header-details {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.path-local-treestudyplan div.r-item-course-header-details:last-child,
.features-treestudyplan div.r-item-course-header-details:last-child {
    margin-bottom: 0.3rem;
}
.path-local-treestudyplan .s-prevnext-selector,
.features-treestudyplan .s-prevnext-selector {
    display: inline-block;
}
.path-local-treestudyplan .s-prevnext-selector i.s-prevnext-arrow,
.features-treestudyplan .s-prevnext-selector i.s-prevnext-arrow {
    position: relative;
    top: -3px;
}
.path-local-treestudyplan table.r-line-enroll-userlist td,
.path-local-treestudyplan table.r-line-enroll-userlist th,
.features-treestudyplan table.r-line-enroll-userlist td,
.features-treestudyplan table.r-line-enroll-userlist th {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.path-local-treestudyplan table.r-line-enroll-userlist th,
.features-treestudyplan table.r-line-enroll-userlist th {
    background: white;
    position: sticky;
    top: 0; /* Don't forget this, required for the stickiness */
    border-bottom: 1px solid #ddd;
}
.path-local-treestudyplan table.r-line-enroll-userlist tr:nth-child(odd),
.features-treestudyplan table.r-line-enroll-userlist tr:nth-child(odd) {
    background-color: var(--color-light);
}
.path-local-treestudyplan .r-item-dummy-course span.r-timing-indicator.timing-dummy,
.features-treestudyplan .r-item-dummy-course span.r-timing-indicator.timing-dummy {
    background-color: #ccc;
}
.path-local-treestudyplan .r-item-dummy-course .card,
.features-treestudyplan .r-item-dummy-course .card {
    filter: blur(4px);
    background-color: #ddd;
    border-color: #ddd;
}
.path-local-treestudyplan .r-item-dummy-badge,
.features-treestudyplan .r-item-dummy-badge {
    filter: blur(4px);
    color: #ddd;
}
.path-local-treestudyplan .r-item-dummy-badge i,
.features-treestudyplan .r-item-dummy-badge i {
    font-size: 50px;
}
.path-local-treestudyplan .r-item-dummy-filter,
.features-treestudyplan .r-item-dummy-filter {
    filter: blur(4px);
    color: #ddd;
}
.path-local-treestudyplan .r-item-dummy-filter i,
.features-treestudyplan .r-item-dummy-filter i {
    font-size: 32px;
}
.path-local-treestudyplan svg.r-dummy-line.simpleline,
.features-treestudyplan svg.r-dummy-line.simpleline {
    filter: blur(4px);
}

.path-local-treestudyplan .card.s-studyplan-card,
.features-treestudyplan .card.s-studyplan-card {
    min-width: 400px;
    max-width: 400px;
    margin-bottom: 1em;
}
.path-local-treestudyplan.path-local-treestudyplan-edit .card.s-studyplan-card,
.features-treestudyplan.path-local-treestudyplan-edit .card.s-studyplan-card {
    min-width: 450px;
    max-width: 450px;
}
.path-local-treestudyplan .card.s-studyplan-card.card-body,
.features-treestudyplan .card.s-studyplan-card.card-body {
    padding: 0.75rem;
    padding-bottom: 0.5rem;
}
.path-local-treestudyplan .card.s-studyplan-card.s-suspended .card-body,
.features-treestudyplan .card.s-studyplan-card.s-suspended .card-body {
    background-color: #eee;
}
.path-local-treestudyplan .card.s-studyplan-card.s-suspended .card-footer,
.features-treestudyplan .card.s-studyplan-card.s-suspended .card-footer {
    background-color: #ddd;
}
.path-local-treestudyplan .card.s-studyplan-card.timing-past .card-header,
.features-treestudyplan .card.s-studyplan-card.timing-past .card-header {
    background-color: var(--color-past);
}
.path-local-treestudyplan .card.s-studyplan-card.timing-present .card-header,
.features-treestudyplan .card.s-studyplan-card.timing-present .card-header {
    background-color: var(--color-present);
}
.path-local-treestudyplan .card.s-studyplan-card.timing-future .card-header,
.features-treestudyplan .card.s-studyplan-card.timing-future .card-header {
    background-color: var(--color-future);
}
.path-local-treestudyplan .s-studyplan-card-title-buttons,
.features-treestudyplan .s-studyplan-card-title-buttons {
    font-size: 16px;
    float: right;
    white-space: nowrap;
}
.path-local-treestudyplan .s-studyplan-card-title-buttons > *,
.features-treestudyplan .s-studyplan-card-title-buttons > * {
    margin-left: 0.2em;
    margin-right: 0.3em;
}
.path-local-treestudyplan .s-studyplan-card-buttons,
.features-treestudyplan .s-studyplan-card-buttons {
    float: right;
    display: flex;
    align-items: center;
    justify-content: right;
}
.path-local-treestudyplan .s-studyplan-card-buttons > *,
.features-treestudyplan .s-studyplan-card-buttons > * {
    margin-left: 1em;
}
.path-local-treestudyplan .s-studyplan-card-content,
.features-treestudyplan .s-studyplan-card-content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    height: 100%;
}
.path-local-treestudyplan .s-studyplan-card-icon img,
.features-treestudyplan .s-studyplan-card-icon img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}
.path-local-treestudyplan .s-studyplan-card-titlebar,
.features-treestudyplan .s-studyplan-card-titlebar {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 5px;
}
.path-local-treestudyplan .s-studyplan-card-titlebuttons,
.features-treestudyplan .s-studyplan-card-titlebuttons {
    margin-left: auto;
}
.path-local-treestudyplan .s-studyplan-card-info,
.features-treestudyplan .s-studyplan-card-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}
.path-local-treestudyplan .s-studyplan-card-info > :last-child:not(:only-child),
.features-treestudyplan .s-studyplan-card-info > :last-child:not(:only-child) {
    margin-top: auto;
}
.path-local-treestudyplan .s-studyplan-card-progressbar,
.features-treestudyplan .s-studyplan-card-progressbar {
    width: calc(100% - 2px);
    height: 16px;
}
.path-local-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment,
.features-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment {
    display: inline-block;
    height: 10px;
    border-top: solid;
    border-bottom: solid;
    border-color: var(--color-info);
    border-width: 1px;
}
.path-local-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment:first-child,
.features-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment:first-child {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-left: 1px solid var(--color-info);
}
.path-local-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment:last-child,
.features-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-segment:last-child {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-right: 1px solid var(--color-info);
}
.path-local-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-completed,
.features-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-completed {
    background-color: var(--color-info);
}
.path-local-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-incomplete,
.features-treestudyplan .s-studyplan-card-progressbar .s-studyplan-card-progress-incomplete {
    background-color: var(--color-light);
}
.path-local-treestudyplan .s-studyplan-card-progresstext,
.features-treestudyplan .s-studyplan-card-progresstext {
    font-size: 80%;
    color: var(--gray);
}
.path-local-treestudyplan .s-studyplan-details img,
.features-treestudyplan .s-studyplan-details img {
    width: 128px;
    height: 128px;
}
.path-local-treestudyplan .s-course-extrafields.above,
.features-treestudyplan .s-course-extrafields.above {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
.path-local-treestudyplan .s-course-extrafields.below,
.features-treestudyplan .s-course-extrafields.below {
    border-top: 1px solid #dee2e6;
    padding-top: 0.5em;
    margin-top: 0.5em;
}
.path-local-treestudyplan .s-course-extrafields .title,
.features-treestudyplan .s-course-extrafields .title {
    font-weight: bold;
    padding-right: 1em;
}
.path-local-treestudyplan .s-course-extrafields .value.true,
.features-treestudyplan .s-course-extrafields .value.true {
    color: var(--color-pass);
}
.path-local-treestudyplan .s-course-extrafields .value.false,
.features-treestudyplan .s-course-extrafields .value.false {
    color: var(--danger);
}

.path-local-treestudyplan {
    --border-color: #ccc;
    --conditions-bgcolor: #e7e7e7;
    --courseresult-bgcolor: white;
    --studentinfo-bgcolor: white;
}
.path-local-treestudyplan table.q-studyplanreport {
    table-layout: fixed;
    width: calc(24rem + var(--resultColCount) * 4rem);
}
.path-local-treestudyplan table.q-studyplanreport colgroup.q-col-studentinfo col.q-name {
    width: 14rem;
}
.path-local-treestudyplan table.q-studyplanreport colgroup.q-col-studentinfo col.q-lastaccess {
    width: 10rem;
}
.path-local-treestudyplan table.q-studyplanreport colgroup.q-col-resultinfo col {
    width: 4rem;
}
.path-local-treestudyplan .q-studentfilter {
    margin-top: 5px;
}
.path-local-treestudyplan .q-studentfilter input {
    display: inline;
    width: calc(100% - 2em);
}
.path-local-treestudyplan .q-studentfilter a {
    margin-left: 0.5em;
}
.path-local-treestudyplan .q-header {
    background-color: var(--courseresult-bgcolor);
}
.path-local-treestudyplan .q-header .q-period-heading,
.path-local-treestudyplan .q-header .q-line-heading,
.path-local-treestudyplan .q-header .q-item-heading,
.path-local-treestudyplan .q-header .q-condition-heading {
    border-right: 1px solid var(--border-color);
    border-top: 1px solid var(--border-color);
    padding: 0.5rem;
}
.path-local-treestudyplan .q-header .q-period-heading,
.path-local-treestudyplan .q-header .q-line-heading,
.path-local-treestudyplan .q-header .q-item-heading,
.path-local-treestudyplan .q-header .q-condition-heading.overall,
.path-local-treestudyplan .q-header .q-result.overall {
    background-color: var(--courseresult-bgcolor);
}
.path-local-treestudyplan .q-header .q-period-heading.collapsed {
    width: 6rem;
}
.path-local-treestudyplan .q-header .q-result {
    height: 2rem;
    padding-top: 0.25rem;
}
.path-local-treestudyplan .q-header .q-line-heading,
.path-local-treestudyplan .q-header .q-condition-heading {
    overflow: hidden;
    width: 2rem;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    height: 7rem;
}
.path-local-treestudyplan .q-header .q-line-heading .q-chevron,
.path-local-treestudyplan .q-header .q-condition-heading .q-chevron {
    text-orientation: initial;
    writing-mode: horizontal-tb;
}
.path-local-treestudyplan .q-header .q-period-heading,
.path-local-treestudyplan .q-header .q-line-heading,
.path-local-treestudyplan .q-header .q-condition-heading {
    vertical-align: top;
}
.path-local-treestudyplan .q-header .q-item-heading {
    vertical-align: top;
    width: 2rem;
}
.path-local-treestudyplan .q-header .q-line-heading > .q-wrap {
    display: inline-block;
    height: 7rem;
}
.path-local-treestudyplan .q-header .q-item-heading > .q-wrap {
    display: flex;
    height: 10rem;
    white-space: nowrap;
    flex-direction: column;
    overflow: hidden;
    gap: 2px;
}
.path-local-treestudyplan .q-header .q-item-heading > .q-wrap > * {
    min-height: 0;
}
.path-local-treestudyplan .q-header .q-item-heading > .q-wrap > .q-toggle {
    width: 100%;
    text-align: center;
}
.path-local-treestudyplan .q-header .q-item-heading > .q-wrap > .q-title {
    flex: 1 0 0;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    hyphens: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 0.5rem;
}
.path-local-treestudyplan .q-header .q-badgeimage {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid;
}
.path-local-treestudyplan .q-header .q-condition-heading {
    text-align: left;
    background: var(--conditions-bgcolor);
}
.path-local-treestudyplan .q-header .q-condition-heading > span.q-wrap {
    display: inline-block;
    height: 8rem;
}
.path-local-treestudyplan .q-header a.q-condition-label {
    text-decoration-line: underline;
    text-decoration-style: dotted;
    cursor: pointer;
    color: inherit; /* Don't force a color on this link */
}
.path-local-treestudyplan .q-header .q-studentinfo {
    padding: 0.5em;
    border: 1px solid var(--border-color);
    width: 12rem;
    background-color: var(--studentinfo-bgcolor);
    vertical-align: bottom;
    font-weight: normal;
}
.path-local-treestudyplan .q-header .q-studentinfo.q-name {
    white-space: nowrap;
}
.path-local-treestudyplan .q-groupheading td,
.path-local-treestudyplan .q-groupheading th {
    background-color: var(--studentinfo-bgcolor);
    padding: 0.5em;
    border: 1px solid var(--border-color);
}
.path-local-treestudyplan .q-groupheading td:first-child,
.path-local-treestudyplan .q-groupheading th:first-child {
    border-right: none;
}
.path-local-treestudyplan .q-groupheading td:last-child,
.path-local-treestudyplan .q-groupheading th:last-child {
    border-left: none;
}
.path-local-treestudyplan .q-inforow td,
.path-local-treestudyplan .q-inforow th {
    background-color: var(--studentinfo-bgcolor);
    padding: 0.5em;
    border: 1px solid var(--border-color);
}
.path-local-treestudyplan .q-student-results.odd td {
    background-color: var(--color-light);
}
.path-local-treestudyplan .q-student-results.odd td.q-result {
    background-color: var(--color-light);
}
.path-local-treestudyplan .q-student-results .q-result {
    text-align: center;
    vertical-align: middle;
    border: 1px solid var(--border-color);
    width: 4rem;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    background-color: var(--conditions-bgcolor);
}
.path-local-treestudyplan .q-student-results .q-result.overall,
.path-local-treestudyplan .q-student-results .q-result.collapsed {
    background-color: var(--courseresult-bgcolor);
}
.path-local-treestudyplan .q-student-results .q-result.collapsed {
    border-top: none;
    border-bottom: none;
}
.path-local-treestudyplan .q-student-results .q-studentinfo {
    padding: 0.5em;
    border: 1px solid var(--border-color);
    width: 12rem;
    background-color: var(--studentinfo-bgcolor);
}
.path-local-treestudyplan .q-student-results .q-courseresult i.fa,
.path-local-treestudyplan .q-student-results .q-conditionresult i.fa {
    font-size: 21px;
    vertical-align: middle;
}
.path-local-treestudyplan .q-student-results .q-conditionresult {
    font-size: 1.2rem;
    display: inline-block;
    width: 100%;
}
.path-local-treestudyplan .q-pageperiodselection {
    margin-left: 0;
    margin-bottom: 1em;
    margin-top: 1em;
    padding-left: 0;
    position: relative;
}
.path-local-treestudyplan .q-pageperiodselection .row {
    margin-top: 0.5rem;
}
.path-local-treestudyplan .q-pageperiodselection select.custom-select {
    width: 100%;
}
.path-local-treestudyplan .q-pageperiodselection .q-label {
    position: relative;
    top: 0.5em;
}
.path-local-treestudyplan .q-user-badge svg.q-badge-backdrop circle {
    stroke: black;
    stroke-width: 2px;
    fill: #ccc;
}

.path-local-treestudyplan,
.features-treestudyplan {
    /* do some overrides with sensible defaults below, just in case the variables are not defined */
    /* (Which does not seem to be the case in moodle 5.0rc) */
}
.path-local-treestudyplan .b-modal-justify-footer-between .modal-footer,
.features-treestudyplan .b-modal-justify-footer-between .modal-footer {
    justify-content: space-between;
}
.path-local-treestudyplan .collapse.show,
.features-treestudyplan .collapse.show {
    height: auto;
}
.path-local-treestudyplan select.custom-select,
.features-treestudyplan select.custom-select {
    /* Options below were removed in bootstrap 5, but are preferred for the studyplan layouts */
    width: auto;
    max-width: 100%;
}
.path-local-treestudyplan .modal-header .close,
.features-treestudyplan .modal-header .close {
    /* Line out the close button to the right again */
    /* Probably no longer needed when switching to boostrap-vue-next */
    margin: -0.8rem -0.8rem -0.8rem auto;
    padding: 1rem 1rem;
}
.path-local-treestudyplan .card-header:first-child,
.features-treestudyplan .card-header:first-child {
    border-top-left-radius: var(--bs-card-inner-border-radius, calc(0.25rem - 1px));
    border-top-right-radius: var(--bs-card-inner-border-radius, calc(0.25rem - 1px));
}
.path-local-treestudyplan .card-header,
.features-treestudyplan .card-header {
    padding: var(--bs-card-cap-padding-y, 0.75rem) var(--bs-card-cap-padding-x, 1.25rem);
    background-color: var(--bs-card-cap-bg, rgba(0, 0, 0, 0.03));
    border-bottom: var(--bs-card-border-widt, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.125));
}
.path-local-treestudyplan .card-body,
.features-treestudyplan .card-body {
    padding: var(--bs-card-spacer-y, 1.25rem) var(--bs-card-spacer-x, 1.25rem);
}

#p-sidebar-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    overflow: hidden;
    height: 100vh; /* full view height, needed for scroll to work properly in separate panels */
}
#p-sidebar-wrapper #p-sidebar-contentwrapper {
    flex: 1 1 auto;
    transition: all 0.3s ease-in-out;
    overflow-y: auto;
}
#p-sidebar-wrapper .vue-portal-target {
    height: 100%;
}
#p-sidebar-wrapper .p-sidebar {
    position: relative;
    top: 0;
    min-width: 320px;
    width: auto;
    max-width: 430px;
    height: 100%;
    max-height: 100%;
    margin: 0;
    outline: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    background-color: var(--color-light);
    display: flex;
    flex-direction: column;
    z-index: 100;
    --p-sidebar-hideoffset: -320px;
}
#p-sidebar-wrapper .p-sidebar.p-sidebar-shadow {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
#p-sidebar-wrapper .p-sidebar.shown {
    display: block;
}
#p-sidebar-wrapper .p-sidebar:not(.p-sidebar-right).hidden {
    margin-left: var(--p-sidebar-hideoffset);
}
#p-sidebar-wrapper .p-sidebar.p-sidebar-right.hidden {
    margin-right: var(--p-sidebar-hideoffset);
}
#p-sidebar-wrapper .p-sidebar .t-toolbox-tabs {
    flex: 1; /* Make sure it grows to fill the space */
    height: 1rem; /* Flex:1 will make it grow, but it needs a set height in some cases for scroll to work */
}
#p-sidebar-wrapper .p-easeinout-enter {
    display: flex;
}
#p-sidebar-wrapper .p-easeinout-enter:not(.p-sidebar-right) {
    margin-left: var(--p-sidebar-hideoffset);
}
#p-sidebar-wrapper .p-easeinout-enter.p-sidebar-right {
    margin-right: var(--p-sidebar-hideoffset);
}
#p-sidebar-wrapper .p-easeinout-enter-active {
    transition: all 0.3s ease-in-out;
}
#p-sidebar-wrapper .p-easeinout-enter-to:not(.p-sidebar-right) {
    margin-left: 0;
}
#p-sidebar-wrapper .p-easeinout-enter-to.p-sidebar-right {
    margin-right: 0;
}
#p-sidebar-wrapper .p-easeinout-leave:not(.p-sidebar-right) {
    margin-left: 0;
}
#p-sidebar-wrapper .p-easeinout-leave.p-sidebar-right {
    margin-right: 0;
}
#p-sidebar-wrapper .p-easeinout-leave-active {
    transition: all 0.3s ease-in-out;
}
#p-sidebar-wrapper .p-easeinout-leave-to:not(.p-sidebar-right) {
    margin-left: var(--p-sidebar-hideoffset);
}
#p-sidebar-wrapper .p-easeinout-leave-to.p-sidebar-right {
    margin-right: var(--p-sidebar-hideoffset);
}