9 .context-header-settings-menu,
10 .region-main-settings-menu {
19 .context-header-settings-menu .dropdown-toggle > .icon,
20 #region-main-settings-menu .dropdown-toggle > .icon {
25 /** Prevent user notifications overlapping with region main settings menu */
31 /** Page layout CSS starts **/
32 .layout-option-noheader #page-header,
33 .layout-option-nonavbar #page-navbar,
34 .layout-option-nofooter #page-footer,
35 .layout-option-nocourseheader .course-content-header,
36 .layout-option-nocoursefooter .course-content-footer {
40 /** Page layout CSS ends **/
52 direction: ltr !important; /* stylelint-disable-line declaration-no-important */
67 a.dimmed_text:visited,
71 .dimmed_text a:visited,
74 .usersuspended a:link,
75 .usersuspended a:visited,
101 font-size: $font-size-xs;
111 @extend .text-warning;
116 @extend .text-success;
123 .fitem.advanced .text-info {
131 a.autolink.glossary:hover {
134 /* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
135 .collapsibleregioncaption {
137 min-height: $line-height-base * $font-size-base;
140 .pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
144 .collapsibleregioncaption img {
145 vertical-align: middle;
148 .jsenabled .hiddenifjs {
156 .jsenabled .visibleifjs {
160 .jsenabled .collapsibleregion {
162 box-sizing: content-box;
165 .jsenabled .collapsed .collapsibleregioninner {
169 .collapsible-actions {
174 .jsenabled .collapsible-actions {
178 .collapsible-actions .collapseexpand {
180 background: url([[pix:t/collapsed]]) 2px center no-repeat;
183 .collapsible-actions .collapseexpand {
184 background: url([[pix:t/collapsed_rtl]]) right center no-repeat;
187 .collapsible-actions .collapse-all {
188 background-image: url([[pix:t/expanded]]);
191 .yui-overlay .yui-widget-bd {
192 background-color: #ffee69;
193 border: 1px solid #a6982b;
194 border-top-color: #d4c237;
204 background: transparent;
217 .pagingbar .thispage {
222 margin-right: 0.5rem;
230 .action-menu .dropdown-toggle {
231 text-decoration: none;
238 .action-menu .userpicture {
245 .breadcrumb img.resize {
253 vertical-align: middle;
270 #addmembersform table {
275 table.flexible .emptyrow {
284 .arrow_button input {
291 .no-overflow > .generaltable {
294 // Accessibility features
296 // Accessibility: text 'seen' by screen readers but not visual users.
309 // Accessibility: Skip block link, for keyboard-only users.
315 text-decoration: none;
336 .blog_entry .audience {
345 .blog_entry .content {
349 #page-group-index #groupeditform {
363 #doc-contents ul li {
364 list-style-type: none;
367 .groupmanagementtable td {
371 .groupmanagementtable #existingcell,
372 .groupmanagementtable #potentialcell {
376 .groupmanagementtable #buttonscell {
380 .groupmanagementtable #buttonscell p.arrow_button input {
386 .groupmanagementtable #removeselect_wrapper,
387 .groupmanagementtable #addselect_wrapper {
391 .groupmanagementtable #removeselect_wrapper label,
392 .groupmanagementtable #addselect_wrapper label {
403 display: inline-block;
406 .groupselector label {
407 display: inline-block;
414 border-bottom-right-radius: 0;
415 border-bottom-left-radius: 0;
420 border-top-left-radius: 0;
421 border-top-right-radius: 0;
430 .notepost .userpicture {
445 .path-my .coursebox {
450 margin: 15px 30px 10px 30px;
454 .path-my .coursebox .info {
486 .comment-area textarea {
491 -webkit-box-sizing: border-box;
492 -moz-box-sizing: border-box;
493 box-sizing: border-box;
506 vertical-align: text-bottom;
526 .comment-list li.first {
534 .comment-paging .pageno {
538 .comment-paging .curpage {
539 border: 1px solid #ccc;
542 .comment-message .picture {
547 .comment-message .text {
552 .comment-message .text p {
564 .comment-report-selectall {
572 .jsenabled .comment-link {
576 .jsenabled .showcommentsnonjs {
580 .jsenabled .comment-report-selectall {
584 * Completion progress report
586 .completion-expired {
587 @extend .text-warning;
590 .completion-expected {
591 font-size: $font-size-xs;
594 .completion-sortchoice,
595 .completion-identifyfield {
596 font-size: $font-size-xs;
597 vertical-align: bottom;
600 .completion-progresscell {
604 .completion-expired .completion-expected {
620 .path-tag .tag-index-items .tagarea {
621 border: 1px solid #e3e3e3;
627 .path-tag .tag-index-items .tagarea h3 {
629 padding: 3px 0 10px 0;
635 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
636 text-transform: uppercase;
637 word-wrap: break-word;
638 border-bottom: solid 1px #e3e3e3;
642 .path-tag .tagarea .controls,
643 .path-tag .tagarea .taggeditems {
647 .path-tag .tagarea .controls,
648 .path-tag .tag-backtoallitems {
652 .path-tag .tagarea .controls .gotopage.nextpage {
656 .path-tag .tagarea .controls .gotopage.prevpage {
660 .path-tag .tagarea .controls .exclusivemode {
661 display: inline-block;
664 .path-tag .tagarea .controls.controls-bottom {
668 .path-tag .tagarea .controls .gotopage.nextpage::after {
674 .path-tag .tagarea .controls .gotopage.prevpage::before {
684 @extend .text-warning;
687 .tag-management-table td,
688 .tag-management-table th {
689 vertical-align: middle;
693 .tag-management-table .inplaceeditable.inplaceeditingon input {
697 .path-admin-tag .addstandardtags {
705 .path-tag .tag-relatedtags {
709 .path-tag .tag-management-box {
713 .path-tag .tag-index-toc {
718 .path-tag .tag-index-toc li,
719 .path-tag .tag-management-box li {
724 .path-tag .tag-management-box li a.edittag {
725 background-image: url([[pix:moodle|i/settings]]);
728 .path-tag .tag-management-box li a.flagasinappropriate {
729 background-image: url([[pix:moodle|i/flagged]]);
732 .path-tag .tag-management-box li a.removefrommyinterests {
733 background-image: url([[pix:moodle|t/delete]]);
736 .path-tag .tag-management-box li a.addtomyinterests {
737 background-image: url([[pix:moodle|t/add]]);
740 .path-tag .tag-management-box li a {
741 background-repeat: no-repeat;
742 background-position: left;
746 .tag_feed.media-list .media .itemimage {
750 .tag_feed.media-list .media .itemimage img {
755 .tag_feed.media-list .media .media-body {
760 .tag_feed .media .muted a {
768 .tag_cloud .inline-list li {
772 .tag_cloud .tag_overflow {
865 .tag_list.hideoverlimit .overlimit {
869 .tag_list .tagmorelink {
873 .tag_list.hideoverlimit .tagmorelink {
877 .tag_list.hideoverlimit .taglesslink {
884 #webservice-doc-generator td {
886 border: 0 solid black;
894 border-collapse: collapse;
906 .userenrolment .subfield {
910 .userenrolment .col_userdetails .subfield {
914 .userenrolment .col_userdetails .subfield_picture {
919 .userenrolment .col_lastseen {
923 .userenrolment .col_role {
927 .userenrolment .col_role .roles,
928 .userenrolment .col_group .groups {
932 .userenrolment .col_role .role {
939 .userenrolment .col_group .group {
946 .userenrolment .col_role .role a,
947 .userenrolment .col_group .group a {
952 .userenrolment .col_role .addrole,
953 .userenrolment .col_group .addgroup {
959 border-bottom: 1px solid #666;
963 .userenrolment .col_role .addrole img,
964 .userenrolment .col_group .addgroup img {
965 vertical-align: baseline;
968 .userenrolment .hasAllRoles .col_role .addrole {
972 .userenrolment .col_enrol .enrolment {
978 .userenrolment .col_enrol .enrolment a {
984 .enrol_user_buttons {
995 #page-enrol-users .enrol-users-page-action input {
1000 background-color: #ccc;
1020 display: table-cell;
1023 .label .mod-indent {
1027 $mod-indent-size: 30px;
1028 /* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
1030 @for $i from 1 through 16 {
1031 $width: ($i * $mod-indent-size);
1039 width: (16 * $mod-indent-size);
1042 /* Audio player size in 'block' mode (can only change width, height is hardcoded in JS) */
1043 .resourcecontent .mediaplugin_mp3 object {
1048 .resourcecontent audio.mediaplugin_html5audio {
1051 /** Large resource images should avoid hidden overflow **/
1055 /* Audio player size in 'inline' mode (can only change width, as above) */
1056 .mediaplugin_mp3 object {
1061 audio.mediaplugin_html5audio {
1064 /* TinyMCE moodle media preview frame should not have padding */
1065 .core_media_preview.pagelayout-embedded #content {
1069 .core_media_preview.pagelayout-embedded #maincontent {
1073 body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
1080 .path-rating .ratingtable {
1085 .path-rating .ratingtable th.rating {
1089 .path-rating .ratingtable td.rating,
1090 .path-rating .ratingtable td.time {
1091 white-space: nowrap;
1100 display: inline-block;
1104 text-overflow: ellipsis;
1105 white-space: nowrap;
1113 text-overflow: ellipsis;
1114 white-space: nowrap;
1123 display: inline-block;
1124 white-space: nowrap;
1135 display: inline-block;
1140 color: $pagination-color;
1141 border-width: $pagination-border-width;
1142 border-color: $pagination-border-color;
1143 border-style: solid;
1144 background-color: $pagination-bg;
1147 color: $pagination-hover-color;
1148 border-color: $pagination-hover-border;
1149 background-color: $pagination-hover-bg;
1153 color: $pagination-active-color;
1154 border-color: $pagination-active-border;
1155 background-color: $pagination-active-bg;
1160 @media (max-width: 400px) {
1163 /* This is chosen so that 23 letter at 320px just fits */
1170 /* Moodle Dialogue Settings (moodle-core-dialogue) */
1171 .moodle-dialogue-base .moodle-dialogue-lightbox {
1172 background-color: $gray;
1175 .moodle-dialogue-base .hidden,
1176 .moodle-dialogue-base .moodle-dialogue-hidden {
1184 .moodle-dialogue-base .moodle-dialogue-fullscreen {
1192 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1196 .moodle-dialogue-base .moodle-dialogue-fullscreen .closebutton {
1199 background-size: 100%;
1202 .moodle-dialogue-base .moodle-dialogue-wrap {
1203 background-color: #fff;
1204 border: 1px solid #ccc;
1207 // Show is a bootstrap 2 class - but we use it for modals. We don't want to enable it everywhere because they removed
1208 // it for a reason (conflicts with jquery .show()).
1213 .moodle-dialogue-base .moodle-dialogue-wrap.moodle-dialogue-content {
1214 @extend .modal-content;
1217 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
1218 @extend .modal-header;
1221 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
1222 // Undo some YUI damage.
1225 background: initial;
1230 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
1231 @extend .modal-title;
1234 .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd .yui3-widget-buttons {
1242 .moodle-dialogue-base .closebutton {
1250 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
1251 @extend .modal-body;
1254 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1265 .moodle-dialogue-exception .moodle-exception-param label {
1269 .moodle-dialogue-exception .param-stacktrace label {
1270 background-color: #eee;
1271 border: 1px solid #ccc;
1272 border-bottom-width: 0;
1275 .moodle-dialogue-exception .param-stacktrace pre {
1276 border: 1px solid #ccc;
1277 background-color: #fff;
1280 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1282 font-size: $font-size-sm;
1285 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1286 @extend .text-warning;
1287 font-size: $font-size-sm;
1290 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1293 border-bottom: 1px solid #eee;
1296 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft {
1297 @extend .modal-footer;
1300 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
1304 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft.yui3-widget-ft {
1305 // Undo some YUI damage.
1306 background: initial;
1309 .moodle-dialogue-confirm .confirmation-message {
1312 .moodle-dialogue-confirm .confirmation-buttons {
1316 .moodle-dialogue-confirm .confirmation-dialogue input {
1320 .moodle-dialogue-exception .moodle-exception-message {
1324 .moodle-dialogue-exception .moodle-exception-param {
1325 margin-bottom: 0.5em;
1328 .moodle-dialogue-exception .moodle-exception-param label {
1332 .moodle-dialogue-exception .param-stacktrace label {
1338 .moodle-dialogue-exception .param-stacktrace pre {
1344 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1345 display: inline-block;
1349 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1350 display: inline-block;
1355 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1358 padding-bottom: 4px;
1361 .moodle-dialogue .moodle-dialogue-bd .content-lightbox {
1367 background-color: white;
1371 /* Apply a default max-height on tooltip text */
1372 .moodle-dialogue .tooltiptext {
1376 .moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
1379 .moodle-dialogue-bd {
1385 * Chooser Dialogues (moodle-core-chooserdialogue)
1387 * This CSS belong to the chooser dialogue which should work both with, and
1388 * without javascript enabled
1390 /* Hide the dialog and it's title */
1391 .chooserdialoguebody,
1396 .moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
1400 .chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
1402 background: #f2f2f2;
1404 @include border-bottom-radius(10px);
1406 /* Center the submit buttons within the area */
1407 .choosercontainer #chooseform .submitbuttons {
1411 /* Fixed for safari browser on iPhone4S with ios7@mixin */
1413 @media (max-height: 639px) {
1414 .ios.safari .choosercontainer #chooseform .submitbuttons {
1419 .choosercontainer #chooseform .submitbuttons input {
1423 /* Various settings for the options area */
1424 .choosercontainer #chooseform .options {
1426 border-bottom: 1px solid #bbb;
1428 /* Only set these options if we're showing the js container */
1429 .jschooser .choosercontainer #chooseform .alloptions {
1436 display: inline-block;
1440 display: inline-block;
1445 /* Settings for option rows and option subtypes */
1446 .choosercontainer #chooseform .moduletypetitle,
1447 .choosercontainer #chooseform .option,
1448 .choosercontainer #chooseform .nonoption {
1450 padding: 0 1.6em 0 1.6em;
1453 .choosercontainer #chooseform .moduletypetitle {
1454 text-transform: uppercase;
1456 padding-bottom: 0.4em;
1459 .choosercontainer #chooseform .option .typename,
1460 .choosercontainer #chooseform .nonoption .typename {
1461 padding: 0 0 0 0.5em;
1464 .choosercontainer #chooseform .modicon + .typename {
1468 .choosercontainer #chooseform .option input[type=radio],
1469 .choosercontainer #chooseform .option span.typename {
1470 vertical-align: middle;
1473 .choosercontainer #chooseform .option label {
1476 padding: ($spacer / 2) 0;
1477 border-bottom: 1px solid #fff;
1480 .choosercontainer #chooseform .option .icon {
1485 .choosercontainer #chooseform .nonoption {
1486 padding-left: 2.7em;
1488 padding-bottom: 0.1em;
1491 .choosercontainer #chooseform .subtype {
1493 padding: 0 1.6em 0 3.2em;
1496 .choosercontainer #chooseform .subtype .typename {
1497 margin: 0 0 0 0.2em;
1499 /* The instruction/help area */
1500 .jschooser .choosercontainer #chooseform .instruction,
1501 .jschooser .choosercontainer #chooseform .typesummary {
1510 background-color: #fff;
1515 /* Selected option settings */
1516 .jschooser .choosercontainer #chooseform .instruction,
1517 .choosercontainer #chooseform .selected .typesummary {
1521 .choosercontainer #chooseform .selected {
1522 background-color: #fff;
1527 .chooserdialogue-course-modchooser .modicon .icon {
1533 @include media-breakpoint-down(xs) {
1534 .jsenabled .choosercontainer #chooseform .alloptions {
1538 .jsenabled .choosercontainer #chooseform .instruction,
1539 .jsenabled .choosercontainer #chooseform .typesummary {
1544 /* Form element: listing */
1546 padding-bottom: 25px;
1547 padding-right: 10px;
1550 .formlistinginputradio {
1561 padding: 1px 19px 14px;
1562 background-color: white;
1563 border: 1px solid #ddd;
1565 @include border-radius(4px);
1576 background-color: whitesmoke;
1577 border: 1px solid #ddd;
1580 @include border-radius(4px 0 4px 0);
1587 @include border-radius(4px);
1592 border-bottom: 1px solid;
1593 border-color: #e1e1e8;
1594 border-left: 1px solid #e1e1e8;
1595 border-right: 1px solid #e1e1e8;
1596 background-color: #f7f7f9;
1598 @include border-radius(0 0 4px 4px);
1607 body.jsenabled .formlistingradio {
1611 body.jsenabled .formlisting {
1618 @extend .table-bordered;
1619 @extend .table-striped;
1627 div.criteria-description {
1630 background: none repeat scroll 0 0 #f9f9f9;
1631 border: 1px solid #eee;
1641 display: inline-block;
1644 vertical-align: top;
1648 .badges li .badge-name {
1657 .badges li .badge-image {
1665 .badges li .badge-actions {
1669 .badges li .expireimage {
1680 background-color: transparent;
1685 display: inline-block;
1686 vertical-align: top;
1709 display: inline-block;
1719 vertical-align: top;
1725 display: inline-block;
1731 display: inline-block;
1738 vertical-align: top;
1742 @extend .text-success;
1746 @extend .text-danger;
1750 @extend .text-warning;
1753 #page-badges-award .recipienttable tr td {
1754 vertical-align: top;
1757 #page-badges-award .recipienttable tr td.actions .actionbutton {
1763 #page-badges-award .recipienttable tr td.existing,
1764 #page-badges-award .recipienttable tr td.potential {
1768 #issued-badge-table .activatebadge {
1769 display: inline-block;
1773 background-color: $state-success-bg;
1776 .statusbox.inactive {
1777 background-color: $state-warning-bg;
1786 .statusbox .activatebadge {
1787 display: inline-block;
1790 .statusbox .activatebadge input[type=submit] {
1797 vertical-align: middle;
1800 img#persona_signin {
1808 .invisiblefieldset {
1818 .breadcrumb-button .singlebutton div {
1822 .breadcrumb-nav .breadcrumb {
1848 /** Header-bar styles **/
1849 .page-context-header {
1850 // We need to be explicit about the height of the header.
1851 $pageHeaderHeight: 140px;
1853 // Do not remove these rules.
1857 .page-header-headings {
1863 .page-header-image {
1868 .page-header-headings,
1869 .header-button-group {
1872 vertical-align: middle;
1875 .header-button-group {
1882 // Don't touch it unless you know exactly what you are doing.
1888 ul.dragdrop-keyboard-drag li {
1889 list-style-type: none;
1894 text-decoration: none;
1905 .progressbar_container {
1910 /* IE10 only fix for calendar titling */
1911 .ie10 .yui3-calendar-header-label {
1912 display: inline-block;
1925 // Active tabs with links should have a different
1926 // cursor to indicate they are clickable.
1927 .nav-tabs > .active > a[href],
1928 .nav-tabs > .active > a[href]:hover,
1929 .nav-tabs > .active > a[href]:focus {
1934 &.inplaceeditingon {
1939 font-weight: normal;
1944 white-space: nowrap;
1949 vertical-align: text-bottom;
1958 .quickediticon img {
1964 text-decoration: inherit;
1967 &:hover .quickeditlink .quickediticon img,
1968 .quickeditlink:focus .quickediticon img {
1972 &.inplaceeditable-toggle .quickediticon {
1977 h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
1989 .chart-output-htmltable caption {
1990 white-space: nowrap;
1992 /** When accessible, we display the table only. */
1994 .chart-table-expand {
2009 /* YUI 2 Tree View */
2030 background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
2034 .hover-tooltip-container {
2043 top: calc(-50% - 5px);
2044 transform: translate(-50%, -50%);
2045 background-color: #fff;
2046 border: 1px solid rgba(0, 0, 0, .2);
2047 border-radius: .3rem;
2048 box-sizing: border-box;
2050 white-space: nowrap;
2051 transition: opacity 0.15s, visibility 0.15s;
2056 display: inline-block;
2057 border-left: 8px solid transparent;
2058 border-right: 8px solid transparent;
2059 border-top: 8px solid rgba(0, 0, 0, .2);
2062 left: calc(50% - 8px);
2067 display: inline-block;
2068 border-left: 7px solid transparent;
2069 border-right: 7px solid transparent;
2070 border-top: 7px solid #fff;
2073 left: calc(50% - 7px);
2081 visibility: visible;
2082 transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
2091 margin-right: $grid-gutter-width / 2;
2092 background-color: $card-bg;
2094 @include media-breakpoint-down(sm) {
2096 margin-top: $grid-gutter-width;
2102 $footer-link-color: $brand-primary !default;
2104 color: $footer-link-color;
2113 // Make links in a menu clickable anywhere in the row.
2122 padding-left: 1.5rem;
2126 .sr-only-focusable {
2129 z-index: $zindex-navbar-fixed + 1;