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;
11 background-color: $body-bg;
14 @include media-breakpoint-up(sm) {
16 border: $card-border-width solid $card-border-color;
18 @include border-radius($card-border-radius);
20 padding: $card-spacer-x;
24 @include media-breakpoint-up(sm) {
25 .context-header-settings-menu,
26 .region-main-settings-menu {
36 @include media-breakpoint-down(sm) {
37 .context-header-settings-menu,
38 .region-main-settings-menu {
40 justify-content: flex-end;
44 $gototop-bottom-position: 50px !default;
49 transition: opacity .7s ease 0s, visibility .1s ease .8s;
51 position: fixed; /* IE compatibility hack */
52 @supports (position: sticky) {
55 @supports (-ms-ime-align:auto) {
56 position: fixed; /* Edge compatibility hack */
58 bottom: $gototop-bottom-position;
63 transform: translateY(-100%);
67 @include media-breakpoint-down(sm) {
73 body.scrolled #goto-top-link {
76 transition: visibility 0s ease 0s, opacity .7s ease .1s;
79 .context-header-settings-menu .dropdown-toggle > .icon,
80 #region-main-settings-menu .dropdown-toggle > .icon {
85 /** Prevent user notifications overlapping with region main settings menu */
91 /** Page layout CSS starts **/
92 .layout-option-noheader #page-header,
93 .layout-option-nonavbar #page-navbar,
94 .layout-option-nofooter #page-footer,
95 .layout-option-nocourseheader .course-content-header,
96 .layout-option-nocoursefooter .course-content-footer {
100 /** Page layout CSS ends **/
112 direction: ltr !important; /* stylelint-disable-line declaration-no-important */
127 a.dimmed_text:visited,
131 .dimmed_text a:visited,
134 .usersuspended a:link,
135 .usersuspended a:visited,
141 // Accessible focus styling for links, add .aalink to links with custom css classes to get
142 // accessible focus styles.
144 #page-footer a:not([class]),
147 .activityinstance > a {
150 outline: $btn-focus-width solid transparent;
152 background-color: lighten($primary, 50%);
153 box-shadow: 0 -#{$btn-focus-width} lighten($primary, 50%), 0 $btn-focus-width $gray-800;
156 text-decoration: none;
160 // Accessible focus styling for buttons like elements that do not use the .btn class. Add
161 // .aabtn to you element if you need the same focus styles.
167 .list-group-item-action,
168 input[type="checkbox"],
175 .modal-dialog[tabindex="0"],
176 .moodle-dialogue-base .closebutton,
181 box-shadow: $input-btn-focus-box-shadow;
184 text-decoration: none;
197 box-shadow: $input-btn-focus-box-shadow;
207 .section li.activity,
208 .section li.movehere,
221 font-size: $font-size-xs;
231 color: map-get($theme-colors, 'warning');
236 color: map-get($theme-colors, 'success');
240 color: map-get($theme-colors, 'info');
243 .fitem.advanced .text-info {
251 a.autolink.glossary:hover {
254 /* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
255 .collapsibleregioncaption {
257 min-height: $line-height-base * $font-size-base;
260 .pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
264 .pagelayout-mydashboard #region-main {
267 background-color: transparent;
271 @include media-breakpoint-down(sm) {
272 .pagelayout-mydashboard,
281 .collapsibleregioncaption img {
282 vertical-align: middle;
285 .jsenabled .hiddenifjs {
293 .jsenabled .visibleifjs {
297 .jsenabled .collapsibleregion {
299 box-sizing: content-box;
302 .jsenabled .collapsed .collapsibleregioninner {
306 .collapsible-actions {
311 .jsenabled .collapsible-actions {
315 .collapsible-actions .collapseexpand {
317 background: url([[pix:t/collapsed]]) 2px center no-repeat;
320 .collapsible-actions .collapseexpand {
321 background: url([[pix:t/collapsed_rtl]]) right center no-repeat;
324 .collapsible-actions .collapse-all {
325 background-image: url([[pix:t/expanded]]);
328 .yui-overlay .yui-widget-bd {
329 background-color: #ffee69;
330 border: 1px solid #a6982b;
331 border-top-color: #d4c237;
341 background: transparent;
354 .pagingbar .thispage {
359 margin-right: 0.5rem;
367 .action-menu .dropdown-toggle {
368 text-decoration: none;
383 vertical-align: middle;
400 #addmembersform table {
405 table.flexible .emptyrow {
414 .arrow_button input {
421 // Minimum height required for a menu in a table inside a scrollable div.
422 // Position required for table sizing inside a flex container.
423 .no-overflow > .generaltable {
428 // Accessibility features
430 // Accessibility: text 'seen' by screen readers but not visual users.
440 // Accessibility: Skip block link, for keyboard-only users.
446 text-decoration: none;
467 .blog_entry .audience {
476 .blog_entry .content {
491 #doc-contents ul li {
492 list-style-type: none;
495 .groupmanagementtable td {
499 .groupmanagementtable #existingcell,
500 .groupmanagementtable #potentialcell {
504 .groupmanagementtable #buttonscell {
508 .groupmanagementtable #buttonscell p.arrow_button input {
515 .groupmanagementtable #removeselect_wrapper,
516 .groupmanagementtable #addselect_wrapper {
520 .groupmanagementtable #removeselect_wrapper label,
521 .groupmanagementtable #addselect_wrapper label {
532 display: inline-block;
535 .groupselector label {
536 display: inline-block;
543 border-bottom-right-radius: 0;
544 border-bottom-left-radius: 0;
549 border-top-left-radius: 0;
550 border-top-right-radius: 0;
559 .notepost .userpicture {
574 .path-my .coursebox {
579 margin: 15px 30px 10px 30px;
583 .path-my .coursebox .info {
615 .comment-area textarea {
620 -webkit-box-sizing: border-box;
621 -moz-box-sizing: border-box;
622 box-sizing: border-box;
635 vertical-align: text-bottom;
655 .comment-list li.first {
663 .comment-paging .pageno {
667 .comment-paging .curpage {
668 border: 1px solid #ccc;
671 .comment-message .picture {
676 .comment-message .text {
681 .comment-message .text p {
693 .comment-report-selectall {
701 .jsenabled .comment-link {
705 .jsenabled .showcommentsnonjs {
709 .jsenabled .comment-report-selectall {
713 * Completion progress report
715 .completion-expired {
716 color: map-get($theme-colors, 'warning');
719 .completion-expected {
720 font-size: $font-size-xs;
723 .completion-sortchoice,
724 .completion-identifyfield {
725 font-size: $font-size-xs;
726 vertical-align: bottom;
729 .completion-progresscell {
733 .completion-expired .completion-expected {
749 .path-tag .tag-index-items .tagarea {
750 border: 1px solid #e3e3e3;
756 .path-tag .tag-index-items .tagarea h3 {
758 padding: 3px 0 10px 0;
764 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
765 text-transform: uppercase;
766 word-wrap: break-word;
767 border-bottom: solid 1px #e3e3e3;
771 .path-tag .tagarea .controls,
772 .path-tag .tagarea .taggeditems {
776 .path-tag .tagarea .controls,
777 .path-tag .tag-backtoallitems {
781 .path-tag .tagarea .controls .gotopage.nextpage {
785 .path-tag .tagarea .controls .gotopage.prevpage {
789 .path-tag .tagarea .controls .exclusivemode {
790 display: inline-block;
793 .path-tag .tagarea .controls.controls-bottom {
797 .path-tag .tagarea .controls .gotopage.nextpage::after {
803 .path-tag .tagarea .controls .gotopage.prevpage::before {
813 color: map-get($theme-colors, 'warning');
816 .tag-management-table td,
817 .tag-management-table th {
818 vertical-align: middle;
822 .tag-management-table .inplaceeditable.inplaceeditingon input {
826 .path-admin-tag .addstandardtags {
834 .path-tag .tag-relatedtags {
838 .path-tag .tag-management-box {
842 .path-tag .tag-index-toc {
847 .path-tag .tag-index-toc li,
848 .path-tag .tag-management-box li {
853 .path-tag .tag-management-box li a.edittag {
854 background-image: url([[pix:moodle|i/settings]]);
857 .path-tag .tag-management-box li a.flagasinappropriate {
858 background-image: url([[pix:moodle|i/flagged]]);
861 .path-tag .tag-management-box li a.removefrommyinterests {
862 background-image: url([[pix:moodle|t/delete]]);
865 .path-tag .tag-management-box li a.addtomyinterests {
866 background-image: url([[pix:moodle|t/add]]);
869 .path-tag .tag-management-box li a {
870 background-repeat: no-repeat;
871 background-position: left;
875 .tag_feed.media-list .media .itemimage {
879 .tag_feed.media-list .media .itemimage img {
884 .tag_feed.media-list .media .media-body {
889 .tag_feed .media .muted a {
897 .tag_cloud .inline-list li {
901 .tag_cloud .tag_overflow {
994 .tag_list.hideoverlimit .overlimit {
998 .tag_list .tagmorelink {
1002 .tag_list.hideoverlimit .tagmorelink {
1006 .tag_list.hideoverlimit .taglesslink {
1013 #webservice-doc-generator td {
1015 border: 0 solid black;
1023 border-collapse: collapse;
1027 vertical-align: top;
1035 .userenrolment .subfield {
1039 .userenrolment .col_userdetails .subfield {
1043 .userenrolment .col_userdetails .subfield_picture {
1048 .userenrolment .col_lastseen {
1052 .userenrolment .col_role {
1056 .userenrolment .col_role .roles,
1057 .userenrolment .col_group .groups {
1061 .userenrolment .col_role .role {
1065 white-space: nowrap;
1068 .userenrolment .col_group .group {
1072 white-space: nowrap;
1075 .userenrolment .col_role .role a,
1076 .userenrolment .col_group .group a {
1081 .userenrolment .col_role .addrole,
1082 .userenrolment .col_group .addgroup {
1088 border-bottom: 1px solid #666;
1092 .userenrolment .col_role .addrole img,
1093 .userenrolment .col_group .addgroup img {
1094 vertical-align: baseline;
1097 .userenrolment .hasAllRoles .col_role .addrole {
1101 .userenrolment .col_enrol .enrolment {
1107 .userenrolment .col_enrol .enrolment a {
1113 background-color: #ccc;
1133 display: table-cell;
1136 .label .mod-indent {
1141 @include media-breakpoint-up(sm) {
1142 $mod-indent-size: 30px;
1143 /* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
1145 @for $i from 1 through 16 {
1146 $width: ($i * $mod-indent-size);
1154 width: (16 * $mod-indent-size);
1158 /* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
1159 .resourcecontent .mediaplugin_mp3 object {
1164 .resourcecontent audio.mediaplugin_html5audio {
1167 /** Large resource images should avoid hidden overflow **/
1171 /* Audio player size in 'inline' mode (can only change width, as above) */
1172 .mediaplugin_mp3 object {
1177 audio.mediaplugin_html5audio {
1180 /* TinyMCE moodle media preview frame should not have padding */
1181 .core_media_preview.pagelayout-embedded #content {
1185 .core_media_preview.pagelayout-embedded #maincontent {
1189 body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
1196 .path-rating .ratingtable {
1201 .path-rating .ratingtable th.rating {
1205 .path-rating .ratingtable td.rating,
1206 .path-rating .ratingtable td.time {
1207 white-space: nowrap;
1211 /* Moodle Dialogue Settings (moodle-core-dialogue) */
1212 .moodle-dialogue-base .moodle-dialogue-lightbox {
1213 background-color: $gray;
1216 // Prevent adding backdrops to popups in popups.
1218 .moodle-dialogue-base {
1219 .moodle-dialogue-lightbox {
1220 background-color: transparent;
1223 box-shadow: $popover-box-shadow;
1228 .moodle-dialogue-base .hidden,
1229 .moodle-dialogue-base .moodle-dialogue-hidden {
1237 .moodle-dialogue-base .moodle-dialogue-fullscreen {
1245 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1249 .moodle-dialogue-base .moodle-dialogue-fullscreen .closebutton {
1252 background-size: 100%;
1255 .moodle-dialogue-base .moodle-dialogue-wrap {
1256 background-color: #fff;
1257 border: 1px solid #ccc;
1260 // Show is a bootstrap 2 class - but we use it for modals. We don't want to enable it everywhere because they removed
1261 // it for a reason (conflicts with jquery .show()).
1266 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
1269 border-bottom: 1px solid #dee2e6;
1272 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
1273 // Undo some YUI damage.
1276 background: initial;
1281 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
1285 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
1295 .moodle-dialogue-base .closebutton {
1296 padding: $modal-header-padding;
1297 margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
1299 background-color: transparent;
1301 background-image: none;
1313 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
1316 background-color: $body-bg;
1320 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1331 .moodle-dialogue-exception .moodle-exception-param label {
1335 .moodle-dialogue-exception .param-stacktrace label {
1336 background-color: #eee;
1337 border: 1px solid #ccc;
1338 border-bottom-width: 0;
1341 .moodle-dialogue-exception .param-stacktrace pre {
1342 border: 1px solid #ccc;
1343 background-color: #fff;
1346 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1348 font-size: $font-size-sm;
1351 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1352 color: map-get($theme-colors, 'warning');
1353 font-size: $font-size-sm;
1356 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1359 border-bottom: 1px solid #eee;
1362 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
1366 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
1367 // Undo some YUI damage.
1368 background: initial;
1371 .moodle-dialogue-confirm .confirmation-message {
1375 .moodle-dialogue-confirm .confirmation-dialogue input {
1379 .moodle-dialogue-exception .moodle-exception-message {
1383 .moodle-dialogue-exception .moodle-exception-param {
1384 margin-bottom: 0.5em;
1387 .moodle-dialogue-exception .moodle-exception-param label {
1391 .moodle-dialogue-exception .param-stacktrace label {
1397 .moodle-dialogue-exception .param-stacktrace pre {
1403 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1404 display: inline-block;
1408 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1409 display: inline-block;
1414 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1417 padding-bottom: 4px;
1420 .moodle-dialogue .moodle-dialogue-bd .content-lightbox {
1426 background-color: white;
1430 /* Apply a default max-height on tooltip text */
1431 .moodle-dialogue .tooltiptext {
1435 .moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
1438 .moodle-dialogue-bd {
1444 * Chooser Dialogues (moodle-core-chooserdialogue)
1446 * This CSS belong to the chooser dialogue which should work both with, and
1447 * without javascript enabled
1449 /* Hide the dialog and it's title */
1450 .chooserdialoguebody,
1455 .moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
1459 .chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
1461 background: #f2f2f2;
1463 @include border-bottom-radius(10px);
1465 /* Center the submit buttons within the area */
1466 .choosercontainer #chooseform .submitbuttons {
1470 /* Fixed for safari browser on iPhone4S with ios7@mixin */
1472 @media (max-height: 639px) {
1473 .ios .choosercontainer #chooseform .submitbuttons {
1478 .choosercontainer #chooseform .submitbuttons input {
1482 /* Various settings for the options area */
1483 .choosercontainer #chooseform .options {
1485 border-bottom: 1px solid #bbb;
1487 /* Only set these options if we're showing the js container */
1488 .jschooser .choosercontainer #chooseform .alloptions {
1495 display: inline-block;
1499 display: inline-block;
1504 /* Settings for option rows and option subtypes */
1505 .choosercontainer #chooseform .moduletypetitle,
1506 .choosercontainer #chooseform .option,
1507 .choosercontainer #chooseform .nonoption {
1509 padding: 0 1.6em 0 1.6em;
1512 .choosercontainer #chooseform .moduletypetitle {
1513 text-transform: uppercase;
1515 padding-bottom: 0.4em;
1516 margin-bottom: 0.5rem;
1520 .choosercontainer #chooseform .option .typename,
1521 .choosercontainer #chooseform .nonoption .typename {
1522 padding: 0 0 0 0.5em;
1525 .choosercontainer #chooseform .modicon + .typename {
1529 .choosercontainer #chooseform .option input[type=radio],
1530 .choosercontainer #chooseform .option span.typename {
1531 vertical-align: middle;
1534 .choosercontainer #chooseform .option label {
1537 padding: ($spacer / 2) 0;
1538 border-bottom: 1px solid #fff;
1541 .choosercontainer #chooseform .option .icon {
1546 .choosercontainer #chooseform .nonoption {
1547 padding-left: 2.7em;
1549 padding-bottom: 0.1em;
1552 .choosercontainer #chooseform .subtype {
1554 padding: 0 1.6em 0 3.2em;
1557 .choosercontainer #chooseform .subtype .typename {
1558 margin: 0 0 0 0.2em;
1560 /* The instruction/help area */
1561 .jschooser .choosercontainer #chooseform .instruction,
1562 .jschooser .choosercontainer #chooseform .typesummary {
1571 background-color: #fff;
1576 /* Selected option settings */
1577 .jschooser .choosercontainer #chooseform .instruction,
1578 .choosercontainer #chooseform .selected .typesummary {
1582 .choosercontainer #chooseform .selected {
1583 background-color: #fff;
1589 @include media-breakpoint-down(xs) {
1590 .jsenabled .choosercontainer #chooseform .alloptions {
1594 .jsenabled .choosercontainer #chooseform .instruction,
1595 .jsenabled .choosercontainer #chooseform .typesummary {
1601 * Module chooser dialogue (moodle-core-chooserdialogue)
1603 * This CSS belong to the chooser dialogue which should work both with, and
1604 * without javascript enabled
1606 .modchooser .modal-body {
1611 flex-direction: column;
1613 .searchresultitemscontainer-wrapper {
1617 .carousel-item.active {
1620 .chooser-container {
1622 flex-direction: column;
1635 .carousel-item .loading-icon .icon {
1640 .modchooser .modal-footer {
1646 margin-bottom: .6rem;
1651 .modchoosercontainer.noscroll {
1655 .modchooser .searchcontainer .searchbar .input-group-append {
1656 align-items: center;
1661 vertical-align: middle;
1668 .modchoosercontainer .optionscontainer,
1669 .modchoosercontainer .searchresultitemscontainer {
1672 // 2 items per line.
1673 flex-basis: calc(50% - 0.5rem);
1687 text-decoration: none;
1694 .modchooser .modal-body .optionsummary {
1695 background-color: $white;
1713 border-top: 1px solid $gray-300;
1718 @include media-breakpoint-down(xs) {
1719 .path-course-view .modal-dialog.modal-lg,
1720 .path-course-view .modal-content,
1721 .modchooser .modal-body,
1722 .modchooser .modal-body .carousel,
1723 .modchooser .modal-body .carousel-inner,
1724 .modchooser .modal-body .carousel-item,
1725 .modchooser .modal-body .optionsummary,
1726 .modchoosercontainer,
1728 .searchresultitemscontainer {
1733 .path-course-view .modal-dialog.modal-lg {
1736 .modchooser .modal-body .searchresultitemscontainer-wrapper {
1741 @include media-breakpoint-up(sm) {
1742 .modchoosercontainer .optionscontainer .option,
1743 .modchoosercontainer .searchresultitemscontainer .option {
1744 // Three items per line.
1745 flex-basis: calc(33.33% - 0.5rem);
1749 @include media-breakpoint-up(lg) {
1750 .modchoosercontainer .optionscontainer .option,
1751 .modchoosercontainer .searchresultitemscontainer .option {
1752 // Six items per line.
1753 flex-basis: calc(16.66% - 0.5rem);
1757 /* Form element: listing */
1759 padding-bottom: 25px;
1760 padding-right: 10px;
1763 .formlistinginputradio {
1774 padding: 1px 19px 14px;
1775 background-color: white;
1776 border: 1px solid #ddd;
1778 @include border-radius(4px);
1789 background-color: whitesmoke;
1790 border: 1px solid #ddd;
1793 @include border-radius(4px 0 4px 0);
1800 @include border-radius(4px);
1805 border-bottom: 1px solid;
1806 border-color: #e1e1e8;
1807 border-left: 1px solid #e1e1e8;
1808 border-right: 1px solid #e1e1e8;
1809 background-color: #f7f7f9;
1811 @include border-radius(0 0 4px 4px);
1820 body.jsenabled .formlistingradio {
1824 body.jsenabled .formlisting {
1833 div.criteria-description {
1836 background: none repeat scroll 0 0 #f9f9f9;
1837 border: 1px solid #eee;
1847 display: inline-block;
1850 vertical-align: top;
1854 .badges li .badge-name {
1863 .badges li .badge-image {
1871 .badges li .badge-actions {
1875 .badges li .expireimage {
1886 background-color: transparent;
1891 display: inline-block;
1892 vertical-align: top;
1894 margin-bottom: 20px;
1917 display: inline-block;
1927 vertical-align: top;
1933 display: inline-block;
1939 display: inline-block;
1946 vertical-align: top;
1950 color: map-get($theme-colors, 'success');
1954 color: map-get($theme-colors, 'danger');
1958 color: map-get($theme-colors, 'warning');
1961 #page-badges-award .recipienttable tr td {
1962 vertical-align: top;
1965 #page-badges-award .recipienttable tr td.actions .actionbutton {
1971 #page-badges-award .recipienttable tr td.existing,
1972 #page-badges-award .recipienttable tr td.potential {
1976 #issued-badge-table .activatebadge {
1977 display: inline-block;
1981 background-color: $state-success-bg;
1984 .statusbox.inactive {
1985 background-color: $state-warning-bg;
1994 .statusbox .activatebadge {
1995 display: inline-block;
1998 .statusbox .activatebadge input[type=submit] {
2005 vertical-align: middle;
2008 img#persona_signin {
2016 .invisiblefieldset {
2033 nav.navbar .logo img {
2037 /** Header-bar styles **/
2038 .page-context-header {
2039 // We need to be explicit about the height of the header.
2040 $pageHeaderHeight: 140px;
2042 // Do not remove these rules.
2047 .page-header-headings {
2053 .page-header-image {
2057 display: inline-block;
2061 .page-header-headings,
2062 .header-button-group {
2065 vertical-align: middle;
2068 .header-button-group {
2074 ul.dragdrop-keyboard-drag li {
2075 list-style-type: none;
2080 text-decoration: none;
2091 .progressbar_container {
2096 /* IE10 only fix for calendar titling */
2097 .ie10 .yui3-calendar-header-label {
2098 display: inline-block;
2111 // Active tabs with links should have a different
2112 // cursor to indicate they are clickable.
2113 .nav-tabs > .active > a[href],
2114 .nav-tabs > .active > a[href]:hover,
2115 .nav-tabs > .active > a[href]:focus {
2120 &.inplaceeditingon {
2125 font-weight: normal;
2130 white-space: nowrap;
2132 @include media-breakpoint-up(sm) {
2135 vertical-align: text-bottom;
2145 .quickediticon img {
2151 text-decoration: inherit;
2154 &:hover .quickeditlink .quickediticon img,
2155 .quickeditlink:focus .quickediticon img {
2159 &.inplaceeditable-toggle .quickediticon {
2163 &.inplaceeditable-autocomplete {
2168 h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
2180 .chart-output-htmltable caption {
2181 white-space: nowrap;
2183 /** When accessible, we display the table only. */
2185 .chart-table-expand {
2200 /* YUI 2 Tree View */
2221 background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
2225 .hover-tooltip-container {
2234 top: calc(-50% - 5px);
2235 transform: translate(-50%, -50%);
2236 background-color: #fff;
2237 border: 1px solid rgba(0, 0, 0, .2);
2238 border-radius: .3rem;
2239 box-sizing: border-box;
2241 white-space: nowrap;
2242 transition: opacity 0.15s, visibility 0.15s;
2247 display: inline-block;
2248 border-left: 8px solid transparent;
2249 border-right: 8px solid transparent;
2250 border-top: 8px solid rgba(0, 0, 0, .2);
2253 left: calc(50% - 8px);
2258 display: inline-block;
2259 border-left: 7px solid transparent;
2260 border-right: 7px solid transparent;
2261 border-top: 7px solid #fff;
2264 left: calc(50% - 7px);
2272 visibility: visible;
2273 transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
2282 margin-right: $grid-gutter-width / 2;
2283 background-color: $card-bg;
2285 @include media-breakpoint-down(sm) {
2287 margin-top: $grid-gutter-width;
2293 // Footer link colour was added to allow the colour of footer links to be changed,
2294 // but really in bootstrap we want the colour of links on .bg-inverse to be changed
2295 // rather than being specific to the footer. This is kept for backwards compatibility.
2296 $footer-link-color: $bg-inverse-link-color !default;
2298 color: $footer-link-color;
2299 text-decoration: underline;
2301 color: $footer-link-color;
2309 color: $bg-inverse-link-color;
2310 text-decoration: underline;
2312 color: $bg-inverse-link-color;
2322 // Make links in a menu clickable anywhere in the row.
2328 .dropdown-item:active a {
2329 color: $dropdown-link-active-color;
2334 padding-left: 1.5rem;
2338 .sr-only-focusable {
2341 z-index: $zindex-navbar-fixed + 1;
2350 [data-drag-type="move"] {
2359 .overlay-icon-container {
2365 background-color: rgba(255, 255, 255, 0.6);
2371 transform: translate(-50%, -50%);
2381 .open.atto_menu > .dropdown-menu {
2384 div.editor_atto_toolbar button .icon {
2392 animation: bg-pulse-grey 2s infinite linear;
2395 @keyframes bg-pulse-grey {
2397 background-color: $gray-100;
2400 background-color: darken($gray-100, 5%);
2403 background-color: $gray-100;
2407 @each $size, $length in $spacers {
2408 .line-height-#{$size} {
2409 line-height: $length !important; /* stylelint-disable-line declaration-no-important */
2425 .paged-content-page-container {
2426 min-height: 3.125rem;
2437 min-height: 230px; // This should be the same height as default core_h5p iframes.
2441 .text-decoration-none {
2442 text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
2446 color: inherit !important; /* stylelint-disable-line declaration-no-important */
2450 right: 0 !important; /* stylelint-disable-line declaration-no-important */
2454 overflow: hidden !important; /* stylelint-disable-line declaration-no-important */
2458 overflow-wrap: break-word !important; /* stylelint-disable-line declaration-no-important */
2462 z-index: 0 !important; /* stylelint-disable-line declaration-no-important */
2466 z-index: 1 !important; /* stylelint-disable-line declaration-no-important */
2469 // These floats are deprecated in Bootstrap 4.3.1. It is still okay to use them in Moodle.
2471 float: left !important; /* stylelint-disable-line declaration-no-important */
2474 float: right !important; /* stylelint-disable-line declaration-no-important */
2478 display: -webkit-box;
2479 -webkit-box-orient: vertical;
2480 -webkit-line-clamp: 2;
2485 word-break: break-all;
2489 background-color: lighten($primary, 40%);
2495 @if $enable-rounded {
2496 @include border-radius($card-border-radius);
2501 $picker-width: 350px !default;
2502 $picker-width-xs: 320px !default;
2503 $picker-height: 400px !default;
2504 $picker-row-height: 40px !default;
2505 $picker-emoji-button-size: 40px !default;
2506 $picker-emoji-button-font-size: 24px !default;
2507 $picker-emoji-category-count: 9 !default;
2508 $picker-emojis-per-row: 7 !default;
2511 width: $picker-width;
2512 height: $picker-height;
2517 width: $picker-width / $picker-emoji-category-count;
2521 border-bottom: 2px solid transparent;
2524 border-bottom: 2px solid map-get($theme-colors, 'primary');
2529 .search-results-container {
2530 min-width: $picker-emojis-per-row * $picker-emoji-button-size;
2534 height: $picker-row-height;
2537 line-height: $picker-row-height;
2541 height: $picker-emoji-button-size;
2542 width: $picker-emoji-button-size;
2543 line-height: $picker-emoji-button-size;
2544 font-size: $picker-emoji-button-font-size;
2547 @include hover-focus {
2549 text-decoration: none;
2555 height: $picker-row-height;
2556 font-size: $picker-row-height;
2557 line-height: $picker-row-height;
2561 line-height: $picker-row-height / 2;
2564 @include media-breakpoint-down(xs) {
2565 width: $picker-width-xs;
2569 .emoji-auto-complete {
2570 height: $picker-row-height;
2572 .btn.btn-link.btn-icon.emoji-button {
2573 height: $picker-emoji-button-size;
2574 width: $picker-emoji-button-size;
2575 line-height: $picker-emoji-button-size;
2576 font-size: $picker-emoji-button-font-size;
2579 background-color: $gray-200;
2585 max-width: $toast-max-width;
2587 // Place these above any modals and other elements.
2591 margin-top: $spacer;
2595 @each $color, $value in $theme-colors {
2596 .alert-#{$color} a {
2597 color: darken(theme-color-level($color, $alert-color-level), 10%);
2601 @include media-breakpoint-down(sm) {
2606 .breadcrumb:not(:empty) {
2608 border: ($border-width * 2) solid $gray-200;
2609 padding: $spacer / 4;
2610 margin-bottom: $spacer / 2;
2612 padding-top: $spacer / 3;
2613 padding-bottom: $spacer / 3;
2614 display: inline-block;
2620 padding-right: 15px;
2625 justify-content: center;
2631 padding: $card-spacer-x / 2;
2645 padding: $spacer / 8;
2646 background-color: $gray-200;
2654 margin: $spacer / 8;
2656 @include button-outline-variant($gray-600);
2657 border-color: $gray-600;
2663 @media (max-width: map-get($grid-breakpoints, "sm")) and (max-height: 320px) {