Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* core.less */
$bg-inverse-link-color: $white !default;
$dropzone-border: $gray-900 !default;
$collapse-list-item-padding-y: 0.5rem !default;
$collapse-list-item-padding-x: 1rem !default;
$collapse-list-item-hover-bg: theme-color-level('info', -11) !default;
$collapse-list-item-hover-border: theme-color-level('info', -9) !default;
$thin-scroll-bg-thumb: $gray-600 !default;
$thin-scroll-bg-hover: $gray-700 !default;
$font-size-xs: ($font-size-base * .75) !default;
#region-main {
overflow-y: visible;
background-color: $body-bg;
}
@include media-breakpoint-up(sm) {
.context-header-settings-menu,
.region-main-settings-menu {
float: right;
width: auto;
max-width: 4em;
height: 2em;
display: block;
margin-top: 4px;
}
}
@include media-breakpoint-down(sm) {
.context-header-settings-menu,
.region-main-settings-menu {
display: flex;
justify-content: flex-end;
}
}
@mixin optional-animation($animation) {
animation: $animation;
@media (prefers-reduced-motion: reduce) {
animation: none;
}
body.behat-site & {
animation: none;
}
}
.context-header-settings-menu .dropdown-toggle > .icon,
#region-main-settings-menu .dropdown-toggle > .icon {
height: 24px;
font-size: 24px;
width: auto;
}
/** Prevent user notifications overlapping with region main settings menu */
#user-notifications {
display: block;
overflow: hidden;
}
/** Page layout CSS starts **/
.layout-option-noheader #page-header,
.layout-option-nonavbar #page-navbar,
.layout-option-nofooter #page-footer,
.layout-option-nocourseheader .course-content-header,
.layout-option-nocoursefooter .course-content-footer {
display: none;
}
/** Page layout CSS ends **/
.mdl-left {
text-align: left;
}
.mdl-right {
text-align: right;
}
/*rtl:ignore*/
.text-ltr {
direction: ltr !important; /* stylelint-disable-line declaration-no-important */
}
#add,
#remove,
.centerpara,
.mdl-align {
text-align: center;
}
a.dimmed,
a.dimmed:link,
a.dimmed:visited,
a.dimmed_text,
a.dimmed_text:link,
a.dimmed_text:visited,
.dimmed_text,
.dimmed_text a,
.dimmed_text a:link,
.dimmed_text a:visited,
.usersuspended,
.usersuspended a,
.usersuspended a:link,
.usersuspended a:visited,
.dimmed_category,
.dimmed_category a {
color: $text-muted;
}
// Accessible focus styling for links, add .aalink to links with custom css classes to get
// accessible focus styles.
.aalink,
#page-footer a:not([class]),
.arrow_link,
a:not([class]),
.activityinstance > a {
&.focus,
&:focus {
outline: $btn-focus-width solid transparent;
color: $gray-900;
background-color: lighten($primary, 50%);
box-shadow: 0 -#{$btn-focus-width} lighten($primary, 50%), 0 $btn-focus-width $gray-800;
}
&:focus:hover {
text-decoration: none;
}
}
// Accessible focus styling for buttons like elements that do not use the .btn class. Add
// .aabtn to you element if you need the same focus styles.
.aabtn,
.btn-link,
.nav-link,
.editor_atto_toolbar button,
.editor_atto_toolbar .atto_toolbar_row,
[role="button"],
.list-group-item-action,
input[type="checkbox"],
input[type="radio"],
input[type="file"],
input[type="image"],
.sr-only-focusable,
a.dropdown-toggle,
.moodle-dialogue-base .closebutton,
button.close,
.form-autocomplete-selection,
[role="treeitem"]:not([aria-expanded="true"]) {
&.focus,
&:focus {
outline: 0;
box-shadow: $input-btn-focus-box-shadow;
}
&:focus:hover {
text-decoration: none;
}
}
// Modal dialogs border should be rounded too.
.modal-dialog[tabindex="0"] {
&.focus,
&:focus {
outline: 0;
.modal-content {
outline: 0;
box-shadow: $input-btn-focus-box-shadow;
// Modal dialogs border should be rounded too.
@include border-radius($modal-content-border-radius);
}
}
}
// We don't want to highlight the whole li when it's expanded. Only the first child is highlighted.
[role="treeitem"][aria-expanded="true"] {
outline: 0;
&.focus,
&:focus {
> *:first-child {
outline: 0;
box-shadow: $input-btn-focus-box-shadow;
}
}
&:focus:hover {
text-decoration: none;
}
}
// Accessible focus styling for autocomplete elements.
.form-autocomplete-suggestions li[aria-selected=true] {
outline: 0;
box-shadow: $input-btn-focus-box-shadow;
}
// Safari does not allow custom styling of checkboxes.
.safari {
input[type="checkbox"],
input[type="radio"] {
&.focus,
&:focus {
outline: auto;
}
}
}
.unlist,
.unlist li,
.inline-list,
.inline-list li,
.block .list,
.block .list li,
.section li.movehere,
.tabtree li {
list-style: none;
margin: 0;
padding: 0;
}
.section li.movehere a {
display: block;
width: 100%;
height: 2rem;
border: 2px dashed $gray-800;
}
.editing .course-content .hidden.sectionname {
visibility: hidden;
display: initial;
}
.inline,
.inline-list li {
display: inline;
}
.notifytiny {
font-size: $font-size-xs;
}
.notifytiny li,
.notifytiny td {
font-size: 100%;
}
.red,
.notifyproblem {
color: map-get($theme-colors, 'warning');
}
.green,
.notifysuccess {
color: map-get($theme-colors, 'success');
}
.highlight {
color: map-get($theme-colors, 'info');
}
.bg-primary-light {
background-color: $primary-light-background;
}
.fitem.advanced .text-info {
font-weight: bold;
}
.reportlink {
text-align: right;
}
a.autolink {
@extend .aalink;
&.glossary:hover {
cursor: help;
}
}
/* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
.collapsibleregioncaption {
white-space: nowrap;
min-height: $line-height-base * $font-size-base;
}
.pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
cursor: pointer;
}
.pagelayout-mydashboard #region-main {
border: 0;
padding: 0;
background-color: transparent;
margin-top: -1px;
}
@include media-breakpoint-down(sm) {
.pagelayout-mydashboard,
.pagelayout-login {
#region-main-box {
padding-left: 0;
padding-right: 0;
}
}
}
.collapsibleregioncaption img {
vertical-align: middle;
}
.jsenabled .hiddenifjs {
display: none;
}
body:not(.jsenabled) .visibleifjs {
display: none;
}
.jsenabled .collapsibleregion {
overflow: hidden;
box-sizing: content-box;
}
.jsenabled .collapsed .collapsibleregioninner {
visibility: hidden;
}
.collapsible-actions {
display: none;
text-align: right;
}
.jsenabled .collapsible-actions {
display: block;
}
.yui-overlay .yui-widget-bd {
background-color: $yui-overlay-bg;
border: 1px solid $yui-overlay-border-color;
border-top-color: $yui-overlay-border-top-color;
color: $yui-overlay-color;
left: 0;
padding: 2px 5px;
position: relative;
top: 0;
z-index: 1;
}
.clearer {
background: transparent;
border-width: 0;
clear: both;
display: block;
height: 1px;
margin: 0;
padding: 0;
}
.bold,
.warning,
.errorbox .title,
.pagingbar .title,
.pagingbar .thispage {
font-weight: bold;
}
img.resize {
height: 1em;
width: 1em;
}
.block img.resize {
height: 0.9em;
width: 0.8em;
}
/* Icon styles */
img.activityicon {
height: 32px;
width: 32px;
vertical-align: middle;
}
.headermain {
font-weight: bold;
}
#maincontent {
display: block;
height: 1px;
overflow: clip;
}
img.uihint {
cursor: help;
}
#addmembersform table {
margin-left: auto;
margin-right: auto;
}
table.flexible .emptyrow {
display: none;
}
form.popupform,
form.popupform div {
display: inline;
}
.arrow_button input {
overflow: hidden;
}
.no-overflow {
overflow: auto;
}
// Position required for table sizing inside a flex container.
.no-overflow > .generaltable {
margin-bottom: 0;
}
.no-overflow,
.table-responsive {
.generaltable {
.sr-only,
.accesshide {
position: relative;
display: block;
}
}
}
// Accessibility features
// Accessibility: text 'seen' by screen readers but not visual users.
.accesshide {
@include sr-only();
}
span.hide,
div.hide,
.hidden {
display: none;
}
// Accessibility: Skip block link, for keyboard-only users.
a.skip-block,
a.skip {
position: absolute;
top: -1000em;
font-size: 0.85em;
text-decoration: none;
}
a.skip-block:focus,
a.skip-block:active,
a.skip:focus,
a.skip:active {
position: static;
display: block;
}
.skip-block-to {
display: block;
height: 1px;
overflow: hidden;
}
// Blogs
.addbloglink {
text-align: center;
}
.blog_entry .audience {
text-align: right;
padding-right: 4px;
}
.blog_entry .tags {
margin-top: 15px;
}
.blog_entry .content {
margin-left: 43px;
}
// Group
#doc-contents h1 {
margin: 1em 0 0 0;
}
#doc-contents ul {
margin: 0;
padding: 0;
width: 90%;
}
#doc-contents ul li {
list-style-type: none;
}
.groupmanagementtable td {
vertical-align: top;
}
.groupmanagementtable #existingcell,
.groupmanagementtable #potentialcell {
width: 42%;
}
.groupmanagementtable #buttonscell {
width: 16%;
}
.groupmanagementtable #buttonscell p.arrow_button input {
width: auto;
min-width: 80%;
margin: 0 auto;
display: block;
}
.groupmanagementtable #removeselect_wrapper,
.groupmanagementtable #addselect_wrapper {
width: 100%;
}
.groupmanagementtable #removeselect_wrapper label,
.groupmanagementtable #addselect_wrapper label {
font-weight: normal;
}
#group-usersummary {
width: 14em;
}
.groupselector {
margin-top: 3px;
margin-bottom: 3px;
display: inline-block;
}
.groupselector label {
display: inline-block;
}
// Notes
.notepost {
margin-bottom: 1em;
}
.notepost .userpicture {
float: left;
margin-right: 5px;
}
.notepost .content,
.notepost .footer {
clear: both;
}
.notesgroup {
margin-left: 20px;
}
// My Moodle
.path-my .coursebox {
margin: $spacer 0;
padding: 0;
.overview {
margin: 15px 30px 10px 30px;
}
}
.path-my .coursebox .info {
float: none;
margin: 0;
}
// Modules
.mod_introbox {
padding: 10px;
}
table.mod_index {
width: 100%;
}
// Comments
.comment-ctrl {
font-size: 12px;
display: none;
margin: 0;
padding: 0;
}
.comment-ctrl h5 {
margin: 0;
padding: 5px;
}
.comment-area {
max-width: 400px;
padding: 5px;
}
.comment-area textarea {
width: 100%;
overflow: auto;
&.fullwidth {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
}
.comment-area .fd {
text-align: right;
}
.comment-meta span {
color: $comment-meta-color;
}
.comment-link img {
vertical-align: text-bottom;
}
.comment-list {
font-size: 11px;
overflow: auto;
list-style: none;
padding: 0;
margin: 0;
}
.comment-list li {
margin: 2px;
list-style: none;
margin-bottom: 5px;
clear: both;
padding: .3em;
position: relative;
}
.comment-list li.first {
display: none;
}
.comment-paging {
text-align: center;
}
.comment-paging .pageno {
padding: 2px;
}
.comment-paging .curpage {
border: 1px solid $comment-paging-current-border-color;
}
.comment-message .picture {
float: left;
margin-right: 0.25rem;
}
.comment-message .text {
margin: 0;
padding: 0;
}
.comment-message .text p {
padding: 0;
margin: 0 18px 0 0;
}
.comment-delete {
position: absolute;
top: 0;
right: 0;
margin: .3em;
}
.comment-report-selectall {
display: none;
}
.comment-link {
display: none;
}
.jsenabled .comment-link {
display: block;
}
.jsenabled .showcommentsnonjs {
display: none;
}
.jsenabled .comment-report-selectall {
display: inline;
}
/**
* Completion progress report
*/
.completion-expired {
color: map-get($theme-colors, 'warning');
}
.completion-expected {
font-size: $font-size-xs;
}
.completion-sortchoice,
.completion-identifyfield {
font-size: $font-size-xs;
vertical-align: bottom;
}
.completion-progresscell {
text-align: right;
}
.completion-expired .completion-expected {
font-weight: bold;
}
/**
* Tags
*/
#tag-search-box {
text-align: center;
margin: 10px auto;
}
span.flagged-tag,
tr.flagged-tag,
span.flagged-tag a,
tr.flagged-tag a {
color: map-get($theme-colors, 'warning');
}
.tag-management-table {
td,
th {
vertical-align: middle;
padding: 4px;
}
.inplaceeditable.inplaceeditingon input {
width: 150px;
}
}
.path-admin-tag .addstandardtags {
float: right;
img {
margin: 0 5px;
}
}
.path-tag {
.tag-relatedtags {
padding-top: 10px;
}
.tag-management-box {
text-align: right;
}
.tag-index-toc {
padding: 10px;
text-align: center;
}
.tag-index-toc li {
margin-left: 5px;
margin-right: 5px;
}
.tag-management-box li {
margin-left: 5px;
margin-right: 5px;
a {
background-repeat: no-repeat;
background-position: left;
padding-left: 17px;
}
a.edittag {
background-image: url([[pix:moodle|i/settings]]);
}
a.flagasinappropriate {
background-image: url([[pix:moodle|i/flagged]]);
}
a.removefrommyinterests {
background-image: url([[pix:moodle|t/delete]]);
}
a.addtomyinterests {
background-image: url([[pix:moodle|t/add]]);
}
}
.tag-backtoallitems {
text-align: center;
}
.tag-index-items .tagarea {
border: 1px solid $tags-tagarea-border-color;
border-radius: 4px;
padding: 10px;
margin-top: 10px;
h3 {
display: block;
padding: 3px 0 10px 0;
margin: 0;
font-size: 1.1em;
font-weight: bold;
line-height: 20px;
color: $tags-tagarea-title-color;
text-shadow: 0 1px 0 $tags-tagarea-title-text-shadow-color;
text-transform: uppercase;
word-wrap: break-word;
border-bottom: solid 1px $tags-tagarea-title-border-color;
margin-bottom: 10px;
}
.taggeditems {
@include clearfix();
}
.controls {
@include clearfix();
text-align: center;
&.controls-bottom {
margin-top: 5px;
}
.gotopage.nextpage {
float: right;
}
.gotopage.prevpage {
float: left;
}
.exclusivemode {
display: inline-block;
}
.gotopage.prevpage::before {
padding-right: 5px;
padding-left: 5px;
content: "«";
}
.gotopage.nextpage::after {
padding-right: 5px;
padding-left: 5px;
content: "»";
}
}
}
}
.tag_feed {
img {
max-height: 35px;
max-width: 35px;
}
.muted a {
color: $text-muted;
}
}
.tag_cloud {
text-align: center;
.inline-list li {
padding: 0 0.2em;
}
.tag_overflow {
margin-top: 1em;
font-style: italic;
}
// Generate a series of .s# rule declarations based on the number of tag sizes.
@for $i from 0 through 20 {
.s#{$i} {
font-size: (0.7 + ($i * 0.1)) * 1em;
}
}
}
.tag_list {
ul {
display: inline;
}
.tagmorelink {
display: none;
}
&.hideoverlimit {
.overlimit {
display: none;
}
.tagmorelink {
display: inline;
}
.taglesslink {
display: none;
}
}
}
/**
* Web Service
*/
#webservice-doc-generator td {
text-align: left;
border: 0 solid $webservice-doc-td-border-color;
}
/**
* Enrol
*/
.userenrolment {
width: 100%;
border-collapse: collapse;
}
.userenrolment tr {
vertical-align: top;
}
.userenrolment td {
padding: 0;
height: 41px;
}
.userenrolment .subfield {
margin-right: 5px;
}
.userenrolment .col_userdetails .subfield {
margin-left: 40px;
}
.userenrolment .col_userdetails .subfield_picture {
float: left;
margin-left: 0;
}
.userenrolment .col_lastseen {
width: 150px;
}
.userenrolment .col_role {
width: 262px;
}
.userenrolment .col_role .roles,
.userenrolment .col_group .groups {
margin-right: 30px;
}
.userenrolment .col_role .role {
float: left;
padding: 0 3px 3px;
margin: 0 3px 3px;
white-space: nowrap;
}
.userenrolment .col_group .group {
float: left;
padding: 3px;
margin: 3px;
white-space: nowrap;
}
.userenrolment .col_role .role a,
.userenrolment .col_group .group a {
margin-left: 3px;
cursor: pointer;
}
.userenrolment .col_role .addrole,
.userenrolment .col_group .addgroup {
float: right;
padding: 3px;
margin: 3px;
> a:hover {
border-bottom: 1px solid $userenrolment-link-hover-border-color;
}
}
.userenrolment .col_role .addrole img,
.userenrolment .col_group .addgroup img {
vertical-align: baseline;
}
.userenrolment .hasAllRoles .col_role .addrole {
display: none;
}
.userenrolment .col_enrol .enrolment {
float: left;
padding: 0 3px 3px;
margin: 0 3px 3px;
}
.userenrolment .col_enrol .enrolment a {
float: right;
margin-left: 3px;
}
#page-enrol-otherusers .userenrolment .col_role {
.role {
float: none;
margin: 3px 3px 3px 0;
padding: 3px 3px 3px 0;
}
}
.corelightbox {
background-color: $corelightbox-bg;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
}
.corelightbox img {
position: fixed;
top: 50%;
left: 50%;
}
.mod-indent-outer {
display: table;
}
.mod-indent {
display: table-cell;
}
.label .mod-indent {
float: left;
padding-top: 20px;
}
.activity.label.modtype_label .mod-indent {
float: none;
}
@include media-breakpoint-up(sm) {
$mod-indent-size: 30px;
/* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
@for $i from 1 through 16 {
$width: ($i * $mod-indent-size);
.mod-indent-#{$i} {
width: $width;
}
}
.mod-indent-huge {
width: (16 * $mod-indent-size);
}
}
/* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
.resourcecontent .mediaplugin_mp3 object {
height: 25px;
width: 600px;
}
.resourcecontent audio.mediaplugin_html5audio {
width: 600px;
}
/** Large resource images should avoid hidden overflow **/
.resourceimage {
max-width: 100%;
}
/* Audio player size in 'inline' mode (can only change width, as above) */
.mediaplugin_mp3 object {
height: 15px;
width: 300px;
}
audio.mediaplugin_html5audio {
width: 300px;
}
.core_media_preview.pagelayout-embedded #maincontent {
height: 0;
}
.path-rating .ratingtable {
width: 100%;
margin-bottom: 1em;
}
.path-rating .ratingtable th.rating {
width: 100%;
}
.path-rating .ratingtable td.rating,
.path-rating .ratingtable td.time {
white-space: nowrap;
text-align: center;
}
/* Moodle Dialogue Settings (moodle-core-dialogue) */
.moodle-dialogue-base .moodle-dialogue-lightbox {
background-color: $gray-700;
}
// Prevent adding backdrops to popups in popups.
.pagelayout-popup {
.moodle-dialogue-base {
.moodle-dialogue-lightbox {
background-color: transparent;
}
.moodle-dialogue {
box-shadow: $popover-box-shadow;
}
}
}
.moodle-dialogue-base .hidden,
.moodle-dialogue-base .moodle-dialogue-hidden {
display: none;
}
.no-scrolling {
overflow: hidden;
}
.moodle-dialogue-base .moodle-dialogue-fullscreen {
left: 0;
top: 0;
right: 0;
bottom: -50px;
position: fixed;
}
.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
overflow: auto;
}
.moodle-dialogue-base .moodle-dialogue-wrap {
background-color: $dialogue-base-bg;
border: 1px solid $dialogue-base-border-color;
}
// Show is a bootstrap 2 class - but we use it for modals. We don't want to enable it everywhere because they removed
// it for a reason (conflicts with jquery .show()).
.modal.show {
display: block;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
display: flex;
padding: 1rem 1rem;
border-bottom: 1px solid $dialogue-base-hd-border-color;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
// Undo some YUI damage.
min-height: 3rem;
color: initial;
background: initial;
font-size: 1.5rem;
line-height: 1.5;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h5 {
font-size: 1.5rem;
font-weight: $font-weight-base;
margin-bottom: 0;
line-height: 1.5;
}
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
/*rtl:raw:
left: 0;
right: auto;
*/
padding: 0;
position: relative;
margin-left: auto;
}
.moodle-dialogue-base .closebutton {
padding: $modal-header-padding;
margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
position: relative;
background-color: transparent;
border: 0;
background-image: none;
box-shadow: none;
opacity: 0.7;
&:hover,
&:active {
opacity: 1;
}
&::after {
content: "×";
}
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
padding: 0.5rem;
body {
background-color: $body-bg;
}
}
.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
overflow: auto;
position: absolute;
top: 0;
bottom: 50px;
left: 0;
right: 0;
margin: 0;
border: 0;
}
.moodle-dialogue-exception .moodle-exception-param label {
font-weight: bold;
}
.moodle-dialogue-exception .param-stacktrace label {
background-color: $dialogue-exception-label-bg;
border: 1px solid $dialogue-exception-label-border-color;
border-bottom-width: 0;
}
.moodle-dialogue-exception .param-stacktrace pre {
border: 1px solid $dialogue-exception-pre-border-color;
background-color: $dialogue-exception-pre-bg;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
color: $dialogue-exception-file-color;
font-size: $font-size-sm;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
color: map-get($theme-colors, 'warning');
font-size: $font-size-sm;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
color: $dialogue-exception-call-color;
font-size: 90%;
border-bottom: 1px solid $dialogue-exception-call-border-color;
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
display: none;
}
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
// Undo some YUI damage.
background: initial;
}
.moodle-dialogue-confirm .confirmation-message {
margin: 0.5rem 0;
}
.moodle-dialogue-confirm .confirmation-dialogue input {
min-width: 80px;
}
.moodle-dialogue-exception .moodle-exception-message {
margin: 1em;
}
.moodle-dialogue-exception .moodle-exception-param {
margin-bottom: 0.5em;
}
.moodle-dialogue-exception .moodle-exception-param label {
width: 150px;
}
.moodle-dialogue-exception .param-stacktrace label {
display: block;
margin: 0;
padding: 4px 1em;
}
.moodle-dialogue-exception .param-stacktrace pre {
display: block;
height: 200px;
overflow: auto;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-file {
display: inline-block;
margin: 4px 0;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
display: inline-block;
width: 50px;
margin: 4px 1em;
}
.moodle-dialogue-exception .param-stacktrace .stacktrace-call {
padding-left: 25px;
margin-bottom: 4px;
padding-bottom: 4px;
}
.moodle-dialogue .moodle-dialogue-bd .content-lightbox {
opacity: 0.75;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: $dialogue-lightbox-bg;
text-align: center;
padding: 10% 0;
}
/* Apply a default max-height on tooltip text */
.moodle-dialogue .tooltiptext {
max-height: 300px;
}
.moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
z-index: 3001;
.moodle-dialogue-bd {
overflow: auto;
}
}
/**
* Chooser Dialogues (moodle-core-chooserdialogue)
*
* This CSS belong to the chooser dialogue which should work both with, and
* without javascript enabled
*/
/* Hide the dialog and it's title */
.chooserdialoguebody,
.choosertitle {
display: none;
}
.moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
margin: 0;
}
.chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
padding: 0;
background: $chooserdialogue-bg;
@include border-bottom-radius(10px);
}
/* Center the submit buttons within the area */
.choosercontainer #chooseform .submitbuttons {
padding: 0.7em 0;
text-align: right;
}
/* Fixed for safari browser on iPhone4S with ios7@mixin */
@media (max-height: 639px) {
.ios .choosercontainer #chooseform .submitbuttons {
padding: 45px 0;
}
}
.choosercontainer #chooseform .submitbuttons input {
min-width: 100px;
margin: 0 0.5em;
}
/* Various settings for the options area */
.choosercontainer #chooseform .options {
position: relative;
border-bottom: 1px solid $chooserdialogue-options-border-color;
}
/* Only set these options if we're showing the js container */
.jschooser .choosercontainer #chooseform .alloptions {
overflow-x: hidden;
overflow-y: auto;
max-width: 240px;
.option {
input[type=radio] {
display: inline-block;
}
.typename {
display: inline-block;
width: 55%;
}
}
}
/* Settings for option rows and option subtypes */
.choosercontainer #chooseform .moduletypetitle,
.choosercontainer #chooseform .option,
.choosercontainer #chooseform .nonoption {
margin-bottom: 0;
padding: 0 1.6em 0 1.6em;
}
.choosercontainer #chooseform .moduletypetitle {
text-transform: uppercase;
padding-top: 1.2em;
padding-bottom: 0.4em;
margin-bottom: 0.5rem;
font-size: 100%;
}
.choosercontainer #chooseform .option .typename,
.choosercontainer #chooseform .nonoption .typename {
padding: 0 0 0 0.5em;
}
.choosercontainer #chooseform .modicon + .typename {
padding-left: 0;
}
.choosercontainer #chooseform .option input[type=radio],
.choosercontainer #chooseform .option span.typename {
vertical-align: middle;
}
.choosercontainer #chooseform .option label {
display: block;
margin: 0;
padding: ($spacer * 0.5) 0;
border-bottom: 1px solid $choosercontainer-label-border-color;
}
.choosercontainer #chooseform .option .icon {
margin: 0;
padding: 0 $spacer;
}
.choosercontainer #chooseform .nonoption {
padding-left: 2.7em;
padding-top: 0.3em;
padding-bottom: 0.1em;
}
.choosercontainer #chooseform .subtype {
margin-bottom: 0;
padding: 0 1.6em 0 3.2em;
}
.choosercontainer #chooseform .subtype .typename {
margin: 0 0 0 0.2em;
}
/* The instruction/help area */
.jschooser .choosercontainer #chooseform .instruction,
.jschooser .choosercontainer #chooseform .typesummary {
display: none;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 240px;
margin: 0;
padding: 1.6em;
background-color: $choosercontainer-instruction-bg;
overflow-x: hidden;
overflow-y: auto;
line-height: 2em;
}
/* Selected option settings */
.jschooser .choosercontainer #chooseform .instruction,
.choosercontainer #chooseform .selected .typesummary {
display: block;
}
.choosercontainer #chooseform .selected {
background-color: $choosercontainer-chooseform-selected-bg;
margin-top: -1px;
padding-top: 1px;
}
@include media-breakpoint-down(xs) {
.jsenabled .choosercontainer #chooseform .alloptions {
max-width: 100%;
}
.jsenabled .choosercontainer #chooseform .instruction,
.jsenabled .choosercontainer #chooseform .typesummary {
position: static;
}
}
/**
* Module chooser dialogue (moodle-core-chooserdialogue)
*
* This CSS belong to the chooser dialogue which should work both with, and
* without javascript enabled
*/
.modchooser .modal-body {
padding: 0;
overflow-y: auto;
min-height: 640px;
display: flex;
flex-direction: column;
.searchresultitemscontainer-wrapper {
min-height: 495px;
}
.carousel-item.active {
display: flex;
}
.chooser-container {
display: flex;
flex-direction: column;
flex: 1 1 auto;
}
.loading-icon {
opacity: 1;
.icon {
display: block;
font-size: 3em;
max-height: 3em;
max-width: 3em;
}
}
.carousel-item .loading-icon .icon {
margin: 1em auto;
}
.searchbar {
width: 100%;
}
}
.modchooser .modal-footer {
height: 70px;
background: $modal-content-bg;
.moodlenet-logo {
.icon {
height: 2.5rem;
width: 6rem;
max-height: 2.5rem;
max-width: 6rem;
margin-bottom: .6rem;
}
}
}
.modchoosercontainer.noscroll {
overflow-y: hidden;
}
.modchoosercontainer .optionscontainer,
.modchoosercontainer .searchresultitemscontainer {
overflow-x: hidden;
.option {
// 2 items per line.
flex-basis: calc(50% - 0.5rem);
.optionactions {
.optionaction {
cursor: pointer;
color: $gray-600;
i {
margin: 0;
}
}
}
.optioninfo {
a {
color: $gray-700;
&:hover {
text-decoration: none;
}
}
}
}
}
.modchooser .modal-body .optionsummary {
background-color: $white;
overflow-x: hidden;
overflow-y: auto;
height: 640px;
.content {
overflow-y: auto;
.heading {
.icon {
height: 32px;
width: 32px;
font-size: 32px;
padding: 0;
}
}
}
.actions {
border-top: 1px solid $gray-300;
background: $white;
}
}
@include media-breakpoint-down(xs) {
.path-course-view .modal-dialog.modal-lg,
.path-course-view .modal-content,
.modchooser .modal-body,
.modchooser .modal-body .carousel,
.modchooser .modal-body .carousel-inner,
.modchooser .modal-body .carousel-item,
.modchooser .modal-body .optionsummary,
.modchoosercontainer,
.optionscontainer,
.searchresultitemscontainer {
min-height: auto;
height: 100%;
overflow-y: auto;
}
.path-course-view .modal-dialog.modal-lg {
margin: 0;
}
.modchooser .modal-body .searchresultitemscontainer-wrapper {
min-height: auto;
}
}
@include media-breakpoint-up(sm) {
.modchoosercontainer .optionscontainer .option,
.modchoosercontainer .searchresultitemscontainer .option {
// Three items per line.
flex-basis: calc(33.33% - 0.5rem);
}
}
@include media-breakpoint-up(lg) {
.modchoosercontainer .optionscontainer .option,
.modchoosercontainer .searchresultitemscontainer .option {
// Six items per line.
flex-basis: calc(16.66% - 0.5rem);
}
}
/* Form element: listing */
.formlistingradio {
padding-bottom: 25px;
padding-right: 10px;
}
.formlistinginputradio {
float: left;
}
.formlistingmain {
min-height: 225px;
}
.formlisting {
position: relative;
margin: 15px 0;
padding: 1px 19px 14px;
background-color: $formlisting-bg;
border: 1px solid $formlisting-border-color;
@include border-radius(4px);
}
.formlistingmore {
position: absolute;
cursor: pointer;
bottom: -1px;
right: -1px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
background-color: $formlistingmore-bg;
border: 1px solid $formlistingmore-border-color;
color: $formlistingmore-color;
@include border-radius(4px 0 4px 0);
}
.formlistingall {
margin: 15px 0;
padding: 0;
@include border-radius(4px);
}
.formlistingrow {
cursor: pointer;
border-bottom: 1px solid;
border-color: $formlistingrow-border-color;
border-left: 1px solid $formlistingrow-border-color;
border-right: 1px solid $formlistingrow-border-color;
background-color: $formlistingrow-bg;
@include border-radius(0 0 4px 4px);
padding: 6px;
top: 50%;
left: 50%;
min-height: 34px;
float: left;
width: 150px;
}
body.jsenabled .formlistingradio {
display: none;
}
body.jsenabled .formlisting {
display: block;
}
a.criteria-action {
padding: 0 3px;
float: right;
}
div.criteria-description {
padding: 10px 15px;
margin: 5px 0;
background: none repeat scroll 0 0 $criteria-desc-bg;
border: 1px solid $criteria-desc-border-color;
}
ul.badges {
margin: 0;
list-style: none;
}
.badges li {
position: relative;
display: inline-block;
padding-top: 1em;
text-align: center;
vertical-align: top;
width: 150px;
}
.badges li .badge-name {
display: block;
padding: 5px;
}
.badges li > img {
position: absolute;
}
.badges li .badge-image {
width: 100px;
height: 100px;
left: 10px;
top: 0;
z-index: 1;
}
.badges li .badge-actions {
position: relative;
}
.badges li .expireimage {
background-image: url([[pix:i/expired]]);
background-repeat: no-repeat;
background-size: 100px 100px;
width: 100px;
height: 100px;
left: 25px;
top: 15px;
position: absolute;
z-index: 10;
opacity: 0.85;
}
#badge-image {
background-color: transparent;
padding: 0;
position: relative;
min-width: 100px;
width: 20%;
display: inline-block;
vertical-align: top;
margin-top: 17px;
margin-bottom: 20px;
.expireimage {
background-image: url([[pix:i/expired]]);
background-repeat: no-repeat;
background-size: 100px 100px;
width: 100px;
height: 100px;
left: 0;
top: 0;
opacity: 0.85;
position: absolute;
z-index: 10;
}
.singlebutton {
padding-top: 5px;
display: block;
button {
margin-left: 4px;
}
}
}
#badge-details {
display: inline-block;
width: 79%;
}
#badge-overview dl,
#badge-details dl {
margin: 0;
dt,
dd {
vertical-align: top;
padding: 3px 0;
}
dt {
clear: both;
display: inline-block;
width: 20%;
min-width: 100px;
}
dd {
display: inline-block;
width: 79%;
margin-left: 1%;
}
}
#badge-criteria li li {
list-style-type: none;
}
#badge-image-col {
flex: 0 0 400px;
}
.badge-profile {
vertical-align: top;
}
.connected {
color: map-get($theme-colors, 'success');
}
.notconnected {
color: map-get($theme-colors, 'danger');
}
.connecting {
color: map-get($theme-colors, 'warning');
}
#page-badges-award .recipienttable tr td {
vertical-align: top;
}
#page-badges-award .recipienttable tr td.actions .actionbutton {
margin: 0.3em 0;
padding: 0.5em 0;
width: 100%;
}
#page-badges-award .recipienttable tr td.existing,
#page-badges-award .recipienttable tr td.potential {
width: 42%;
}
#issued-badge-table .activatebadge {
display: inline-block;
}
.statusbox.active {
background-color: $state-success-bg;
}
.statusbox.inactive {
background-color: $state-warning-bg;
}
.statusbox {
text-align: center;
margin-bottom: 5px;
padding: 5px;
}
.statusbox .activatebadge {
display: inline-block;
}
.statusbox .activatebadge input[type=submit] {
margin: 3px;
}
.activatebadge {
margin: 0;
text-align: left;
vertical-align: middle;
}
img#persona_signin {
cursor: pointer;
}
.addcourse {
float: right;
}
.invisiblefieldset {
display: inline;
padding: 0;
border-width: 0;
}
/** Page header */
#page-header {
h1.h2 {
font-weight: bold;
}
.logo {
margin: $spacer 0;
img {
max-height: 75px;
}
}
}
/** Navbar logo. */
nav.navbar .logo img {
max-height: 35px;
}
.nav.usernav {
.nav-item {
display: flex;
}
.usermenu .dropdown-toggle {
padding: 0 0.5rem;
}
}
/** Header-bar styles **/
.page-context-header {
// We need to be explicit about the height of the header.
$pageHeaderHeight: 140px;
// Do not remove these rules.
overflow: hidden;
padding: 0.25rem 0;
.page-header-image {
& > a {
display: inline-block;
}
.userinitials,
.userpicture {
margin-right: map-get($spacers, 3);
}
}
}
ul.dragdrop-keyboard-drag li {
list-style-type: none;
}
a.disabled:hover,
a.disabled {
text-decoration: none;
cursor: default;
font-style: italic;
color: $text-muted;
}
body.lockscroll {
height: 100%;
overflow: hidden;
}
.progressbar_container {
max-width: 500px;
margin: 0 auto;
}
/* IE10 only fix for calendar titling */
.ie10 .yui3-calendar-header-label {
display: inline-block;
}
dd:before,
dd:after {
display: block;
content: " ";
}
dd:after {
clear: both;
}
// Active tabs with links should have a different
// cursor to indicate they are clickable.
.nav-tabs > .active > a[href],
.nav-tabs > .active > a[href]:hover,
.nav-tabs > .active > a[href]:focus {
cursor: pointer;
}
.inplaceeditable {
&.inplaceeditingon {
position: relative;
.editinstructions {
margin-top: -30px;
font-weight: normal;
margin-right: 0;
margin-left: 0;
left: 0;
right: auto;
white-space: nowrap;
}
@include media-breakpoint-up(sm) {
input {
width: 330px;
vertical-align: text-bottom;
margin-bottom: 0;
&[role="combobox"] {
width: auto;
}
}
}
select {
margin-bottom: 0;
}
}
.quickediticon .icon {
font-size: medium;
}
.quickediticon img {
opacity: 0.2;
}
.quickeditlink {
color: inherit;
text-decoration: inherit;
}
&:hover .quickeditlink .quickediticon img,
.quickeditlink:focus .quickediticon img {
opacity: 1;
}
&.inplaceeditable-toggle .quickediticon {
display: none;
}
&.inplaceeditable-autocomplete {
display: block;
}
}
h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
margin-top: -20px;
}
/** Chart area. */
.chart-area {
@include media-breakpoint-up(lg) {
.chart-image {
position: relative;
margin: auto;
height: 48vh;
width: 46vw;
}
}
.chart-table-data {
display: none;
}
.chart-table {
.chart-output-htmltable caption {
white-space: nowrap;
}
/** When accessible, we display the table only. */
&.accesshide {
.chart-table-expand {
display: none;
}
.chart-table-data {
display: block;
}
}
}
}
/* YUI 2 Tree View */
/*rtl:raw:
.ygtvtn,
.ygtvtm,
.ygtvtmh,
.ygtvtmhh,
.ygtvtp,
.ygtvtph,
.ygtvtphh,
.ygtvln,
.ygtvlm,
.ygtvlmh,
.ygtvlmhh,
.ygtvlp,
.ygtvlph,
.ygtvlphh,
.ygtvdepthcell,
.ygtvok,
.ygtvok:hover,
.ygtvcancel,
.ygtvcancel:hover {
background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
}
*/
.hover-tooltip-container {
position: relative;
.hover-tooltip {
opacity: 0;
visibility: hidden;
position: absolute;
/*rtl:ignore*/
left: 50%;
top: calc(-50% - 5px);
transform: translate(-50%, -50%);
background-color: $hover-tooltip-bg;
border: 1px solid $hover-tooltip-border-color;
border-radius: .3rem;
box-sizing: border-box;
padding: 5px;
white-space: nowrap;
transition: opacity 0.15s, visibility 0.15s;
z-index: 1000;
&:before {
content: '';
display: inline-block;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid $hover-tooltip-border-color;
position: absolute;
bottom: -8px;
left: calc(50% - 8px);
}
&:after {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid $hover-tooltip-border-top-color;
position: absolute;
bottom: -6px;
left: calc(50% - 7px);
z-index: 2;
}
}
&:hover {
.hover-tooltip {
opacity: 1;
visibility: visible;
transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
}
}
}
#region-flat-nav {
padding-right: 0;
padding-left: 0;
.nav {
margin-right: $grid-gutter-width * 0.5;
background-color: $card-bg;
}
@include media-breakpoint-down(sm) {
.nav {
margin-top: $grid-gutter-width;
margin-right: 0;
}
}
}
// Footer link colour was added to allow the colour of footer links to be changed,
// but really in bootstrap we want the colour of links on .bg-inverse to be changed
// rather than being specific to the footer. This is kept for backwards compatibility.
$footer-link-color: $bg-inverse-link-color !default;
.footer-dark {
a {
color: $footer-link-color;
text-decoration: underline;
padding-top: map-get($spacers, 1);
padding-bottom: map-get($spacers, 1);
.icon {
color: $footer-link-color;
}
&:focus .icon {
color: $body-color;
}
}
}
.btn-footer-popover {
display: none;
position: fixed;
bottom: 2rem;
right: 2rem;
@include box-shadow($popover-box-shadow);
}
.btn-footer-communication {
display: none;
position: fixed;
bottom: 5rem;
right: 2rem;
@include box-shadow($popover-box-shadow);
}
.hasstickyfooter .btn-footer-popover {
bottom: calc(1rem + #{$stickyfooter-height});
}
.hasstickyfooter .btn-footer-communication {
bottom: calc(4rem + #{$stickyfooter-height});
}
.popover.footer {
.popover-body {
padding: 0;
.footer-section {
a {
color: $body-color;
text-decoration: underline;
.icon {
color: $body-color;
}
&:focus {
text-decoration: none;
}
}
}
}
}
.footer-support-link {
padding-bottom: 5px;
}
@include media-breakpoint-up(sm) {
.jsenabled #page-footer .footer-content-popover {
display: none;
}
.jsenabled .btn-footer-popover,
.jsenabled .btn-footer-communication {
display: block;
z-index: $zindex-dropdown;
}
}
.bg-inverse a {
color: $bg-inverse-link-color;
text-decoration: underline;
.icon {
color: $bg-inverse-link-color;
}
}
.sitelink {
img {
width: 112px;
}
}
.competency-tree {
ul {
padding-left: 1.5rem;
}
}
.sr-only-focusable {
&:active,
&:focus {
z-index: 1031;
position: fixed;
background: $sr-only-active-bg;
padding: 7px;
left: 0;
top: 0;
}
}
[data-drag-type="move"] {
cursor: move;
touch-action: none;
}
.clickable {
cursor: pointer;
}
.overlay-icon-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: $overlay-icon-bg;
.loading-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
.icon {
max-height: 2em;
max-width: 2em;
font-size: 2em;
}
}
}
.w-auto {
width: auto;
}
.bg-pulse-grey {
animation: bg-pulse-grey 2s infinite linear;
}
@keyframes bg-pulse-grey {
0% {
background-color: $gray-100;
}
50% {
background-color: darken($gray-100, 5%);
}
100% {
background-color: $gray-100;
}
}
@each $size, $length in $spacers {
.line-height-#{$size} {
line-height: $length !important; /* stylelint-disable-line declaration-no-important */
}
}
.dir-rtl {
.dir-rtl-hide {
display: none;
}
}
.dir-ltr {
.dir-ltr-hide {
display: none;
}
}
.paged-content-page-container {
min-height: 3.125rem;
}
body.h5p-embed {
#page-content {
display: inherit;
}
#maincontent {
display: none;
}
.h5pmessages {
min-height: 230px; // This should be the same height as default core_h5p iframes.
}
}
#h5pcontenttypes td {
vertical-align: middle;
}
#page.drawers {
form#h5peditor,
form#coolh5peditor,
.core_contentbank_viewcontent {
max-width: $h5p-content-maxwidth;
margin: 0 auto;
}
}
.text-decoration-none {
text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
}
.colour-inherit {
color: inherit !important; /* stylelint-disable-line declaration-no-important */
}
.position-right {
right: 0 !important; /* stylelint-disable-line declaration-no-important */
}
.overflow-hidden {
overflow: hidden !important; /* stylelint-disable-line declaration-no-important */
}
.text-break {
overflow-wrap: break-word !important; /* stylelint-disable-line declaration-no-important */
}
.word-break {
word-break: break-word !important; /* stylelint-disable-line declaration-no-important */
}
.z-index-0 {
z-index: 0 !important; /* stylelint-disable-line declaration-no-important */
}
.z-index-1 {
z-index: 1 !important; /* stylelint-disable-line declaration-no-important */
}
// These floats are deprecated in Bootstrap 4.3.1. It is still okay to use them in Moodle.
.float-left {
float: left !important; /* stylelint-disable-line declaration-no-important */
}
.float-right {
float: right !important; /* stylelint-disable-line declaration-no-important */
}
.img-responsive {
@include img-fluid();
}
input[disabled] {
cursor: not-allowed;
}
.fade.in {
opacity: 1;
}
.clamp-2 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.word-break-all {
word-break: break-all;
}
.matchtext {
background-color: lighten($primary, 40%);
color: $body-color;
height: 1.5rem;
}
.border-radius {
@if $enable-rounded {
@include border-radius($card-border-radius);
}
}
.v-hidden {
visibility: hidden;
}
// Any dialog (modal or dropdown) forced max-widths limits.
.dialog-big {
max-width: $modal-md;
}
.dialog-small {
max-width: $modal-sm;
}
@include media-breakpoint-up(sm) {
.dialog-big {
width: $modal-md;
}
.dialog-small {
width: $modal-sm;
}
}
/*
* Helpers to show elements only when a parent element has focus or hover.
*/
// Add this class to the element to hide.
.v-parent-focus {
opacity: 0;
visibility: hidden;
}
// Add this class to the parent element to control focus.
.focus-control:focus-within .v-parent-focus,
.focus-control:hover .v-parent-focus {
opacity: 1;
visibility: visible;
}
// Emoji picker.
$picker-width: 350px !default;
$picker-width-xs: 320px !default;
$picker-height: 400px !default;
$picker-row-height: 40px !default;
$picker-emoji-button-size: 40px !default;
$picker-emoji-button-font-size: 24px !default;
$picker-emoji-category-count: 9 !default;
$picker-emojis-per-row: 7 !default;
.emoji-picker {
width: $picker-width;
height: $picker-height;
.category-button {
padding: .375rem 0;
height: 100%;
width: divide($picker-width, $picker-emoji-category-count);
border-top: none;
border-left: none;
border-right: none;
border-bottom: 2px solid transparent;
&.selected {
border-bottom: 2px solid map-get($theme-colors, 'primary');
}
}
.emojis-container,
.search-results-container {
min-width: $picker-emojis-per-row * $picker-emoji-button-size;
}
.picker-row {
height: $picker-row-height;
.category-name {
line-height: $picker-row-height;
}
.emoji-button {
height: $picker-emoji-button-size;
width: $picker-emoji-button-size;
line-height: $picker-emoji-button-size;
font-size: $picker-emoji-button-font-size;
overflow: hidden;
}
}
.emoji-preview {
height: $picker-row-height;
font-size: $picker-row-height;
line-height: $picker-row-height;
}
.emoji-short-name {
line-height: $picker-row-height * 0.5;
}
@include media-breakpoint-down(xs) {
width: $picker-width-xs;
}
}
.emoji-auto-complete {
height: $picker-row-height;
.btn.btn-link.btn-icon.emoji-button {
height: $picker-emoji-button-size;
width: $picker-emoji-button-size;
line-height: $picker-emoji-button-size;
font-size: $picker-emoji-button-font-size;
&.active {
background-color: $gray-200;
}
}
}
.toast-wrapper {
max-width: $toast-max-width;
max-height: 0;
// Place these above any modals and other elements.
z-index: 1051;
> :first-child {
margin-top: $spacer;
}
}
@each $color, $value in $theme-colors {
.alert-#{$color} {
a {
color: darken(theme-color-level($color, $alert-color-level), 10%);
}
// Darken the close button text colour inside notification alerts for better contrast.
.close {
color: darken(theme-color-level($color, $alert-color-level), 20%);
opacity: 0.6;
}
}
}
.alert a {
font-weight: $font-weight-bold;
}
.breadcrumb:empty {
padding: 0;
}
@include media-breakpoint-down(sm) {
#page-navbar {
width: 100%;
}
.breadcrumb:not(:empty) {
width: 100%;
flex-wrap: nowrap;
margin-bottom: $spacer * 0.5;
.breadcrumb-item {
padding-top: $spacer * 0.33333;
padding-bottom: $spacer * 0.33333;
display: inline-flex;
overflow: hidden;
}
.breadcrumb-item a,
.breadcrumb-item span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.mform {
width: 100%;
padding-right: 15px;
padding-left: 15px;
}
.pagination {
flex-wrap: wrap;
justify-content: center;
}
.custom-select {
max-width: 100%;
}
.card .card-body {
padding: $card-spacer-x * 0.5;
}
#page-header {
.card {
border: 0;
.card-body {
padding: 0;
}
}
}
.nav-tabs:not(.more-nav),
.nav-pills {
margin: 0;
border: 0;
padding: $spacer * 0.125;
background-color: $gray-200;
.nav-item {
flex: 1 1 auto;
text-align: center;
}
.nav-link {
background: $white;
border: 0;
margin: $spacer * 0.125;
&.active {
@include button-outline-variant($gray-600);
border-color: $gray-600;
}
}
}
}
@media (max-width: map-get($grid-breakpoints, "sm")) and (max-height: 320px) {
div#page {
margin-top: 0;
}
.navbar.fixed-top {
position: relative;
z-index: inherit;
}
}
.link-underline {
text-decoration: underline;
&:focus {
text-decoration: none;
}
}
.alert.cta {
.cta-icon {
.icon {
padding: 0.3rem;
&.fa {
border-radius: 50%;
border-style: solid;
border-width: 0.125rem;
}
}
}
}
.core_payment_gateways_modal .custom-control-label::before,
.core_payment_gateways_modal .custom-control-label::after {
top: 45%;
}
$scrollbar-thumb: $primary;
$scrollbar-track: lighten($primary, 40%);
// simple scrollbars
.visual-scroll-x {
scrollbar-width: thin;
scrollbar-color: $scrollbar-thumb $scrollbar-track;
-ms-overflow-style: -ms-autohiding-scrollbar;
&::-webkit-scrollbar {
height: 8px; // for horizontal scrollbars
-webkit-appearance: none;
appearance: none;
}
&::-webkit-scrollbar-thumb {
background-color: $scrollbar-thumb;
border-right: $border-width solid $white;
}
&::-webkit-scrollbar-track {
background-color: $scrollbar-track;
border-right: $border-width solid $white;
}
}
// Thin scrollbars.
@mixin thin-scrolls($bg-track) {
// Firefox.
scrollbar-width: thin;
scrollbar-color: $thin-scroll-bg-thumb $bg-track;
// Chrome, Edge and Safari.
&::-webkit-scrollbar {
width: 12px;
}
&::-webkit-scrollbar-track {
background: $bg-track;
}
&::-webkit-scrollbar-thumb {
background-color: $thin-scroll-bg-thumb;
border-radius: 20px;
border: 3px solid $bg-track;
}
&::-webkit-scrollbar-thumb:hover {
background-color: $thin-scroll-bg-hover;
}
}
// Add top/bottom shadow to scrolling area.
@mixin scroll-shadow($background-colour: $white, $shadow-colour: $black, $shadow-size: 1rem) {
background:
linear-gradient($background-colour 30%, rgba($background-colour, 0)) center top,
linear-gradient(rgba($background-colour, 0), $background-colour 70%) center bottom,
radial-gradient(farthest-side at 50% 0, rgba($shadow-colour, 0.2), rgba($shadow-colour, 0)) center top,
radial-gradient(farthest-side at 50% 100%, rgba($shadow-colour, 0.2), rgba($shadow-colour, 0)) center bottom;
background-repeat: no-repeat;
background-size: 100% $shadow-size, 100% $shadow-size, 100% calc(#{$shadow-size} / 2), 100% calc(#{$shadow-size} / 2);
background-attachment: local, local, scroll, scroll;
}
// Generic dropzones and dragging styles.
body.dragging {
.drop-zone {
border: 1px dashed $dropzone-border;
}
.drop-up {
border-top: 1px solid $dropzone-border;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.drop-down {
border-bottom: 1px solid $dropzone-border;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.dragging {
opacity: .6;
}
}
.dragicon {
visibility: hidden;
}
.draggable:hover .dragicon {
visibility: visible;
cursor: move;
}
.dropzone-container {
cursor: pointer;
.dropzone {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
border: 2px dashed $filemanager-dnd-border-color;
border-radius: 0.5rem;
&.dragover {
border: 2px dashed $filemanager-dnd-upload-over-border-color;
}
}
.dropzone-icon {
color: $gray-500;
.icon {
font-size: 6em;
width: auto;
height: auto;
max-width: initial;
max-height: initial;
margin-right: 0;
}
}
.dropzone-sr-only-focusable {
&:active,
&:focus {
outline: 0;
box-shadow: $input-btn-focus-box-shadow;
z-index: $zindex-popover;
position: relative;
background: $sr-only-active-bg;
padding: 7px;
}
}
}
// Generic classes reactive components can use.
.overlay-preview {
background-color: $overlay-preview-bg;
border: 2px dashed $primary;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
.overlay-preview-wrapper {
position: absolute;
top: 0;
padding: 2rem;
width: 100%;
}
.overlay-preview-content {
position: relative;
top: 0;
padding: $modal-inner-padding;
margin: 0 auto;
width: 100%;
max-width: 600px;
background-color: $primary;
color: $white;
text-align: center;
font-size: $font-size-lg;
@include border-radius();
}
}
.overlay-preview-borders {
outline: 2px dashed $primary;
}
.waitstate {
display: none;
}
.stateready {
.waitstate {
display: inherit;
}
.whilenostate {
display: none;
}
}
// Collapsible list.
.collapse-list {
.collapse-list-item {
padding: $collapse-list-item-padding-y $collapse-list-item-padding-x;
&:hover,
&:focus {
background-color: $collapse-list-item-hover-bg;
border-color: $collapse-list-item-hover-border;
}
}
.collapse-list-item-content {
.collapse-list-item {
padding-left: calc(#{$collapse-list-item-padding-x} * 3);
}
}
}
.drawers {
.block_myoverview {
border: 0;
& > .card-body {
padding-top: 0 !important; /* stylelint-disable-line declaration-no-important */
padding-left: 0 !important; /* stylelint-disable-line declaration-no-important */
padding-right: 0 !important; /* stylelint-disable-line declaration-no-important */
}
}
}
.dropdown-toggle::after {
@extend .fa-solid;
content: fa-content($fa-var-chevron-down);
margin-right: 0;
margin-left: 4px;
font-size: 9px;
width: 9px;
border: 0;
}
.dropleft .dropdown-toggle::before {
border: 0;
@extend .fa-solid;
content: fa-content($fa-var-chevron-left);
font-size: 9px;
margin-left: 0;
margin-right: 4px;
width: 9px;
}
.dir-rtl .dropleft .dropdown-toggle::before {
content: fa-content($fa-var-chevron-right);
}
.dropright .dropdown-toggle::after {
border: 0;
@extend .fa-solid;
content: fa-content($fa-var-chevron-right);
}
.dir-rtl .dropright .dropdown-toggle::after {
content: fa-content($fa-var-chevron-left);
}
.dropup .dropdown-toggle::after {
border: 0;
@extend .fa-solid;
content: fa-content($fa-var-chevron-up);
}
.select-menu {
li:first-child {
ul[role="group"] {
padding: 0;
}
}
ul[role="group"] {
padding: 0.3rem 0 0 0;
margin: 0;
li:first-child {
cursor: default;
color: $gray-600;
padding: 0.25rem 1.5rem;
display: block;
}
.dropdown-item {
padding-left: 2.5rem;
}
}
.dropdown-item[aria-selected="true"] {
font-weight: bold;
}
}
[role="listbox"] [role="option"] {
cursor: pointer;
&[aria-selected="true"] {
font-weight: bold;
}
}
.initialbargroups ul {
-webkit-margin-start: 0; /* stylelint-disable-line */
margin-right: -1px;
}
.page-item {
&:first-child {
.page-link {
.initialbargroups & {
@include border-left-radius(0);
@include border-right-radius(0);
}
.initialbargroups .pagination-lg:first-child & {
@include border-left-radius($pagination-border-radius-lg);
}
.initialbargroups .pagination-sm:first-child & {
@include border-left-radius($pagination-border-radius-sm);
}
}
}
&:last-child {
.page-link {
.initialbargroups & {
@include border-left-radius(0);
@include border-right-radius(0);
}
.initialbargroups .pagination-lg:last-child & {
@include border-right-radius($pagination-border-radius-lg);
}
.initialbargroups .pagination-sm:last-child & {
@include border-right-radius($pagination-border-radius-sm);
}
}
}
}
blockquote {
margin: 0 0.5rem 1rem;
padding-left: 1rem;
color: $gray-700;
border-left: 5px solid $gray-400;
}
/* Prevent long strings exceeding page width */
.page-header-headings,
.coursename,
.categoryname,
.breadcrumb-item {
&:not(.text-truncate) {
word-break: normal;
overflow-wrap: anywhere;
white-space: normal;
}
}
/* Showmore component */
.showmore-container {
&.collapsed {
.collapsed-content {
display: block;
}
.expanded-content {
display: none;
}
}
&:not(.collapsed) {
.collapsed-content {
display: none;
}
.expanded-content {
display: block;
}
}
button {
float: right;
&.btn-link {
text-decoration: none;
}
.icon {
font-size: $btn-font-size-sm;
margin: 0;
}
}
}
/* Combobox search dropdowns */
.usersearchdropdown,
.gradesearchdropdown,
.groupsearchdropdown {
&.dropdown-menu {
width: 350px;
.searchresultitemscontainer {
max-height: 170px;
overflow: auto;
/* stylelint-disable declaration-no-important */
img {
height: 48px !important;
width: 48px !important;
}
}
}
}
/* Bulk actions in sticky footer. */
#sticky-footer {
[data-type="bulkactions"] {
display: flex;
flex: 0 0 100%;
align-items: center;
}
}
/* Choice list component. */
.choicelist {
// Choicelist is designed to fit inside a small modal.
min-width: calc(#{$modal-sm} - 25px);
// Align the font based icons.
i.icon {
vertical-align: middle;
}
}
/* General card customisations. */
.card.active {
border-color: $gray-500;
}