$icon-size: 20px; #sidebar { background: var(--white); border-right: solid thin var(--color--sidebar-divider); display: inline-block; height: max-content; margin-bottom: $page-margin + 35px; padding: 0 15px 7px 15px; position: sticky; text-align: left; top: 50px; height: calc(100% - 20px); width: $sidebar-width; z-index: 2; .sidebar-context { flex: 0; background-color: rgba(255, 255, 255, 1); border: 0px solid var(--base-color-20); padding: 0px; max-height: 60px; } .sidebar-title { display: none; } .sidebar-widget.sidebar-widget-has-extra { display: grid; grid-template-areas: "swh swx" "swc swc"; grid-template-rows: auto; grid-template-columns: 1fr min-content; .sidebar-widget-header { grid-area: swh; } .sidebar-widget-extra { grid-area: swx; } .sidebar-widget-content { grid-area: swc; } } .course-avatar-medium, .institute-avatar-medium, .avatar-medium { max-width: 60px; height: 60px; } .sidebar-widget, .sidebar-widget-placeholder { background-color: var(--color--global-background); border: none; margin: 15px 0 0; width: $sidebar-width; } .sidebar-widget-header { background-color: var(--color--global-background); color: var(--color--font-primary); font-weight: bold; padding: 4px; word-break: break-word; } .sidebar-widget-extra { background-color: var(--color--global-background); a, a:link, a:visited { display: inline-block; height: $icon-size; width: $icon-size; padding: 4px; color: var(--color--sidebar-item); border: solid thin var(--color--sidebar-item); border-radius: 5px; margin-bottom: 4px; &:hover { background-color: var(--color--sidebar-item); color: var(--color--global-background); } } } // Links inside the sidebar a.link-intern { @include icon(before, link-intern, $padding: 2px); } a.link-extern { @include icon(before, link-extern, $padding: 2px); } // Prevent selects from growing too large select { max-width: 100%; } } ul.widget-list { list-style: none; margin: 0; padding: 0; > li { background-repeat: no-repeat; background-position: 2px center; background-size: $icon-size $icon-size; word-wrap: break-word; margin-left: -4px; padding: 2px 0; background-color: var(--color--global-background); border-left: solid 4px var(--color--global-background); > *:not(label):not(.options-radio, .options-checkbox) { display: inline-flex; flex-direction: row; padding: 4px 0 4px 2px; line-height: $icon-size; gap: 6px; width: 100%; } .label-text { text-indent: 0; } &:has(>button:not(.options-radio, .options-checkbox)), &:has(>a):not(:last-child, .options-radio, .options-checkbox) { border-bottom: solid thin var(--color--sidebar-divider); } &:last-child { button, a { border-bottom: none; } } &:hover:not(:has(>label)):not(:has(.options-checkbox, .options-radio)):not(.active):has(button, a) { background-color: var(--color--sidebar-active); border-left-color: var(--color--sidebar-marker-active); a, button { color: var(--color--sidebar-item-hover); text-decoration: none; svg { color: var(--color--sidebar-item); } } } &:has(>hr) { margin-left: -10px; &:hover { background-color: transparent; border-color: transparent; } } } hr { border-style: none; border-top: 2px solid var(--white); margin: 4px 0px; margin-top: -3px; } button { @extend .as-link; text-align: left; width: 100%; color: var(--color--sidebar-item); } a, a:link, a:visited { color: var(--color--sidebar-item); } &.sidebar-navigation, &.sidebar-views { > li a { padding: 4px 0; } } } div#sidebar-navigation { div.sidebar-widget-header { display: none; } } .widget-links { margin: 5px; > li img { vertical-align: top; } a { display: block; } .widget-content a:only-child { box-sizing: border-box; line-height: 16px; } span[disabled], a[disabled] { color: var(--dark-gray-color-80); cursor: not-allowed; font-weight: lighter; } &.sidebar-navigation > li.active, &.sidebar-views > li.active { background-color: var(--color--sidebar-active); margin-left: -4px; padding-left: 1px; a, button { color: var(--color--font-primary); padding-left: 5px; &:hover { text-decoration: none; } } } &.sidebar-navigation > li.active { border-left-color: var(--color--sidebar-marker-active-navigation); } &.sidebar-views > li.active { border-left-color: var(--color--sidebar-marker-active-view); } &.sidebar-navigation > li, &.sidebar-views > li { padding-left: 5px; } } .sidebar-widget-cloud { margin: 0px; padding: 0px; max-width: 100%; overflow: hidden; > li { display: inline-block; } a.weigh-1 { font-size: 0.7em; } a.weigh-2 { font-size: 0.8em; } a.weigh-3 { font-size: 0.9em; } a.weigh-4 { font-size: 1.0em; } a.weigh-5 { font-size: 1.1em; } a.weigh-6 { font-size: 1.3em; } a.weigh-7 { font-size: 1.5em; } a.weigh-8 { font-size: 1.7em; } a.weigh-9 { font-size: 1.9em; } a.weigh-10 { font-size: 2.1em; } } .sidebar-widget { background: var(--color--global-background); .widget-options { list-style: none; margin: 0; padding: 0; > li { margin-left: 0; padding-left: 0; border: none; &:hover { background-color: unset; } .select2-wrapper { width: 100% !important; .select2-container { width: 100% !important; } } } .options-checkbox { display: block; margin-left: 2px; &.options-checked { @include icon(before, checkbox-checked, $padding: 6px, $align: middle); &::before { background-color: var(--color--sidebar-item); } } &.options-unchecked { @include icon(before, checkbox-unchecked, $padding: 6px, $align: middle); &::before { background-color: var(--color--sidebar-item); } } &:hover { color: var(--color--sidebar-item-hover); text-decoration: none; svg { color: var(--color--sidebar-item); } } } .options-radio { display: block; margin-left: 2px; &.options-checked { @include icon(before, radiobutton-checked, $padding: 6px, $align: middle); &::before { background-color: var(--color--sidebar-item); } } &.options-unchecked { @include icon(before, radiobutton-unchecked, $padding: 6px, $align: middle); &::before { background-color: var(--color--sidebar-item); } } &:hover { color: var(--color--sidebar-item-hover); text-decoration: none; svg { color: var(--color--sidebar-item); } } } } } .sidebar-widget-content { overflow-wrap: break-word; padding: 0; margin-left: 4px; transition: all 0.5s; } // TODO: These two should be combined into one widget select.sidebar-selectlist { overflow-y: auto; width: 100%; } .selector-widget select { cursor: pointer; padding: 0; option { padding: 0 0.5em; } } .sidebar-search { .needles { list-style: none; margin: 0; padding: 0; li { display: flex; margin-bottom: 0.5em; &:last-child { margin-bottom: 0; } .input-group { margin-bottom: 0; margin-top: 0; input[type=text] { box-sizing: border-box; border: 1px solid var(--color--input-field-border); border-right: none; flex: 1; padding: .25em .5em; width: 100%; order: 1; border-top-left-radius: var(--border-radius-search); border-bottom-left-radius: var(--border-radius-search); } .submit-search { background-color: var(--color--global-background); border: 1px solid var(--color--input-field-border); border-radius: 0; color: var(--color--sidebar-item); cursor: pointer; font: 0/0 a; text-shadow: none; order: 3; border-top-right-radius: var(--border-radius-search); border-bottom-right-radius: var(--border-radius-search); } .reset-search { background: unset; display: inline-block; cursor: pointer; order: 2; height: var(--icon-size); box-sizing: border-box; margin: auto 2px auto -22px; color: var(--color--sidebar-item); svg { padding-top: 4px; } } } } } ul.filters { list-style: none; margin: 0; padding: 0; li { display: inline-block; } } }