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