MDL-55074 theme_boost: Navigation and blocks
[moodle.git] / theme / boost / scss / moodle / course.scss
1 /* course.less */
2 /* COURSE CONTENT */
3 .section-modchooser-link img {
4     margin-right: 0.5rem;
5     width: 16px;
6     height: 16px;
7 }
9 .section_add_menus {
10     text-align: right;
11     clear: both;
12 }
14 .section-modchooser {
15     clear: both;
16 }
18 .block_tree .tree_item.branch {
19     margin-left: 8px;
20 }
22 .section_add_menus .horizontal div,
23 .section_add_menus .horizontal form {
24     display: inline;
25 }
27 .section_add_menus optgroup {
28     font-weight: normal;
29     font-style: italic;
30 }
31 /*rtl:ignore*/
32 .section_add_menus .urlselect {
33     text-align: left;
34     margin-left: .4em;
35 }
36 /*rtl:ignore*/
37 .section_add_menus .urlselect select {
38     margin-left: .2em;
39 }
41 .sitetopic ul.section {
42     margin: 0;
43 }
45 .course-content ul.section {
46     margin: $spacer;
47 }
49 .section {
50     .side {
51         &.left {
52             float: left;
53         }
55         &.right {
56             float: right;
57             clear: right;
58         }
59         margin-top: 0.5rem;
60     }
62     .spinner {
63         height: 16px;
64         width: 16px;
65     }
67     .activity {
68         .spinner {
69             left: 100%;
70             position: absolute;
71         }
73         .editing_move {
74             /* Move the move icon to the start of the line */
75             position: absolute;
76             left: 0;
77             top: 0;
78         }
80         .mod-indent-outer {
81             /**
82              * Add appropriate padding such that nothing overlaps the
83              * absolute positioned move icon.
84              */
85             padding-left: 32px;
86         }
88         /* The command block for each activity */
89         .actions {
90             position: absolute;
91             right: 0;
92             top: 0;
93         }
95         .contentwithoutlink,
96         .activityinstance {
97             min-width: 40%;
98             display: table-cell;
99             padding-right: 4px;
100             min-height: 2em;
102             > a,
103             > .inplaceeditable-text {
104                 display: block;
105                 text-indent: -31px;
106                 padding-left: 31px;
107             }
108         }
109     }
111     .label {
112         .contentwithoutlink,
113         .activityinstance {
114             padding-right: 32px;
115             display: block;
116             height: inherit;
117         }
119         .mod-indent-outer {
120             padding-left: 24px;
121             display: block;
122         }
123     }
125     .filler {
126         // This must be sized like an icon to fill the space.
127         width: 16px;
128         height: 16px;
129         padding: 0;
130         margin: 0 ($spacer / 2);
131         display: inline-block;
132     }
134     .activity.editor_displayed {
135         a.editing_title,
136         .moodle-actionmenu {
137             display: none;
138         }
140         div.activityinstance {
141             padding-right: initial;
143             input {
144                 margin-bottom: initial;
145                 padding-top: initial;
146                 padding-bottom: initial;
147                 vertical-align: text-bottom;
148             }
149         }
150     }
153 .activity img.activityicon {
154     margin-right: 6px;
155     vertical-align: text-bottom;
158 .section .activity .activityinstance,
159 .section .activity .activityinstance div {
160     display: inline-block;
163 .editing {
164     .section {
165         .activity {
166             .contentwithoutlink,
167             .activityinstance {
168                 padding-right: 200px;
169             }
170         }
171     }
174 .editing_show + .editing_assign,
175 .editing_hide + .editing_assign {
176     // if roles icon missing, add space
177     margin-left: 20px;
180 .section .activity .commands {
181     white-space: nowrap;
182     display: inline-block;
185 .section .activity.modtype_label.label {
186     font-weight: normal;
187     padding: .2em;
190 .section li.activity {
191     padding: .2em;
192     clear: both;
195 .section .activity .activityinstance .groupinglabel {
196     padding-left: 30px;
199 .section .activity .availabilityinfo,
200 .section .activity .contentafterlink {
201     margin-top: 0.5em;
202     margin-left: 30px;
205 .section .activity .contentafterlink p {
206     margin: .5em 0;
209 .editing .section .activity:hover,
210 .editing .section .activity.action-menu-shown {
211     background-color: $table-bg-accent;
214 .course-content .current {
215     position: relative;
218 .course-content .current::before {
219     content: "";
220     border-left: $brand-primary 2px solid;
221     position: absolute;
222     left: -15px;
223     top: 0;
224     bottom: 0;
227 .course-content .section-summary {
228     border: 1px solid $table-border-color;
229     margin-top: 5px;
230     list-style: none;
233 .course-content .section-summary .section-title {
234     margin: 2px 5px 10px 5px;
237 .course-content .section-summary .summarytext {
238     margin: 2px 5px 2px 5px;
241 .course-content .section-summary .section-summary-activities .activity-count {
242     @extend .text-muted;
243     font-size: $font-size-sm;
244     margin: 3px;
245     white-space: nowrap;
246     display: inline-block;
249 .course-content .section-summary .summary {
250     margin-top: 5px;
253 .course-content .single-section {
254     margin-top: 1em;
257 .course-content .single-section .section-navigation {
258     display: block;
259     padding: 0.5em;
260     margin-bottom: -0.5em;
263 .course-content .single-section .section-navigation .title {
264     font-weight: bold;
265     font-size: 108%;
266     clear: both;
269 .course-content .single-section .section-navigation .mdl-left {
270     font-weight: normal;
271     float: left;
272     margin-right: 1em;
275 .course-content .single-section .section-navigation .mdl-left .larrow {
276     margin-right: 0.1em;
279 .course-content .single-section .section-navigation .mdl-right {
280     font-weight: normal;
281     float: right;
282     margin-left: 1em;
285 .course-content .single-section .section-navigation .mdl-right .rarrow {
286     margin-left: 0.1em;
289 .course-content .single-section .section-navigation .mdl-bottom {
290     margin-top: 0;
293 .course-content ul li.section.main {
294     border-bottom: $border-width solid $table-border-color;
295     margin-top: 0;
297     &:last-child {
298         border-bottom: 0;
299     }
302 .course-content ul li.section.hidden {
303     .sectionname > span,
304     .content > div,
305     .activity .activityinstance {
306         opacity: .5;
307     }
309     .sectionname > span,
310     .activity .activityinstance {
311         margin-left: 10px;
312         margin-right: 10px;
313     }
316 .course-content ul.topics,
317 .course-content ul.weeks {
318     padding: 0;
320     li.section {
321         padding-top: $spacer;
322         padding-bottom: $spacer;
324         .content {
325             margin: 0;
326             padding: 0;
327         }
328     }
331 .course-content {
332     margin-top: 0;
335 .course-content ul.topics li.section .summary {
336     margin-left: 25px;
339 .course-content .hidden {
340     display: none;
343 .course-content li {
344     &.section {
345         ul {
346             list-style: disc;
348             ul {
349                 list-style: circle;
351                 ul {
352                     list-style: square;
353                 }
354             }
355         }
357         li {
358             &.activity {
359                 ul {
360                     list-style: disc;
362                     ul {
363                         list-style: circle;
365                         ul {
366                             list-style: square;
367                         }
368                     }
369                 }
370             }
371         }
373         .right {
374             > .icon:first-child {
375                 /* Remove the spacer icon. */
376                 display: none;
377             }
378         }
379     }
382 .path-course-view .completionprogress {
383     margin-left: 25px;
386 .path-course-view .completionprogress {
387     display: block;
388     float: right;
389     height: 20px;
390     position: relative;
393 #page-site-index .subscribelink {
394     text-align: right;
397 #site-news-forum h2,
398 #frontpage-course-list h2,
399 #frontpage-category-names h2,
400 #frontpage-category-combo h2 {
401     margin-bottom: 9px;
404 .path-course-view a.reduce-sections {
405     padding-left: 0.2em;
408 .path-course-view .subscribelink {
409     text-align: right;
412 .path-course-view .unread {
413     margin-left: 30px;
416 .path-course-view .block.drag .header {
417     cursor: move;
420 .path-course-view .completionprogress {
421     text-align: right;
424 .path-course-view .single-section .completionprogress {
425     margin-right: 5px;
428 .path-course-view .section .summary {
429     line-height: normal;
432 .path-site li.activity > div,
433 .path-course-view li.activity > div {
434     position: relative;
435     padding: 0 16px 0 0; /* to accommodate the floated completion icon with highlighting */
438 .path-course-view li.activity span.autocompletion img {
439     vertical-align: text-bottom;
440     margin-right: 0;
443 .path-course-view li.activity form.togglecompletion img {
444     max-width: none; /* The width is 0 so ensure we don't end up with a relative max-width */
447 .path-course-view {
448     &.editing {
449         li.activity span.autocompletion img {
450             /* Use the same spacing as the filler. */
451             margin-right: $spacer / 2;
452             margin-left: $spacer / 2;
453         }
454     }
457 .path-course-view li.activity form.togglecompletion .ajaxworking {
458     width: 16px;
459     height: 16px;
460     position: absolute;
461     right: 22px;
462     top: 3px;
463     background: url([[pix:i/ajaxloader]]) no-repeat;
466 li.section.hidden span.commands a.editing_hide,
467 li.section.hidden span.commands a.editing_show {
468     cursor: default;
471 ul.weeks h3.sectionname {
472     white-space: nowrap;
475 .editing ul.weeks h3.sectionname {
476     white-space: normal;
479 .single-section h3.sectionname {
480     text-align: center;
481     clear: both;
484 .section img.movetarget {
485     height: 16px;
486     width: 80px;
489 input.titleeditor {
490     width: 330px;
491     vertical-align: text-bottom;
494 span.editinstructions {
495     position: absolute;
496     top: 0;
497     margin-top: -22px;
498     margin-left: 30px;
499     line-height: 16px;
500     font-size: $font-size-sm;
501     padding: .1em .4em;
502     background-color: $state-info-bg;
503     color: $state-info-text;
504     text-decoration: none;
505     z-index: 9999;
507     @include box-shadow(2px 2px 5px 1px #ccc);
508     border: 1px solid $state-info-border;
511 /* Course drag and drop upload styles */
512 #dndupload-status {
513     position: fixed;
514     left: 0;
515     width: 40%;
516     margin: 0 30%;
517     padding: 6px;
518     border: 1px solid $state-info-border;
519     text-align: center;
520     background: $state-info-bg;
521     color: $state-info-text;
522     z-index: 1; // Required in order to have this above relatively positioned course content@mixin
524     @include box-shadow(2px 2px 5px 1px #ccc);
525     @include border-radius(8px);
528 .dndupload-preview {
529     color: #909090;
530     border: 1px dashed #909090;
531     list-style: none;
532     margin-top: .2em;
533     padding: .3em;
536 .dndupload-progress-outer {
537     @extend progress;
540 .dndupload-progress-inner {
541     .progress {
542         @extend .progress-bar;
543     }
546 .dndupload-hidden {
547     display: none;
550 /* COURSES LISTINGS AND COURSE SUMMARY */
551 #page-course-pending .singlebutton,
552 #page-course-index .singlebutton,
553 #page-course-index-category .singlebutton,
554 #page-course-editsection .singlebutton {
555     text-align: center;
558 #page-admin-course-manage #movecourses td img {
559     margin: 0 .22em;
560     vertical-align: text-bottom;
563 #coursesearch {
564     margin-top: 1em;
565     text-align: center;
568 #page-course-pending .pendingcourserequests {
569     margin-bottom: 1em;
572 #page-course-pending .pendingcourserequests .singlebutton {
573     display: inline;
576 #page-course-pending .pendingcourserequests .cell {
577     padding: 0 5px;
580 #page-course-pending .pendingcourserequests .cell.c6 {
581     white-space: nowrap;
584 .coursebox {
585     padding: $spacer / 2;
588 .coursebox > .info > .coursename a {
589     display: block;
590     background-image: url([[pix:moodle|i/course]]);
591     background-repeat: no-repeat;
592     padding-left: 21px;
593     background-position: left 0.2em;
596 .coursebox > .info > .coursename,
597 .coursebox .content .teachers,
598 .coursebox .content .courseimage,
599 .coursebox .content .coursefile {
600     float: left;
601     clear: left;
604 .coursebox .content .teachers,
605 .coursebox .content .courseimage,
606 .coursebox .content .coursefile {
607     width: 40%;
610 .coursebox > .info > h3.coursename {
611     margin: 5px;
612     line-height: 1;
615 .coursebox > .info > .coursename {
616     margin: 5px;
617     padding: 0;
620 .coursebox .content .teachers li {
621     list-style-type: none;
622     padding: 0;
623     margin: 0;
626 .coursebox .moreinfo {
627     padding: 3px 0;
628     float: right;
631 .coursebox .moreinfo img {
632     margin: 0 .2em;
635 .coursebox .content {
636     clear: both;
639 .coursebox .content .summary,
640 .coursebox .content .coursecat {
641     float: right;
642     width: 55%;
645 .coursebox .content .coursecat {
646     text-align: right;
647     clear: right;
650 .coursebox.remotecoursebox .remotecourseinfo {
651     float: left;
652     width: 40%;
655 .coursebox .content .courseimage img {
656     max-width: 100px;
657     max-height: 100px;
660 .coursebox .content .coursecat,
661 .coursebox .content .summary,
662 .coursebox .content .courseimage,
663 .coursebox .content .coursefile,
664 .coursebox .content .teachers,
665 .coursebox.remotecoursebox .remotecourseinfo {
666     margin: 15px 5px 5px;
667     padding: 0;
670 .coursebox.remotehost > .info > .categoryname a {
671     background-image: url([[pix:moodle|i/mnethost]]);
674 .coursebox.collapsed {
675     margin-bottom: 0;
678 .coursebox.collapsed > .content {
679     display: none;
682 .courses .coursebox {
683     &.collapsed {
684         padding-top: $spacer-y / 2;
685         padding-bottom: $spacer-y / 2;
686     }
688     &.even {
689         background-color: $table-bg-accent;
690     }
692     &:hover {
693         background-color: $table-bg-hover;
694     }
697 .courses > .paging.paging-morelink {
698     text-align: center;
699     padding: $spacer;
702 .course_category_tree .category .numberofcourse {
703     font-size: $font-size-sm;
706 .course_category_tree .controls {
707     visibility: hidden;
710 .course_category_tree .controls div {
711     display: inline;
712     cursor: pointer;
715 .jsenabled .course_category_tree .controls {
716     visibility: visible;
719 .course_category_tree .controls {
720     margin-bottom: 5px;
721     text-align: right;
722     float: right;
725 .course_category_tree .controls div {
726     padding-right: 2em;
727     font-size: 75%;
730 .course_category_tree .category > .info > .categoryname {
731     background-image: url([[pix:moodle|t/collapsed_empty]]);
732     background-repeat: no-repeat;
733     padding: 2px 18px;
734     margin: 3px;
735     background-position: center left;
737 /* rtl:raw:
738 .course_category_tree .category > .info > .categoryname {
739     background-image:url([[pix:moodle|t/collapsed_empty_rtl]]);
741  */
742 .course_category_tree .category.with_children > .info > .categoryname {
743     background-image: url([[pix:moodle|t/expanded]]);
744     cursor: pointer;
747 .course_category_tree .category.with_children.collapsed > .info > .categoryname {
748     background-image: url([[pix:moodle|t/collapsed]]);
750 /* rtl:raw:
751 .course_category_tree .category.with_children.collapsed > .info > .categoryname {
752     background-image:url([[pix:moodle|t/collapsed_rtl]]);
754 */
755 .course_category_tree .category.collapsed > .content {
756     display: none;
759 .course_category_tree .category > .info {
760     clear: both;
763 .course_category_tree .category > .content {
764     padding-left: 16px;
767 #page-course-index-category .generalbox.info {
768     margin-bottom: 15px;
769     border: 1px dotted #ddd;
771     @include border-radius(4px);
772     padding: 5px;
775 #page-course-index-category .categorypicker {
776     text-align: center;
777     margin: 10px 0 20px;
780 /**
781  * Course management page
782  * Palette
783  *
784  * Background (reg)         #F5F5F5
785  * Background (light        #fafafa
786  * Background (highlight)   #ddffaa
787  * Borders                  #e1e1e8
788  */
789 #course-category-listings {
790     background-color: $body-bg;
791     margin-bottom: 200px;
793     /** Two column layout */
794     &.columns-2 {
795         > #course-listing > div {
796             position: relative;
797             left: -1px;
798         }
799     }
800     /** Three column layout */
801     &.columns-3 > #course-listing > div {
802         height: 100%;
803     }
805     > div > div {
806         min-height: 300px;
808         > ul.ml > li:first-child > div {
809             border-top: 0;
810         }
811     }
813     h3 {
814         margin: 0;
815         padding: 0.4rem 0.6rem 0.3rem;
816     }
818     h4 {
819         margin: 1rem 0 0;
820         padding: 0.6rem 1rem 0.5rem;
821     }
823     .moodle-actionmenu {
824         white-space: nowrap;
825     }
827     .listing-actions {
828         text-align: center;
829         padding: 0.4rem 0.3rem 0.3rem;
830         line-height: 2.2em;
832         > .moodle-actionmenu {
833             display: inline-block;
834         }
835     }
837     ul.ml {
838         list-style: none;
839         margin: 1rem 0;
841         ul.ml {
842             margin: 0;
843         }
844     }
846     li {
847         line-height: 2.2em;
849         > div {
850             &:hover {
851                 background-color: $table-bg-hover;
852             }
853         }
855         &[data-selected='1'] {
856             > div {
857                 background-color: $table-bg-accent;
858             }
860             > div:hover {
861                 background-color: $table-bg-hover;
862             }
863         }
864     }
866     .item-actions {
867         margin-right: 1em;
868         display: inline-block;
870         > a img,
871         .menubar img {
872             margin: 0 4px;
873             height: 12px;
874             padding: 0;
875             vertical-align: inherit;
876         }
878         &.show .menu {
879             li {
880                 line-height: 20px;
881             }
883             img {
884                 width: 12px;
885                 max-width: none;
886             }
887         }
889         .menu-action-text {
890             vertical-align: inherit;
891         }
892     }
894     .listitem {
895         > div {
896             > .float-left {
897                 float: left;
898             }
900             > .float-right {
901                 float: right;
902                 text-align: right;
903             }
905             .item-actions {
906                 .action-show {
907                     display: none;
908                 }
910                 .action-hide {
911                     display: inline;
912                 }
913             }
915             .without-actions {
916                 color: #333;
917             }
919             .idnumber {
920                 color: #a1a1a8;
921                 margin-right: 2em;
922             }
923         }
924         // The category or course is hidden.
925         &[data-visible="0"] {
926             @extend .text-muted;
928             > div {
929                 > a {
930                     @extend .text-muted;
931                 }
933                 .item-actions {
934                     .action-show {
935                         display: inline;
936                     }
938                     .action-hide {
939                         display: none;
940                     }
941                 }
942             }
943         }
945         &.highlight {
946             background-color: $body-bg;
948             > div,
949             > div:hover,
950             &[data-selected='1'] > div {
951                 background-color: $table-bg-hover;
952             }
953         }
954     }
956     #course-listing {
957         .listitem {
958             .categoryname {
959                 display: inline-block;
960                 margin-left: 1em;
961                 color: #a1a1a8;
962             }
964             .coursename {
965                 display: inline-block;
966             }
968             > div {
969                 padding-left: 1rem;
970             }
971         }
973         > .firstpage .listitem:first-child > div .item-actions .action-moveup,
974         > .lastpage .listitem:last-child > div .item-actions .action-movedown {
975             display: none;
976         }
978         .bulk-action-checkbox {
979             margin: -2px 6px 0 0;
980         }
981     }
983     #category-listing {
984         .listitem.collapsed > ul.ml {
985             display: none;
986         }
988         .listitem {
989             > div {
990                 > .ba-checkbox {
991                     width: 2.2em;
992                     text-align: center;
993                     margin: -1px 0.5em 0 0;
994                     padding-top: 2px;
995                 }
996             }
998             &.highlight > div > .ba-checkbox {
999                 background-color: $table-bg-hover;
1000             }
1002             &[data-selected='1'] > div > .ba-checkbox {
1003                 margin: 0 0.5em 0 0;
1004                 padding: 0;
1005                 background-color: inherit;
1006             }
1008             &:first-child > div .item-actions .action-moveup,
1009             &:last-child > div .item-actions .action-movedown {
1010                 display: none;
1011             }
1012         }
1014         .course-count {
1015             color: #a1a1a8;
1016             margin-right: 2rem;
1017             min-width: 3.5em;
1018             display: inline-block;
1019         }
1021         .bulk-action-checkbox {
1022             margin-right: -3px;
1023         }
1025         .category-listing > ul > .listitem:first-child {
1026             position: relative;
1027         }
1029         .category-bulk-actions {
1030             margin: 0 0.5em 0.5em;
1031             position: relative;
1032         }
1033     }
1035     .detail-pair {
1036         border-bottom: 1px solid $table-border-color;
1037         margin: 0 1rem;
1039         > * {
1040             display: inline-block;
1041             line-height: 2.2rem;
1042         }
1044         .pair-key {
1045             font-weight: bold;
1046             vertical-align: top;
1048             span {
1049                 margin-right: 1rem;
1050                 display: block;
1051             }
1052         }
1054         .pair-value select {
1055             max-width: 100%;
1056         }
1057     }
1059     .bulk-actions .detail-pair {
1060         > * {
1061             display: block;
1062             width: 100%;
1063         }
1064     }
1066     .listing-pagination {
1067         text-align: center;
1069         .yui3-button {
1070             background-color: $btn-info-bg;
1071             border: 0;
1072             margin: 0.4rem 0.2rem 0.45rem;
1073             font-size: 10.4px;
1075             &.active-page {
1076                 background-color: $btn-primary-color;
1077             }
1078         }
1079     }
1081     .listing-pagination-totals {
1082         text-align: center;
1084         &.dimmed {
1085             @extend .text-muted;
1086             margin: 0.4rem 1rem 0.45rem;
1087         }
1088     }
1090     .select-a-category .notifymessage,
1091     .select-a-category .alert {
1092         margin: 1em;
1093     }
1096 #course-category-listings #course-listing .listitem .drag-handle {
1097     display: none;
1100 .jsenabled #course-category-listings #course-listing .listitem .drag-handle {
1101     display: inline-block;
1102     margin: 0 6px 0 0;
1103     cursor: pointer;
1106 /** Management header styling **/
1107 .coursecat-management-header {
1108     vertical-align: middle;
1110     h2 {
1111         display: inline-block;
1112         text-align: left;
1113     }
1115     > div {
1116         display: inline-block;
1117         float: right;
1118         line-height: 40px;
1120         > div {
1121             margin: 10px 0 10px 1em;
1122             display: inline-block;
1123         }
1124     }
1126     select {
1127         max-width: 300px;
1128         cursor: pointer;
1129         padding: 0.4em 0.5em 0.45em 1em;
1130         vertical-align: baseline;
1131         white-space: nowrap;
1132     }
1134     .view-mode-selector {
1135         .moodle-actionmenu {
1136             white-space: nowrap;
1137             display: inline-block;
1138         }
1140         .moodle-actionmenu[data-enhanced].show .menu a {
1141             padding-left: 1em;
1142         }
1143     }
1146 .course-being-dragged-proxy {
1147     border: 0;
1148     color: $link-color;
1149     vertical-align: middle;
1150     padding: 0 0 0 4em;
1153 .course-being-dragged {
1154     opacity: 0.5;
1157 /**
1158  * Display sizes:
1159  * Large displays                   1200        +
1160  * Default displays                  980     1199
1161  * Tablets                           768      979
1162  * Small tablets and large phones    481      767
1163  * Phones                              0      480
1164  */
1166 @media (min-width: 1200px) and (max-width: 1600px) {
1167     #course-category-listings.columns-3 {
1168         background-color: $body-bg;
1169         border: 0;
1171         #category-listing,
1172         #course-listing {
1173             width: 50%;
1174         }
1176         #category-listing > div,
1177         #course-listing > div,
1178         #course-detail > div {
1179             background-color: $body-bg;
1180         }
1182         #course-detail {
1183             width: 100%;
1184             margin-top: 1em;
1185         }
1186     }
1189 @media (max-width: 1199px) {
1190     #course-category-listings.columns-2,
1191     #course-category-listings.columns-3 {
1192         background-color: $body-bg;
1193         border: 0;
1195         #category-listing,
1196         #course-listing,
1197         #course-detail {
1198             width: 100%;
1199             margin: 0 0 1em;
1200         }
1202         #category-listing > div,
1203         #course-listing > div,
1204         #course-detail > div {
1205             background-color: $body-bg;
1206         }
1207     }
1210 .page-settings-menu .menubar > a > .icon {
1211     width: auto;
1212     height: 32px;