MDL-55941 output: Refactor and improve initialbar UX to use templates
[moodle.git] / theme / boost / scss / moodle / core.scss
blobc7a3be970add9847da331d14c010bcf2f8aa82cc
1 /* core.less */
3 #region-main > .card {
4     overflow-x: auto;
5     overflow-y: visible;
6     min-height: 45rem;
9 .context-header-settings-menu,
10 .region-main-settings-menu {
11     float: right;
12     width: auto;
13     max-width: 4em;
14     height: 2em;
15     display: block;
16     margin-top: 4px;
19 .context-header-settings-menu .dropdown-toggle > .icon,
20 #region-main-settings-menu .dropdown-toggle > .icon {
21     height: 24px;
22     font-size: 24px;
23     width: auto;
25 /** Prevent user notifications overlapping with region main settings menu */
26 #user-notifications {
27     display: block;
28     overflow: hidden;
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 {
37     display: none;
40 /** Page layout CSS ends **/
42 .mdl-left {
43     text-align: left;
46 .mdl-right {
47     text-align: right;
50 /*rtl:ignore*/
51 .text-ltr {
52     direction: ltr !important; /* stylelint-disable-line declaration-no-important */
55 #add,
56 #remove,
57 .centerpara,
58 .mdl-align {
59     text-align: center;
62 a.dimmed,
63 a.dimmed:link,
64 a.dimmed:visited,
65 a.dimmed_text,
66 a.dimmed_text:link,
67 a.dimmed_text:visited,
68 .dimmed_text,
69 .dimmed_text a,
70 .dimmed_text a:link,
71 .dimmed_text a:visited,
72 .usersuspended,
73 .usersuspended a,
74 .usersuspended a:link,
75 .usersuspended a:visited,
76 .dimmed_category,
77 .dimmed_category a {
78     @extend .text-muted;
81 .unlist,
82 .unlist li,
83 .inline-list,
84 .inline-list li,
85 .block .list,
86 .block .list li,
87 .section li.activity,
88 .section li.movehere,
89 .tabtree li {
90     list-style: none;
91     margin: 0;
92     padding: 0;
95 .inline,
96 .inline-list li {
97     display: inline;
100 .notifytiny {
101     font-size: $font-size-xs;
104 .notifytiny li,
105 .notifytiny td {
106     font-size: 100%;
109 .red,
110 .notifyproblem {
111     @extend .text-warning;
114 .green,
115 .notifysuccess {
116     @extend .text-success;
119 .highlight {
120     @extend .text-info;
123 .fitem.advanced .text-info {
124     font-weight: bold;
127 .reportlink {
128     text-align: right;
131 a.autolink.glossary:hover {
132     cursor: help;
134 /* Block which is hidden if javascript enabled, prevents fickering visible when JS from footer used! */
135 .collapsibleregioncaption {
136     white-space: nowrap;
137     min-height: $line-height-base * $font-size-base;
140 .pagelayout-mydashboard.jsenabled .collapsibleregioncaption {
141     cursor: pointer;
144 .collapsibleregioncaption img {
145     vertical-align: middle;
148 .jsenabled .hiddenifjs {
149     display: none;
152 .visibleifjs {
153     display: none;
156 .jsenabled .visibleifjs {
157     display: inline;
160 .jsenabled .collapsibleregion {
161     overflow: hidden;
162     box-sizing: content-box;
165 .jsenabled .collapsed .collapsibleregioninner {
166     visibility: hidden;
169 .collapsible-actions {
170     display: none;
171     text-align: right;
174 .jsenabled .collapsible-actions {
175     display: block;
178 .collapsible-actions .collapseexpand {
179     padding-left: 20px;
180     background: url([[pix:t/collapsed]]) 2px center no-repeat;
182 /*rtl:raw:
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;
195     color: #000;
196     left: 0;
197     padding: 2px 5px;
198     position: relative;
199     top: 0;
200     z-index: 1;
203 .clearer {
204     background: transparent;
205     border-width: 0;
206     clear: both;
207     display: block;
208     height: 1px;
209     margin: 0;
210     padding: 0;
213 .bold,
214 .warning,
215 .errorbox .title,
216 .pagingbar .title,
217 .pagingbar .thispage {
218     font-weight: bold;
221 img.userpicture {
222     margin-right: 0.5rem;
225 img.resize {
226     height: 1em;
227     width: 1em;
230 .action-menu .dropdown-toggle {
231     text-decoration: none;
234 .action-menu {
235     white-space: nowrap;
238 .action-menu .userpicture {
239     width: auto;
240     height: auto;
241     margin-left: 1rem;
244 .block img.resize,
245 .breadcrumb img.resize {
246     height: 0.9em;
247     width: 0.8em;
249 /* Icon styles */
250 img.activityicon {
251     height: 24px;
252     width: 24px;
253     vertical-align: middle;
256 .headermain {
257     font-weight: bold;
260 #maincontent {
261     display: block;
262     height: 1px;
263     overflow: hidden;
266 img.uihint {
267     cursor: help;
270 #addmembersform table {
271     margin-left: auto;
272     margin-right: auto;
275 table.flexible .emptyrow {
276     display: none;
279 form.popupform,
280 form.popupform div {
281     display: inline;
284 .arrow_button input {
285     overflow: hidden;
287 .no-overflow {
288     overflow: auto;
291 .no-overflow > .generaltable {
292     margin-bottom: 0;
294 // Accessibility features
296 // Accessibility: text 'seen' by screen readers but not visual users.
297 .accesshide {
298     position: absolute;
299     left: -10000px;
300     font-weight: normal;
301     font-size: 1em;
304 span.hide,
305 div.hide,
306 .hidden {
307     display: none;
309 // Accessibility: Skip block link, for keyboard-only users.
310 a.skip-block,
311 a.skip {
312     position: absolute;
313     top: -1000em;
314     font-size: 0.85em;
315     text-decoration: none;
318 a.skip-block:focus,
319 a.skip-block:active,
320 a.skip:focus,
321 a.skip:active {
322     position: static;
323     display: block;
326 .skip-block-to {
327     display: block;
328     height: 1px;
329     overflow: hidden;
331 // Blogs
332 .addbloglink {
333     text-align: center;
336 .blog_entry .audience {
337     text-align: right;
338     padding-right: 4px;
341 .blog_entry .tags {
342     margin-top: 15px;
345 .blog_entry .content {
346     margin-left: 43px;
348 // Group
349 #page-group-index #groupeditform {
350     text-align: center;
353 #doc-contents h1 {
354     margin: 1em 0 0 0;
357 #doc-contents ul {
358     margin: 0;
359     padding: 0;
360     width: 90%;
363 #doc-contents ul li {
364     list-style-type: none;
367 .groupmanagementtable td {
368     vertical-align: top;
371 .groupmanagementtable #existingcell,
372 .groupmanagementtable #potentialcell {
373     width: 42%;
376 .groupmanagementtable #buttonscell {
377     width: 16%;
380 .groupmanagementtable #buttonscell p.arrow_button input {
381     width: auto;
382     min-width: 80%;
383     margin: 0 auto;
386 .groupmanagementtable #removeselect_wrapper,
387 .groupmanagementtable #addselect_wrapper {
388     width: 100%;
391 .groupmanagementtable #removeselect_wrapper label,
392 .groupmanagementtable #addselect_wrapper label {
393     font-weight: normal;
396 #group-usersummary {
397     width: 14em;
400 .groupselector {
401     margin-top: 3px;
402     margin-bottom: 3px;
403     display: inline-block;
406 .groupselector label {
407     display: inline-block;
410 // Login
411 .login-page {
412     [name="username"] {
413         margin-bottom: -1px;
414         border-bottom-right-radius: 0;
415         border-bottom-left-radius: 0;
416     }
418     [type="password"] {
419         margin-bottom: 10px;
420         border-top-left-radius: 0;
421         border-top-right-radius: 0;
422     }
425 // Notes
426 .notepost {
427     margin-bottom: 1em;
430 .notepost .userpicture {
431     float: left;
432     margin-right: 5px;
435 .notepost .content,
436 .notepost .footer {
437     clear: both;
440 .notesgroup {
441     margin-left: 20px;
444 // My Moodle
445 .path-my .coursebox {
446     margin: $spacer-y 0;
447     padding: 0;
449     .overview {
450         margin: 15px 30px 10px 30px;
451     }
454 .path-my .coursebox .info {
455     float: none;
456     margin: 0;
459 // Modules
460 .mod_introbox {
461     padding: 10px;
464 table.mod_index {
465     width: 100%;
468 // Comments
469 .comment-ctrl {
470     font-size: 12px;
471     display: none;
472     margin: 0;
473     padding: 0;
476 .comment-ctrl h5 {
477     margin: 0;
478     padding: 5px;
481 .comment-area {
482     max-width: 400px;
483     padding: 5px;
486 .comment-area textarea {
487     width: 100%;
488     overflow: auto;
490     &.fullwidth {
491         -webkit-box-sizing: border-box;
492         -moz-box-sizing: border-box;
493         box-sizing: border-box;
494     }
497 .comment-area .fd {
498     text-align: right;
501 .comment-meta span {
502     color: gray;
505 .comment-link img {
506     vertical-align: text-bottom;
509 .comment-list {
510     font-size: 11px;
511     overflow: auto;
512     list-style: none;
513     padding: 0;
514     margin: 0;
517 .comment-list li {
518     margin: 2px;
519     list-style: none;
520     margin-bottom: 5px;
521     clear: both;
522     padding: .3em;
523     position: relative;
526 .comment-list li.first {
527     display: none;
530 .comment-paging {
531     text-align: center;
534 .comment-paging .pageno {
535     padding: 2px;
538 .comment-paging .curpage {
539     border: 1px solid #ccc;
542 .comment-message .picture {
543     width: 20px;
544     float: left;
547 .comment-message .text {
548     margin: 0;
549     padding: 0;
552 .comment-message .text p {
553     padding: 0;
554     margin: 0 18px 0 0;
557 .comment-delete {
558     position: absolute;
559     top: 0;
560     right: 0;
561     margin: .3em;
564 .comment-report-selectall {
565     display: none;
568 .comment-link {
569     display: none;
572 .jsenabled .comment-link {
573     display: block;
576 .jsenabled .showcommentsnonjs {
577     display: none;
580 .jsenabled .comment-report-selectall {
581     display: inline;
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 {
601     text-align: right;
604 .completion-expired .completion-expected {
605     font-weight: bold;
608 * Tags
610 img.user-image {
611     height: 100px;
612     width: 100px;
615 #tag-search-box {
616     text-align: center;
617     margin: 10px auto;
620 .path-tag .tag-index-items .tagarea {
621     border: 1px solid #e3e3e3;
622     border-radius: 4px;
623     padding: 10px;
624     margin-top: 10px;
627 .path-tag .tag-index-items .tagarea h3 {
628     display: block;
629     padding: 3px 0 10px 0;
630     margin: 0;
631     font-size: 1.1em;
632     font-weight: bold;
633     line-height: 20px;
634     color: #999;
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;
639     margin-bottom: 10px;
642 .path-tag .tagarea .controls,
643 .path-tag .tagarea .taggeditems {
644     @include clearfix();
647 .path-tag .tagarea .controls,
648 .path-tag .tag-backtoallitems {
649     text-align: center;
652 .path-tag .tagarea .controls .gotopage.nextpage {
653     float: right;
656 .path-tag .tagarea .controls .gotopage.prevpage {
657     float: left;
660 .path-tag .tagarea .controls .exclusivemode {
661     display: inline-block;
664 .path-tag .tagarea .controls.controls-bottom {
665     margin-top: 5px;
668 .path-tag .tagarea .controls .gotopage.nextpage::after {
669     padding-right: 5px;
670     padding-left: 5px;
671     content: "»";
674 .path-tag .tagarea .controls .gotopage.prevpage::before {
675     padding-right: 5px;
676     padding-left: 5px;
677     content: "«";
680 span.flagged-tag,
681 tr.flagged-tag,
682 span.flagged-tag a,
683 tr.flagged-tag a {
684     @extend .text-warning;
687 .tag-management-table td,
688 .tag-management-table th {
689     vertical-align: middle;
690     padding: 4px;
693 .tag-management-table .inplaceeditable.inplaceeditingon input {
694     width: 150px;
697 .path-admin-tag .addstandardtags {
698     float: right;
700     img {
701         margin: 0 5px;
702     }
705 .path-tag .tag-relatedtags {
706     padding-top: 10px;
709 .path-tag .tag-management-box {
710     text-align: right;
713 .path-tag .tag-index-toc {
714     padding: 10px;
715     text-align: center;
718 .path-tag .tag-index-toc li,
719 .path-tag .tag-management-box li {
720     margin-left: 5px;
721     margin-right: 5px;
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;
743     padding-left: 17px;
746 .tag_feed.media-list .media .itemimage {
747     float: left;
750 .tag_feed.media-list .media .itemimage img {
751     height: 35px;
752     width: 35px;
755 .tag_feed.media-list .media .media-body {
756     padding-right: 10px;
757     padding-left: 10px;
760 .tag_feed .media .muted a {
761     @extend .text-muted;
764 .tag_cloud {
765     text-align: center;
768 .tag_cloud .inline-list li {
769     padding: 0 0.2em;
772 .tag_cloud .tag_overflow {
773     margin-top: 1em;
774     font-style: italic;
777 .tag_cloud .s20 {
778     font-size: 2.7em;
781 .tag_cloud .s19 {
782     font-size: 2.6em;
785 .tag_cloud .s18 {
786     font-size: 2.5em;
789 .tag_cloud .s17 {
790     font-size: 2.4em;
793 .tag_cloud .s16 {
794     font-size: 2.3em;
797 .tag_cloud .s15 {
798     font-size: 2.2em;
801 .tag_cloud .s14 {
802     font-size: 2.1em;
805 .tag_cloud .s13 {
806     font-size: 2em;
809 .tag_cloud .s12 {
810     font-size: 1.9em;
813 .tag_cloud .s11 {
814     font-size: 1.8em;
817 .tag_cloud .s10 {
818     font-size: 1.7em;
821 .tag_cloud .s9 {
822     font-size: 1.6em;
825 .tag_cloud .s8 {
826     font-size: 1.5em;
829 .tag_cloud .s7 {
830     font-size: 1.4em;
833 .tag_cloud .s6 {
834     font-size: 1.3em;
837 .tag_cloud .s5 {
838     font-size: 1.2em;
841 .tag_cloud .s4 {
842     font-size: 1.1em;
845 .tag_cloud .s3 {
846     font-size: 1em;
849 .tag_cloud .s2 {
850     font-size: 0.9em;
853 .tag_cloud .s1 {
854     font-size: 0.8em;
857 .tag_cloud .s0 {
858     font-size: 0.7em;
861 .tag_list ul {
862     display: inline;
865 .tag_list.hideoverlimit .overlimit {
866     display: none;
869 .tag_list .tagmorelink {
870     display: none;
873 .tag_list.hideoverlimit .tagmorelink {
874     display: inline;
877 .tag_list.hideoverlimit .taglesslink {
878     display: none;
882 * Web Service
884 #webservice-doc-generator td {
885     text-align: left;
886     border: 0 solid black;
890 * Enrol
892 .userenrolment {
893     width: 100%;
894     border-collapse: collapse;
897 .userenrolment tr {
898     vertical-align: top;
901 .userenrolment td {
902     padding: 0;
903     height: 41px;
906 .userenrolment .subfield {
907     margin-right: 5px;
910 .userenrolment .col_userdetails .subfield {
911     margin-left: 40px;
914 .userenrolment .col_userdetails .subfield_picture {
915     float: left;
916     margin-left: 0;
919 .userenrolment .col_lastseen {
920     width: 150px;
923 .userenrolment .col_role {
924     width: 262px;
927 .userenrolment .col_role .roles,
928 .userenrolment .col_group .groups {
929     margin-right: 30px;
932 .userenrolment .col_role .role {
933     float: left;
934     padding: 0 3px 3px;
935     margin: 0 3px 3px;
936     white-space: nowrap;
939 .userenrolment .col_group .group {
940     float: left;
941     padding: 3px;
942     margin: 3px;
943     white-space: nowrap;
946 .userenrolment .col_role .role a,
947 .userenrolment .col_group .group a {
948     margin-left: 3px;
949     cursor: pointer;
952 .userenrolment .col_role .addrole,
953 .userenrolment .col_group .addgroup {
954     float: right;
955     padding: 3px;
956     margin: 3px;
958     > a:hover {
959         border-bottom: 1px solid #666;
960     }
963 .userenrolment .col_role .addrole img,
964 .userenrolment .col_group .addgroup img {
965     vertical-align: baseline;
968 .userenrolment .hasAllRoles .col_role .addrole {
969     display: none;
972 .userenrolment .col_enrol .enrolment {
973     float: left;
974     padding: 0 3px 3px;
975     margin: 0 3px 3px;
978 .userenrolment .col_enrol .enrolment a {
979     float: right;
980     margin-left: 3px;
983 #page-enrol-users {
984     .enrol_user_buttons {
985         text-align: right;
987     }
989     #filterform {
990         @extend .card;
991         @extend .card-block;
992     }
995 #page-enrol-users .enrol-users-page-action input {
996     margin-left: 0;
999 .corelightbox {
1000     background-color: #ccc;
1001     position: absolute;
1002     top: 0;
1003     left: 0;
1004     width: 100%;
1005     height: 100%;
1006     text-align: center;
1009 .corelightbox img {
1010     position: fixed;
1011     top: 50%;
1012     left: 50%;
1015 .mod-indent-outer {
1016     display: table;
1019 .mod-indent {
1020     display: table-cell;
1023 .label .mod-indent {
1024     float: left;
1025     padding-top: 20px;
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);
1033     .mod-indent-#{$i} {
1034         width: $width;
1035     }
1038 .mod-indent-huge {
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 {
1044     height: 25px;
1045     width: 600px;
1048 .resourcecontent audio.mediaplugin_html5audio {
1049     width: 600px;
1051 /** Large resource images should avoid hidden overflow **/
1052 .resourceimage {
1053     max-width: 100%;
1055 /* Audio player size in 'inline' mode (can only change width, as above) */
1056 .mediaplugin_mp3 object {
1057     height: 15px;
1058     width: 300px;
1061 audio.mediaplugin_html5audio {
1062     width: 300px;
1064 /* TinyMCE moodle media preview frame should not have padding */
1065 .core_media_preview.pagelayout-embedded #content {
1066     padding: 0;
1069 .core_media_preview.pagelayout-embedded #maincontent {
1070     height: 0;
1073 body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
1074     padding: 0;
1075     margin: 0;
1076     min-width: 0;
1077     background: none;
1080 .path-rating .ratingtable {
1081     width: 100%;
1082     margin-bottom: 1em;
1085 .path-rating .ratingtable th.rating {
1086     width: 100%;
1089 .path-rating .ratingtable td.rating,
1090 .path-rating .ratingtable td.time {
1091     white-space: nowrap;
1092     text-align: center;
1095 .initialbar {
1097     overflow: auto;
1099     .initialbarlabel {
1100         display: inline-block;
1101         width: 6em;
1102         float: left;
1103         overflow: hidden;
1104         text-overflow: ellipsis;
1105         white-space: nowrap;
1106     }
1108     .initialbarall {
1109         float: left;
1110         width: 4em;
1111         margin-bottom: 2px;
1112         overflow: hidden;
1113         text-overflow: ellipsis;
1114         white-space: nowrap;
1115     }
1117     .initialbargroups {
1118         float: left;
1119     }
1121     .initialbargroup {
1122         float: left;
1123         display: inline-block;
1124         white-space: nowrap;
1125         margin: 0;
1126         padding: 0;
1128         li {
1129             float: left;
1130             list-style: none;
1131         }
1132     }
1134     .letter {
1135         display: inline-block;
1136         height: 1.5em;
1137         min-width: 1.5em;
1138         text-align: center;
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;
1145     }
1146     .letter:hover {
1147         color: $pagination-hover-color;
1148         border-color: $pagination-hover-border;
1149         background-color: $pagination-hover-bg;
1150     }
1152     .letter.active {
1153         color: $pagination-active-color;
1154         border-color: $pagination-active-border;
1155         background-color: $pagination-active-bg;
1156     }
1160 @media (max-width: 400px) {
1161     .initialbar {
1162         .letter {
1163             /* This is chosen so that 23 letter at 320px just fits */
1164             font-size: 11.5px;
1165         }
1166     }
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 {
1177     display: none;
1180 .no-scrolling {
1181     overflow: hidden;
1184 .moodle-dialogue-base .moodle-dialogue-fullscreen {
1185     left: 0;
1186     top: 0;
1187     right: 0;
1188     bottom: -50px;
1189     position: fixed;
1192 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1193     overflow: auto;
1196 .moodle-dialogue-base .moodle-dialogue-fullscreen .closebutton {
1197     width: 28px;
1198     height: 16px;
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()).
1209 .modal.show {
1210     display: block;
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.
1223     min-height: 3rem;
1224     color: initial;
1225     background: initial;
1226     font-size: 1.5rem;
1227     line-height: 1.5;
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 {
1235     /*rtl:raw:
1236         left: 0;
1237         right: auto;
1238     */
1239     padding: $spacer;
1242 .moodle-dialogue-base .closebutton {
1243     @extend .close;
1244     box-shadow: none;
1245     &::after {
1246         content: "×";
1247     }
1250 .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
1251     @extend .modal-body;
1254 .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
1255     overflow: auto;
1256     position: absolute;
1257     top: 0;
1258     bottom: 50px;
1259     left: 0;
1260     right: 0;
1261     margin: 0;
1262     border: 0;
1265 .moodle-dialogue-exception .moodle-exception-param label {
1266     font-weight: bold;
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 {
1281     color: navy;
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 {
1291     color: #333;
1292     font-size: 90%;
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 {
1301     display: none;
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 {
1310     margin: 0.5em 1em;
1312 .moodle-dialogue-confirm .confirmation-buttons {
1313     text-align: right;
1316 .moodle-dialogue-confirm .confirmation-dialogue input {
1317     min-width: 80px;
1320 .moodle-dialogue-exception .moodle-exception-message {
1321     margin: 1em;
1324 .moodle-dialogue-exception .moodle-exception-param {
1325     margin-bottom: 0.5em;
1328 .moodle-dialogue-exception .moodle-exception-param label {
1329     width: 150px;
1332 .moodle-dialogue-exception .param-stacktrace label {
1333     display: block;
1334     margin: 0;
1335     padding: 4px 1em;
1338 .moodle-dialogue-exception .param-stacktrace pre {
1339     display: block;
1340     height: 200px;
1341     overflow: auto;
1344 .moodle-dialogue-exception .param-stacktrace .stacktrace-file {
1345     display: inline-block;
1346     margin: 4px 0;
1349 .moodle-dialogue-exception .param-stacktrace .stacktrace-line {
1350     display: inline-block;
1351     width: 50px;
1352     margin: 4px 1em;
1355 .moodle-dialogue-exception .param-stacktrace .stacktrace-call {
1356     padding-left: 25px;
1357     margin-bottom: 4px;
1358     padding-bottom: 4px;
1361 .moodle-dialogue .moodle-dialogue-bd .content-lightbox {
1362     opacity: 0.75;
1363     width: 100%;
1364     height: 100%;
1365     top: 0;
1366     left: 0;
1367     background-color: white;
1368     text-align: center;
1369     padding: 10% 0;
1371 /* Apply a default max-height on tooltip text */
1372 .moodle-dialogue .tooltiptext {
1373     max-height: 300px;
1376 .moodle-dialogue-base .moodle-dialogue.moodle-dialogue-tooltip {
1377     z-index: 3001;
1379     .moodle-dialogue-bd {
1380         overflow: auto;
1381     }
1385  * Chooser Dialogues (moodle-core-chooserdialogue)
1387  * This CSS belong to the chooser dialogue which should work both with, and
1388  * without javascript enabled
1389  */
1390 /* Hide the dialog and it's title */
1391 .chooserdialoguebody,
1392 .choosertitle {
1393     display: none;
1396 .moodle-dialogue.chooserdialogue .moodle-dialogue-content .moodle-dialogue-ft {
1397     margin: 0;
1400 .chooserdialogue .moodle-dialogue-wrap .moodle-dialogue-bd {
1401     padding: 0;
1402     background: #f2f2f2;
1404     @include border-bottom-radius(10px);
1406 /* Center the submit buttons within the area */
1407 .choosercontainer #chooseform .submitbuttons {
1408     padding: 0.7em 0;
1409     text-align: right;
1411 /* Fixed for safari browser on iPhone4S with ios7@mixin */
1413 @media (max-height: 639px) {
1414     .ios.safari .choosercontainer #chooseform .submitbuttons {
1415         padding: 45px 0;
1416     }
1419 .choosercontainer #chooseform .submitbuttons input {
1420     min-width: 100px;
1421     margin: 0 0.5em;
1423 /* Various settings for the options area */
1424 .choosercontainer #chooseform .options {
1425     position: relative;
1426     border-bottom: 1px solid #bbb;
1428 /* Only set these options if we're showing the js container */
1429 .jschooser .choosercontainer #chooseform .alloptions {
1430     overflow-x: hidden;
1431     overflow-y: auto;
1432     max-width: 240px;
1434     .option {
1435         input[type=radio] {
1436             display: inline-block;
1437         }
1439         .typename {
1440             display: inline-block;
1441             width: 55%;
1442         }
1443     }
1445 /* Settings for option rows and option subtypes */
1446 .choosercontainer #chooseform .moduletypetitle,
1447 .choosercontainer #chooseform .option,
1448 .choosercontainer #chooseform .nonoption {
1449     margin-bottom: 0;
1450     padding: 0 1.6em 0 1.6em;
1453 .choosercontainer #chooseform .moduletypetitle {
1454     text-transform: uppercase;
1455     padding-top: 1.2em;
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 {
1465     padding-left: 0;
1468 .choosercontainer #chooseform .option input[type=radio],
1469 .choosercontainer #chooseform .option span.typename {
1470     vertical-align: middle;
1473 .choosercontainer #chooseform .option label {
1474     display: block;
1475     margin: 0;
1476     padding: ($spacer / 2) 0;
1477     border-bottom: 1px solid #fff;
1480 .choosercontainer #chooseform .option .icon {
1481     margin: 0;
1482     padding: 0 $spacer;
1485 .choosercontainer #chooseform .nonoption {
1486     padding-left: 2.7em;
1487     padding-top: 0.3em;
1488     padding-bottom: 0.1em;
1491 .choosercontainer #chooseform .subtype {
1492     margin-bottom: 0;
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 {
1502     display: none;
1503     position: absolute;
1504     top: 0;
1505     right: 0;
1506     bottom: 0;
1507     left: 240px;
1508     margin: 0;
1509     padding: 1.6em;
1510     background-color: #fff;
1511     overflow-x: hidden;
1512     overflow-y: auto;
1513     line-height: 2em;
1515 /* Selected option settings */
1516 .jschooser .choosercontainer #chooseform .instruction,
1517 .choosercontainer #chooseform .selected .typesummary {
1518     display: block;
1521 .choosercontainer #chooseform .selected {
1522     background-color: #fff;
1523     margin-top: -1px;
1524     padding-top: 1px;
1527 .chooserdialogue-course-modchooser .modicon .icon {
1528     width: 24px;
1529     height: 24px;
1530     font-size: 24px;
1533 @include media-breakpoint-down(xs) {
1534     .jsenabled .choosercontainer #chooseform .alloptions {
1535         max-width: 100%;
1536     }
1538     .jsenabled .choosercontainer #chooseform .instruction,
1539     .jsenabled .choosercontainer #chooseform .typesummary {
1540         position: static;
1541     }
1544 /* Form element: listing */
1545 .formlistingradio {
1546     padding-bottom: 25px;
1547     padding-right: 10px;
1550 .formlistinginputradio {
1551     float: left;
1554 .formlistingmain {
1555     min-height: 225px;
1558 .formlisting {
1559     position: relative;
1560     margin: 15px 0;
1561     padding: 1px 19px 14px;
1562     background-color: white;
1563     border: 1px solid #ddd;
1565     @include border-radius(4px);
1568 .formlistingmore {
1569     position: absolute;
1570     cursor: pointer;
1571     bottom: -1px;
1572     right: -1px;
1573     padding: 3px 7px;
1574     font-size: 12px;
1575     font-weight: bold;
1576     background-color: whitesmoke;
1577     border: 1px solid #ddd;
1578     color: #9da0a4;
1580     @include border-radius(4px 0 4px 0);
1583 .formlistingall {
1584     margin: 15px 0;
1585     padding: 0;
1587     @include border-radius(4px);
1590 .formlistingrow {
1591     cursor: pointer;
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);
1599     padding: 6px;
1600     top: 50%;
1601     left: 50%;
1602     min-height: 34px;
1603     float: left;
1604     width: 150px;
1607 body.jsenabled .formlistingradio {
1608     display: none;
1611 body.jsenabled .formlisting {
1612     display: block;
1615 /* Badges styles */
1616 table.collection {
1617     @extend .table;
1618     @extend .table-bordered;
1619     @extend .table-striped;
1622 a.criteria-action {
1623     padding: 0 3px;
1624     float: right;
1627 div.criteria-description {
1628     padding: 10px 15px;
1629     margin: 5px 0;
1630     background: none repeat scroll 0 0 #f9f9f9;
1631     border: 1px solid #eee;
1634 ul.badges {
1635     margin: 0;
1636     list-style: none;
1639 .badges li {
1640     position: relative;
1641     display: inline-block;
1642     padding-top: 1em;
1643     text-align: center;
1644     vertical-align: top;
1645     width: 150px;
1648 .badges li .badge-name {
1649     display: block;
1650     padding: 5px;
1653 .badges li > img {
1654     position: absolute;
1657 .badges li .badge-image {
1658     width: 100px;
1659     height: 100px;
1660     left: 10px;
1661     top: 0;
1662     z-index: 1;
1665 .badges li .badge-actions {
1666     position: relative;
1669 .badges li .expireimage {
1670     width: 100px;
1671     height: 100px;
1672     left: 25px;
1673     top: 0;
1674     position: absolute;
1675     z-index: 10;
1676     opacity: 0.85;
1679 #badge-image {
1680     background-color: transparent;
1681     padding: 0;
1682     position: relative;
1683     min-width: 100px;
1684     width: 20%;
1685     display: inline-block;
1686     vertical-align: top;
1687     margin-top: 17px;
1689     .expireimage {
1690         width: 100px;
1691         height: 100px;
1692         left: 0;
1693         top: 0;
1694         opacity: 0.85;
1695         position: absolute;
1696         z-index: 10;
1697     }
1699     .singlebutton {
1700         padding-top: 5px;
1702         input {
1703             margin-left: 0;
1704         }
1705     }
1708 #badge-details {
1709     display: inline-block;
1710     width: 79%;
1713 #badge-overview dl,
1714 #badge-details dl {
1715     margin: 0;
1717     dt,
1718     dd {
1719         vertical-align: top;
1720         padding: 3px 0;
1721     }
1723     dt {
1724         clear: both;
1725         display: inline-block;
1726         width: 20%;
1727         min-width: 100px;
1728     }
1730     dd {
1731         display: inline-block;
1732         width: 79%;
1733         margin-left: 1%;
1734     }
1737 .badge-profile {
1738     vertical-align: top;
1741 .connected {
1742     @extend .text-success;
1745 .notconnected {
1746     @extend .text-danger;
1749 .connecting {
1750     @extend .text-warning;
1753 #page-badges-award .recipienttable tr td {
1754     vertical-align: top;
1757 #page-badges-award .recipienttable tr td.actions .actionbutton {
1758     margin: 0.3em 0;
1759     padding: 0.5em 0;
1760     width: 100%;
1763 #page-badges-award .recipienttable tr td.existing,
1764 #page-badges-award .recipienttable tr td.potential {
1765     width: 42%;
1768 #issued-badge-table .activatebadge {
1769     display: inline-block;
1772 .statusbox.active {
1773     background-color: $state-success-bg;
1776 .statusbox.inactive {
1777     background-color: $state-warning-bg;
1780 .statusbox {
1781     text-align: center;
1782     margin-bottom: 5px;
1783     padding: 5px;
1786 .statusbox .activatebadge {
1787     display: inline-block;
1790 .statusbox .activatebadge input[type=submit] {
1791     margin: 3px;
1794 .activatebadge {
1795     margin: 0;
1796     text-align: left;
1797     vertical-align: middle;
1800 img#persona_signin {
1801     cursor: pointer;
1804 .addcourse {
1805     float: right;
1808 .invisiblefieldset {
1809     display: inline;
1810     padding: 0;
1811     border-width: 0;
1814 .breadcrumb-nav {
1815     float: left;
1818 .breadcrumb-button .singlebutton div {
1819     margin-right: 0;
1822 .breadcrumb-nav .breadcrumb {
1823     margin: 0;
1826 /** Page header */
1827 #page-header {
1828     .logo {
1829         margin: $spacer 0;
1830         img {
1831             max-height: 75px;
1832         }
1833     }
1836 /** Header. */
1837 header {
1838     .logo img {
1839         max-height: 35px;
1840     }
1841     .collapse.in,
1842     .collapsing {
1843         display: block;
1844         clear: both;
1845     }
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.
1854     overflow: hidden;
1856     .page-header-image,
1857     .page-header-headings {
1858         float: left;
1859         display: block;
1860         position: relative;
1861     }
1863     .page-header-image {
1864         margin-right: 1em;
1865         margin-bottom: 1em;
1866     }
1868     .page-header-headings,
1869     .header-button-group {
1870         position: relative;
1871         line-height: 24px;
1872         vertical-align: middle;
1873     }
1875     .header-button-group {
1876         display: block;
1877         float: left;
1879         a {
1880             position: relative;
1882             // Don't touch it unless you know exactly what you are doing.
1883             top: -0.4em;
1884         }
1885     }
1888 ul.dragdrop-keyboard-drag li {
1889     list-style-type: none;
1892 a.disabled:hover,
1893 a.disabled {
1894     text-decoration: none;
1895     cursor: default;
1896     font-style: italic;
1897     color: #808080;
1900 body.lockscroll {
1901     height: 100%;
1902     overflow: hidden;
1905 .progressbar_container {
1906     max-width: 500px;
1907     margin: 0 auto;
1910 /* IE10 only fix for calendar titling */
1911 .ie10 .yui3-calendar-header-label {
1912     display: inline-block;
1915 dd:before,
1916 dd:after {
1917     display: block;
1918     content: " ";
1921 dd:after {
1922     clear: both;
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 {
1930     cursor: pointer;
1933 .inplaceeditable {
1934     &.inplaceeditingon {
1935         position: relative;
1937         .editinstructions {
1938             margin-top: -30px;
1939             font-weight: normal;
1940             margin-right: 0;
1941             margin-left: 0;
1942             left: 0;
1943             right: auto;
1944             white-space: nowrap;
1945         }
1947         input {
1948             width: 330px;
1949             vertical-align: text-bottom;
1950             margin-bottom: 0;
1951         }
1953         select {
1954             margin-bottom: 0;
1955         }
1956     }
1958     .quickediticon img {
1959         opacity: 0.2;
1960     }
1962     .quickeditlink {
1963         color: inherit;
1964         text-decoration: inherit;
1965     }
1967     &:hover .quickeditlink .quickediticon img,
1968     .quickeditlink:focus .quickediticon img {
1969         opacity: 1;
1970     }
1972     &.inplaceeditable-toggle .quickediticon {
1973         display: none;
1974     }
1977 h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
1978     margin-top: -20px;
1981 /** Chart area. */
1982 .chart-area {
1984     .chart-table-data {
1985         display: none;
1986     }
1988     .chart-table {
1989         .chart-output-htmltable caption {
1990             white-space: nowrap;
1991         }
1992         /** When accessible, we display the table only. */
1993         &.accesshide {
1994             .chart-table-expand {
1995                 display: none;
1996             }
1997             .chart-table-data {
1998                 display: block;
1999             }
2000         }
2001     }
2004 // Reset for ul.
2005 ul {
2006     padding-left: 1rem;
2009 /* YUI 2 Tree View */
2010 /*rtl:raw:
2011 .ygtvtn,
2012 .ygtvtm,
2013 .ygtvtmh,
2014 .ygtvtmhh,
2015 .ygtvtp,
2016 .ygtvtph,
2017 .ygtvtphh,
2018 .ygtvln,
2019 .ygtvlm,
2020 .ygtvlmh,
2021 .ygtvlmhh,
2022 .ygtvlp,
2023 .ygtvlph,
2024 .ygtvlphh,
2025 .ygtvdepthcell,
2026 .ygtvok,
2027 .ygtvok:hover,
2028 .ygtvcancel,
2029 .ygtvcancel:hover {
2030     background-image: url([[pix:theme|yui2-treeview-sprite-rtl]]);
2034 .hover-tooltip-container {
2035     position: relative;
2037     .hover-tooltip {
2038         opacity: 0;
2039         visibility: hidden;
2040         position: absolute;
2041         /*rtl:ignore*/
2042         left: 50%;
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;
2049         padding: 5px;
2050         white-space: nowrap;
2051         transition: opacity 0.15s, visibility 0.15s;
2052         z-index: 1000;
2054         &:before {
2055             content: '';
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);
2060             position: absolute;
2061             bottom: -8px;
2062             left: calc(50% - 8px);
2063         }
2065         &:after {
2066             content: '';
2067             display: inline-block;
2068             border-left: 7px solid transparent;
2069             border-right: 7px solid transparent;
2070             border-top: 7px solid #fff;
2071             position: absolute;
2072             bottom: -6px;
2073             left: calc(50% - 7px);
2074             z-index: 2;
2075         }
2076     }
2078     &:hover {
2079         .hover-tooltip {
2080             opacity: 1;
2081             visibility: visible;
2082             transition: opacity 0.15s 0.5s, visibility 0.15s 0.5s;
2083         }
2084     }
2087 #region-flat-nav {
2088     padding-right: 0;
2089     padding-left: 0;
2090     .nav {
2091         margin-right: $grid-gutter-width / 2;
2092         background-color: $card-bg;
2093     }
2094     @include media-breakpoint-down(sm) {
2095         .nav {
2096             margin-top: $grid-gutter-width;
2097             margin-right: 0;
2098         }
2099     }
2102 $footer-link-color: $brand-primary !default;
2103 #page-footer a {
2104     color: $footer-link-color;
2107 .sitelink {
2108     img {
2109         width: 112px;
2110     }
2113 // Make links in a menu clickable anywhere in the row.
2114 .dropdown-item a {
2115     display: block;
2116     width: 100%;
2117     color: $body-color;
2120 .competency-tree {
2121     ul {
2122         padding-left: 1.5rem;
2123     }
2126 .sr-only-focusable {
2127     &:active,
2128     &:focus {
2129         z-index: $zindex-navbar-fixed + 1;
2130         position: fixed;
2131         background: #fff;
2132         padding: 7px;
2133         left: 0;
2134         top: 0;
2135     }