3 // When we upgrade boostrap to v4 release, we will need to change this to be used by the text-white class.
4 // Because a primary colour that is both AA accessible on grey (footer) and white is not possible, we always
5 // want white default colour.
6 $bg-inverse-link-color: #fff !default;
8 $font-size-xs: ($font-size-base * .75) !default;
13 background-color: $body-bg;
16 @include media-breakpoint-up(sm) {
18 border: $card-border-width solid $card-border-color;
20 @include border-radius($card-border-radius);
22 padding: $card-spacer-x;
26 @include media-breakpoint-up(sm) {
27 .context-header-settings-menu,
28 .region-main-settings-menu {
38 @include media-breakpoint-down(sm) {
39 .context-header-settings-menu,
40 .region-main-settings-menu {
42 justify-content: flex-end;
46 $gototop-bottom-position: 50px !default;
51 transition: opacity .7s ease 0s, visibility .1s ease .8s;
54 bottom: $gototop-bottom-position;
59 transform: translateY(-100%);
63 @include media-breakpoint-down(sm) {
69 body.scrolled #goto-top-link {
72 transition: visibility 0s ease 0s, opacity .7s ease .1s;
75 .context-header-settings-menu .dropdown-toggle > .icon,
76 #region-main-settings-menu .dropdown-toggle > .icon {
81 /** Prevent user notifications overlapping with region main settings menu */
87 /** Page layout CSS starts **/
88 .layout-option-noheader #page-header,
89 .layout-option-nonavbar #page-navbar,
90 .layout-option-nofooter #page-footer,
91 .layout-option-nocourseheader .course-content-header,
92 .layout-option-nocoursefooter .course-content-footer {
96 /** Page layout CSS ends **/
108 direction: ltr !important; /* stylelint-disable-line declaration-no-important */
123 a.dimmed_text:visited,
127 .dimmed_text a:visited,
130 .usersuspended a:link,
131 .usersuspended a:visited,
137 // Accessible focus styling for links, add .aalink to links with custom css classes to get
138 // accessible focus styles.
140 #page-footer a:not([class]),
143 .activityinstance > a {
146 outline: $btn-focus-width solid transparent;
148 background-color: lighten($primary, 50%);
149 box-shadow: 0 -#{$btn-focus-width} lighten($primary, 50%), 0 $btn-focus-width $gray-800;
152 text-decoration: none;
156 // Accessible focus styling for buttons like elements that do not use the .btn class. Add
157 // .aabtn to you element if you need the same focus styles.
163 .list-group-item-action,
164 input[type="checkbox"],
170 .modal-dialog[tabindex="0"],
171 .moodle-dialogue-base .closebutton,
173 .form-autocomplete-selection {
177 box-shadow: $input-btn-focus-box-shadow;
180 text-decoration: none;
184 // Accessible focus styling for autocomplete elements.
185 .form-autocomplete-suggestions li[aria-selected=true] {
187 box-shadow: $input-btn-focus-box-shadow;
190 // Safari does not allow custom styling of checkboxes.
192 input[type="checkbox"],
193 input[type="radio"] {
207 .section li.activity,
208 .section li.movehere,
215 .section li.movehere a {
219 border: 2px dashed $gray-800;
222 .editing .course-content .hidden.sectionname {
233 font-size: $font-size-xs;
243 color: map-get($theme-colors, 'warning');
248 color: map-get($theme-colors, 'success');
252 color: map-get($theme-colors, 'info');
255 .fitem.advanced .text-info {
263 a.autolink.glossary:hover {
266 /* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
267 .collapsibleregioncaption {
269 min-height: $line-height-base * $font-size-base;
272 .pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
276 .pagelayout-mydashboard #region-main {
279 background-color: transparent;
283 @include media-breakpoint-down(sm) {
284 .pagelayout-mydashboard,
293 .collapsibleregioncaption img {
294 vertical-align: middle;
297 .jsenabled .hiddenifjs {
305 .jsenabled .visibleifjs {
309 .jsenabled .collapsibleregion {
311 box-sizing: content-box;
314 .jsenabled .collapsed .collapsibleregioninner {
318 .collapsible-actions {
323 .jsenabled .collapsible-actions {
327 .collapsible-actions .collapseexpand {
329 background: url([[pix:t/collapsed]]) 2px center no-repeat;
332 .collapsible-actions .collapseexpand {
333 background: url([[pix:t/collapsed_rtl]]) right center no-repeat;
336 .collapsible-actions .collapse-all {
337 background-image: url([[pix:t/expanded]]);
340 .yui-overlay .yui-widget-bd {
341 background-color: #ffee69;
342 border: 1px solid #a6982b;
343 border-top-color: #d4c237;
353 background: transparent;
366 .pagingbar .thispage {
371 margin-right: 0.5rem;
379 .action-menu .dropdown-toggle {
380 text-decoration: none;
395 vertical-align: middle;
412 #addmembersform table {
417 table.flexible .emptyrow {
426 .arrow_button input {
433 // Minimum height required for a menu in a table inside a scrollable div.
434 // Position required for table sizing inside a flex container.
435 .no-overflow > .generaltable {
440 // Accessibility features
442 // Accessibility: text 'seen' by screen readers but not visual users.
452 // Accessibility: Skip block link, for keyboard-only users.
458 text-decoration: none;
479 .blog_entry .audience {
488 .blog_entry .content {
503 #doc-contents ul li {
504 list-style-type: none;
507 .groupmanagementtable td {
511 .groupmanagementtable #existingcell,
512 .groupmanagementtable #potentialcell {
516 .groupmanagementtable #buttonscell {
520 .groupmanagementtable #buttonscell p.arrow_button input {
527 .groupmanagementtable #removeselect_wrapper,
528 .groupmanagementtable #addselect_wrapper {
532 .groupmanagementtable #removeselect_wrapper label,
533 .groupmanagementtable #addselect_wrapper label {
544 display: inline-block;
547 .groupselector label {
548 display: inline-block;
555 border-bottom-right-radius: 0;
556 border-bottom-left-radius: 0;
561 border-top-left-radius: 0;
562 border-top-right-radius: 0;
571 .notepost .userpicture {
586 .path-my .coursebox {
591 margin: 15px 30px 10px 30px;
595 .path-my .coursebox .info {
627 .comment-area textarea {
632 -webkit-box-sizing: border-box;
633 -moz-box-sizing: border-box;
634 box-sizing: border-box;
647 vertical-align: text-bottom;
667 .comment-list li.first {
675 .comment-paging .pageno {
679 .comment-paging .curpage {
680 border: 1px solid #ccc;
683 .comment-message .picture {
688 .comment-message .text {
693 .comment-message .text p {
705 .comment-report-selectall {
713 .jsenabled .comment-link {
717 .jsenabled .showcommentsnonjs {
721 .jsenabled .comment-report-selectall {
725 * Completion progress report
727 .completion-expired {
728 color: map-get($theme-colors, 'warning');
731 .completion-expected {
732 font-size: $font-size-xs;
735 .completion-sortchoice,
736 .completion-identifyfield {
737 font-size: $font-size-xs;
738 vertical-align: bottom;
741 .completion-progresscell {
745 .completion-expired .completion-expected {
761 .path-tag .tag-index-items .tagarea {
762 border: 1px solid #e3e3e3;
768 .path-tag .tag-index-items .tagarea h3 {
770 padding: 3px 0 10px 0;
776 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
777 text-transform: uppercase;
778 word-wrap: break-word;
779 border-bottom: solid 1px #e3e3e3;
783 .path-tag .tagarea .controls,
784 .path-tag .tagarea .taggeditems {
788 .path-tag .tagarea .controls,
789 .path-tag .tag-backtoallitems {
793 .path-tag .tagarea .controls .gotopage.nextpage {
797 .path-tag .tagarea .controls .gotopage.prevpage {
801 .path-tag .tagarea .controls .exclusivemode {
802 display: inline-block;
805 .path-tag .tagarea .controls.controls-bottom {
809 .path-tag .tagarea .controls .gotopage.nextpage::after {
815 .path-tag .tagarea .controls .gotopage.prevpage::before {
825 color: map-get($theme-colors, 'warning');
828 .tag-management-table td,
829 .tag-management-table th {
830 vertical-align: middle;
834 .tag-management-table .inplaceeditable.inplaceeditingon input {
838 .path-admin-tag .addstandardtags {
846 .path-tag .tag-relatedtags {
850 .path-tag .tag-management-box {
854 .path-tag .tag-index-toc {
859 .path-tag .tag-index-toc li,
860 .path-tag .tag-management-box li {
865 .path-tag .tag-management-box li a.edittag {
866 background-image: url([[pix:moodle|i/settings]]);
869 .path-tag .tag-management-box li a.flagasinappropriate {
870 background-image: url([[pix:moodle|i/flagged]]);
873 .path-tag .tag-management-box li a.removefrommyinterests {
874 background-image: url([[pix:moodle|t/delete]]);
877 .path-tag .tag-management-box li a.addtomyinterests {
878 background-image: url([[pix:moodle|t/add]]);
881 .path-tag .tag-management-box li a {
882 background-repeat: no-repeat;
883 background-position: left;
887 .tag_feed.media-list .media .itemimage {
891 .tag_feed.media-list .media .itemimage img {
896 .tag_feed.media-list .media .media-body {
901 .tag_feed .media .muted a {
909 .tag_cloud .inline-list li {
913 .tag_cloud .tag_overflow {
1006 .tag_list.hideoverlimit .overlimit {
1010 .tag_list .tagmorelink {
1014 .tag_list.hideoverlimit .tagmorelink {
1018 .tag_list.hideoverlimit .taglesslink {
1025 #webservice-doc-generator td {
1027 border: 0 solid black;
1035 border-collapse: collapse;
1039 vertical-align: top;
1047 .userenrolment .subfield {
1051 .userenrolment .col_userdetails .subfield {
1055 .userenrolment .col_userdetails .subfield_picture {
1060 .userenrolment .col_lastseen {
1064 .userenrolment .col_role {
1068 .userenrolment .col_role .roles,
1069 .userenrolment .col_group .groups {
1073 .userenrolment .col_role .role {
1077 white-space: nowrap;
1080 .userenrolment .col_group .group {
1084 white-space: nowrap;
1087 .userenrolment .col_role .role a,
1088 .userenrolment .col_group .group a {
1093 .userenrolment .col_role .addrole,
1094 .userenrolment .col_group .addgroup {
1100 border-bottom: 1px solid #666;
1104 .userenrolment .col_role .addrole img,
1105 .userenrolment .col_group .addgroup img {
1106 vertical-align: baseline;
1109 .userenrolment .hasAllRoles .col_role .addrole {
1113 .userenrolment .col_enrol .enrolment {
1119 .userenrolment .col_enrol .enrolment a {
1125 background-color: #ccc;
1145 display: table-cell;
1148 .label .mod-indent {
1153 @include media-breakpoint-up(sm) {
1154 $mod-indent-size: 30px;
1155 /* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
1157 @for $i from 1 through 16 {
1158 $width: ($i * $mod-indent-size);
1166 width: (16 * $mod-indent-size);
1170 /* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
1171 .resourcecontent .mediaplugin_mp3 object {
1176 .resourcecontent audio.mediaplugin_html5audio {
1179 /** Large resource images should avoid hidden overflow **/
1183 /* Audio player size in 'inline' mode (can only change width, as above) */
1184 .mediaplugin_mp3 object {
1189 audio.mediaplugin_html5audio {
1192 /* TinyMCE moodle media preview frame should not have padding */
1193 .core_media_preview.pagelayout-embedded #content {
1197 .core_media_preview.pagelayout-embedded #maincontent {
1201 body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
1208 .path-rating .ratingtable {
1213 .path-rating .ratingtable th.rating {
1217 .path-rating .ratingtable td.rating,
1218 .path-rating .ratingtable td.time {
1219 white-space: nowrap;
1223 /* Moodle Dialogue Settings (moodle-core-dialogue) */
1224 .moodle-dialogue-base .moodle-dialogue-lightbox {
1225 background-color: $gray-700;
1228 // Prevent adding backdrops to popups in popups.
1230 .moodle-dialogue-base {
1231 .moodle-dialogue-lightbox {
1232 background-color: transparent;
1235 box-shadow: $popover-box-shadow;
1240 .moodle-dialogue-base .hidden,
1241 .moodle-dialogue-base .moodle-dialogue-hidden {
1249 .moodle-dialogue-base .moodle-dialogue-fullscreen {
1257 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1261 .moodle-dialogue-base .moodle-dialogue-wrap {
1262 background-color: #fff;
1263 border: 1px solid #ccc;
1266 // Show is a bootstrap 2 class - but we use it for modals. We don't want to enable it everywhere because they removed
1267 // it for a reason (conflicts with jquery .show()).
1272 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
1275 border-bottom: 1px solid #dee2e6;
1278 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
1279 // Undo some YUI damage.
1282 background: initial;
1287 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
1291 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
1301 .moodle-dialogue-base .closebutton {
1302 padding: $modal-header-padding;
1303 margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
1305 background-color: transparent;
1307 background-image: none;
1319 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
1322 background-color: $body-bg;
1326 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1337 .moodle-dialogue-exception .moodle-exception-param label {
1341 .moodle-dialogue-exception .param-stacktrace label {
1342 background-color: #eee;
1343 border: 1px solid #ccc;
1344 border-bottom-width: 0;
1347 .moodle-dialogue-exception .param-stacktrace pre {
1348 border: 1px solid #ccc;
1349 background-color: #fff;
1352 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1354 font-size: $font-size-sm;
1357 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1358 color: map-get($theme-colors, 'warning');
1359 font-size: $font-size-sm;
1362 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1365 border-bottom: 1px solid #eee;
1368 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
1372 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
1373 // Undo some YUI damage.
1374 background: initial;
1377 .moodle-dialogue-confirm .confirmation-message {
1381 .moodle-dialogue-confirm .confirmation-dialogue input {
1385 .moodle-dialogue-exception .moodle-exception-message {
1389 .moodle-dialogue-exception .moodle-exception-param {
1390 margin-bottom: 0.5em;
1393 .moodle-dialogue-exception .moodle-exception-param label {
1397 .moodle-dialogue-exception .param-stacktrace label {
1403 .moodle-dialogue-exception .param-stacktrace pre {
1409 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1410 display: inline-block;
1414 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1415 display: inline-block;
1420 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1423 padding-bottom: 4px;
1426 .moodle-dialogue .moodle-dialogue-bd .content-lightbox {
1432 background-color: white;
1436 /* Apply a default max-height on tooltip text */
1437 .moodle-dialogue .tooltiptext {
1441 .moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
1444 .moodle-dialogue-bd {
1450 * Chooser Dialogues (moodle-core-chooserdialogue)
1452 * This CSS belong to the chooser dialogue which should work both with, and
1453 * without javascript enabled
1455 /* Hide the dialog and it's title */
1456 .chooserdialoguebody,
1461 .moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
1465 .chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
1467 background: #f2f2f2;
1469 @include border-bottom-radius(10px);
1471 /* Center the submit buttons within the area */
1472 .choosercontainer #chooseform .submitbuttons {
1476 /* Fixed for safari browser on iPhone4S with ios7@mixin */
1478 @media (max-height: 639px) {
1479 .ios .choosercontainer #chooseform .submitbuttons {
1484 .choosercontainer #chooseform .submitbuttons input {
1488 /* Various settings for the options area */
1489 .choosercontainer #chooseform .options {
1491 border-bottom: 1px solid #bbb;
1493 /* Only set these options if we're showing the js container */
1494 .jschooser .choosercontainer #chooseform .alloptions {
1501 display: inline-block;
1505 display: inline-block;
1510 /* Settings for option rows and option subtypes */
1511 .choosercontainer #chooseform .moduletypetitle,
1512 .choosercontainer #chooseform .option,
1513 .choosercontainer #chooseform .nonoption {
1515 padding: 0 1.6em 0 1.6em;
1518 .choosercontainer #chooseform .moduletypetitle {
1519 text-transform: uppercase;
1521 padding-bottom: 0.4em;
1522 margin-bottom: 0.5rem;
1526 .choosercontainer #chooseform .option .typename,
1527 .choosercontainer #chooseform .nonoption .typename {
1528 padding: 0 0 0 0.5em;
1531 .choosercontainer #chooseform .modicon + .typename {
1535 .choosercontainer #chooseform .option input[type=radio],
1536 .choosercontainer #chooseform .option span.typename {
1537 vertical-align: middle;
1540 .choosercontainer #chooseform .option label {
1543 padding: ($spacer / 2) 0;
1544 border-bottom: 1px solid #fff;
1547 .choosercontainer #chooseform .option .icon {
1552 .choosercontainer #chooseform .nonoption {
1553 padding-left: 2.7em;
1555 padding-bottom: 0.1em;
1558 .choosercontainer #chooseform .subtype {
1560 padding: 0 1.6em 0 3.2em;
1563 .choosercontainer #chooseform .subtype .typename {
1564 margin: 0 0 0 0.2em;
1566 /* The instruction/help area */
1567 .jschooser .choosercontainer #chooseform .instruction,
1568 .jschooser .choosercontainer #chooseform .typesummary {
1577 background-color: #fff;
1582 /* Selected option settings */
1583 .jschooser .choosercontainer #chooseform .instruction,
1584 .choosercontainer #chooseform .selected .typesummary {
1588 .choosercontainer #chooseform .selected {
1589 background-color: #fff;
1595 @include media-breakpoint-down(xs) {
1596 .jsenabled .choosercontainer #chooseform .alloptions {
1600 .jsenabled .choosercontainer #chooseform .instruction,
1601 .jsenabled .choosercontainer #chooseform .typesummary {
1607 * Module chooser dialogue (moodle-core-chooserdialogue)
1609 * This CSS belong to the chooser dialogue which should work both with, and
1610 * without javascript enabled
1612 .modchooser .modal-body {
1617 flex-direction: column;
1619 .searchresultitemscontainer-wrapper {
1623 .carousel-item.active {
1626 .chooser-container {
1628 flex-direction: column;
1641 .carousel-item .loading-icon .icon {
1649 .modchooser .modal-footer {
1651 background: $modal-content-bg;
1656 margin-bottom: .6rem;
1661 .modchoosercontainer.noscroll {
1665 .modchoosercontainer .optionscontainer,
1666 .modchoosercontainer .searchresultitemscontainer {
1669 // 2 items per line.
1670 flex-basis: calc(50% - 0.5rem);
1684 text-decoration: none;
1691 .modchooser .modal-body .optionsummary {
1692 background-color: $white;
1710 border-top: 1px solid $gray-300;
1715 @include media-breakpoint-down(xs) {
1716 .path-course-view .modal-dialog.modal-lg,
1717 .path-course-view .modal-content,
1718 .modchooser .modal-body,
1719 .modchooser .modal-body .carousel,
1720 .modchooser .modal-body .carousel-inner,
1721 .modchooser .modal-body .carousel-item,
1722 .modchooser .modal-body .optionsummary,
1723 .modchoosercontainer,
1725 .searchresultitemscontainer {
1730 .path-course-view .modal-dialog.modal-lg {
1733 .modchooser .modal-body .searchresultitemscontainer-wrapper {
1738 @include media-breakpoint-up(sm) {
1739 .modchoosercontainer .optionscontainer .option,
1740 .modchoosercontainer .searchresultitemscontainer .option {
1741 // Three items per line.
1742 flex-basis: calc(33.33% - 0.5rem);
1746 @include media-breakpoint-up(lg) {
1747 .modchoosercontainer .optionscontainer .option,
1748 .modchoosercontainer .searchresultitemscontainer .option {
1749 // Six items per line.
1750 flex-basis: calc(16.66% - 0.5rem);
1754 /* Form element: listing */
1756 padding-bottom: 25px;
1757 padding-right: 10px;
1760 .formlistinginputradio {
1771 padding: 1px 19px 14px;
1772 background-color: white;
1773 border: 1px solid #ddd;
1775 @include border-radius(4px);
1786 background-color: whitesmoke;
1787 border: 1px solid #ddd;
1790 @include border-radius(4px 0 4px 0);
1797 @include border-radius(4px);
1802 border-bottom: 1px solid;
1803 border-color: #e1e1e8;
1804 border-left: 1px solid #e1e1e8;
1805 border-right: 1px solid #e1e1e8;
1806 background-color: #f7f7f9;
1808 @include border-radius(0 0 4px 4px);
1817 body.jsenabled .formlistingradio {
1821 body.jsenabled .formlisting {
1830 div.criteria-description {
1833 background: none repeat scroll 0 0 #f9f9f9;
1834 border: 1px solid #eee;
1844 display: inline-block;
1847 vertical-align: top;
1851 .badges li .badge-name {
1860 .badges li .badge-image {
1868 .badges li .badge-actions {
1872 .badges li .expireimage {
1883 background-color: transparent;
1888 display: inline-block;
1889 vertical-align: top;
1891 margin-bottom: 20px;
1914 display: inline-block;
1924 vertical-align: top;
1930 display: inline-block;
1936 display: inline-block;
1943 vertical-align: top;
1947 color: map-get($theme-colors, 'success');
1951 color: map-get($theme-colors, 'danger');
1955 color: map-get($theme-colors, 'warning');
1958 #page-badges-award .recipienttable tr td {
1959 vertical-align: top;
1962 #page-badges-award .recipienttable tr td.actions .actionbutton {
1968 #page-badges-award .recipienttable tr td.existing,
1969 #page-badges-award .recipienttable tr td.potential {
1973 #issued-badge-table .activatebadge {
1974 display: inline-block;
1978 background-color: $state-success-bg;
1981 .statusbox.inactive {
1982 background-color: $state-warning-bg;
1991 .statusbox .activatebadge {
1992 display: inline-block;
1995 .statusbox .activatebadge input[type=submit] {
2002 vertical-align: middle;
2005 img#persona_signin {
2013 .invisiblefieldset {
2030 nav.navbar .logo img {
2038 .usermenu .dropdown-toggle {
2043 /** Header-bar styles **/
2044 .page-context-header {
2045 // We need to be explicit about the height of the header.
2046 $pageHeaderHeight: 140px;
2048 // Do not remove these rules.
2053 .page-header-headings {
2059 .page-header-image {
2063 display: inline-block;
2067 .page-header-headings,
2068 .header-button-group {
2071 vertical-align: middle;
2074 .header-button-group {
2080 ul.dragdrop-keyboard-drag li {
2081 list-style-type: none;
2086 text-decoration: none;
2097 .progressbar_container {
2102 /* IE10 only fix for calendar titling */
2103 .ie10 .yui3-calendar-header-label {
2104 display: inline-block;
2117 // Active tabs with links should have a different
2118 // cursor to indicate they are clickable.
2119 .nav-tabs > .active > a[href],
2120 .nav-tabs > .active > a[href]:hover,
2121 .nav-tabs > .active > a[href]:focus {
2126 &.inplaceeditingon {
2131 font-weight: normal;
2136 white-space: nowrap;
2138 @include media-breakpoint-up(sm) {
2141 vertical-align: text-bottom;
2151 .quickediticon img {
2157 text-decoration: inherit;
2160 &:hover .quickeditlink .quickediticon img,
2161 .quickeditlink:focus .quickediticon img {
2165 &.inplaceeditable-toggle .quickediticon {
2169 &.inplaceeditable-autocomplete {
2174 h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
2186 .chart-output-htmltable caption {
2187 white-space: nowrap;
2189 /** When accessible, we display the table only. */
2191 .chart-table-expand {
2204 -webkit-margin-start: 0.2rem; /* stylelint-disable-line */
2207 /* YUI 2 Tree View */
2228 background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
2232 .hover-tooltip-container {
2241 top: calc(-50% - 5px);
2242 transform: translate(-50%, -50%);
2243 background-color: #fff;
2244 border: 1px solid rgba(0, 0, 0, .2);
2245 border-radius: .3rem;
2246 box-sizing: border-box;
2248 white-space: nowrap;
2249 transition: opacity 0.15s, visibility 0.15s;
2254 display: inline-block;
2255 border-left: 8px solid transparent;
2256 border-right: 8px solid transparent;
2257 border-top: 8px solid rgba(0, 0, 0, .2);
2260 left: calc(50% - 8px);
2265 display: inline-block;
2266 border-left: 7px solid transparent;
2267 border-right: 7px solid transparent;
2268 border-top: 7px solid #fff;
2271 left: calc(50% - 7px);
2279 visibility: visible;
2280 transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
2289 margin-right: $grid-gutter-width / 2;
2290 background-color: $card-bg;
2292 @include media-breakpoint-down(sm) {
2294 margin-top: $grid-gutter-width;
2300 // Footer link colour was added to allow the colour of footer links to be changed,
2301 // but really in bootstrap we want the colour of links on .bg-inverse to be changed
2302 // rather than being specific to the footer. This is kept for backwards compatibility.
2303 $footer-link-color: $bg-inverse-link-color !default;
2305 color: $footer-link-color;
2306 text-decoration: underline;
2308 color: $footer-link-color;
2316 color: $bg-inverse-link-color;
2317 text-decoration: underline;
2319 color: $bg-inverse-link-color;
2329 // Make links in a menu clickable anywhere in the row.
2341 background-color: $dropdown-link-hover-bg;
2343 color: $dropdown-link-active-color;
2346 &[aria-current="true"] {
2349 align-items: center;
2352 content: $fa-var-circle;
2362 padding-left: 1.5rem;
2366 .sr-only-focusable {
2378 [data-drag-type="move"] {
2387 .overlay-icon-container {
2393 background-color: rgba(255, 255, 255, 0.6);
2399 transform: translate(-50%, -50%);
2414 animation: bg-pulse-grey 2s infinite linear;
2417 @keyframes bg-pulse-grey {
2419 background-color: $gray-100;
2422 background-color: darken($gray-100, 5%);
2425 background-color: $gray-100;
2429 @each $size, $length in $spacers {
2430 .line-height-#{$size} {
2431 line-height: $length !important; /* stylelint-disable-line declaration-no-important */
2447 .paged-content-page-container {
2448 min-height: 3.125rem;
2459 min-height: 230px; // This should be the same height as default core_h5p iframes.
2463 .text-decoration-none {
2464 text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
2468 color: inherit !important; /* stylelint-disable-line declaration-no-important */
2472 right: 0 !important; /* stylelint-disable-line declaration-no-important */
2476 overflow: hidden !important; /* stylelint-disable-line declaration-no-important */
2480 overflow-wrap: break-word !important; /* stylelint-disable-line declaration-no-important */
2484 word-break: break-word !important; /* stylelint-disable-line declaration-no-important */
2488 z-index: 0 !important; /* stylelint-disable-line declaration-no-important */
2492 z-index: 1 !important; /* stylelint-disable-line declaration-no-important */
2495 // These floats are deprecated in Bootstrap 4.3.1. It is still okay to use them in Moodle.
2497 float: left !important; /* stylelint-disable-line declaration-no-important */
2501 float: right !important; /* stylelint-disable-line declaration-no-important */
2505 @include img-fluid();
2509 cursor: not-allowed;
2521 display: -webkit-box;
2522 -webkit-box-orient: vertical;
2523 -webkit-line-clamp: 2;
2528 word-break: break-all;
2532 background-color: lighten($primary, 40%);
2538 @if $enable-rounded {
2539 @include border-radius($card-border-radius);
2544 $picker-width: 350px !default;
2545 $picker-width-xs: 320px !default;
2546 $picker-height: 400px !default;
2547 $picker-row-height: 40px !default;
2548 $picker-emoji-button-size: 40px !default;
2549 $picker-emoji-button-font-size: 24px !default;
2550 $picker-emoji-category-count: 9 !default;
2551 $picker-emojis-per-row: 7 !default;
2554 width: $picker-width;
2555 height: $picker-height;
2560 width: $picker-width / $picker-emoji-category-count;
2564 border-bottom: 2px solid transparent;
2567 border-bottom: 2px solid map-get($theme-colors, 'primary');
2572 .search-results-container {
2573 min-width: $picker-emojis-per-row * $picker-emoji-button-size;
2577 height: $picker-row-height;
2580 line-height: $picker-row-height;
2584 height: $picker-emoji-button-size;
2585 width: $picker-emoji-button-size;
2586 line-height: $picker-emoji-button-size;
2587 font-size: $picker-emoji-button-font-size;
2590 @include hover-focus {
2592 text-decoration: none;
2598 height: $picker-row-height;
2599 font-size: $picker-row-height;
2600 line-height: $picker-row-height;
2604 line-height: $picker-row-height / 2;
2607 @include media-breakpoint-down(xs) {
2608 width: $picker-width-xs;
2612 .emoji-auto-complete {
2613 height: $picker-row-height;
2615 .btn.btn-link.btn-icon.emoji-button {
2616 height: $picker-emoji-button-size;
2617 width: $picker-emoji-button-size;
2618 line-height: $picker-emoji-button-size;
2619 font-size: $picker-emoji-button-font-size;
2622 background-color: $gray-200;
2628 max-width: $toast-max-width;
2630 // Place these above any modals and other elements.
2634 margin-top: $spacer;
2638 @each $color, $value in $theme-colors {
2639 .alert-#{$color} a {
2640 color: darken(theme-color-level($color, $alert-color-level), 10%);
2644 font-weight: $font-weight-bold;
2647 @include media-breakpoint-down(sm) {
2652 .breadcrumb:not(:empty) {
2654 border: ($border-width * 2) solid $gray-200;
2655 padding: $spacer / 4;
2656 margin-bottom: $spacer / 2;
2658 padding-top: $spacer / 3;
2659 padding-bottom: $spacer / 3;
2660 display: inline-block;
2666 padding-right: 15px;
2671 justify-content: center;
2677 padding: $card-spacer-x / 2;
2691 padding: $spacer / 8;
2692 background-color: $gray-200;
2700 margin: $spacer / 8;
2702 @include button-outline-variant($gray-600);
2703 border-color: $gray-600;
2709 @media (max-width: map-get($grid-breakpoints, "sm")) and (max-height: 320px) {
2720 text-decoration: underline;
2722 text-decoration: none;
2731 border-style: solid;
2732 border-width: 0.125rem;
2736 .core_payment_gateways_modal .custom-control-label::before,
2737 .core_payment_gateways_modal .custom-control-label::after {