Merge branch 'MDL-56846-master' of git://github.com/damyon/moodle
[moodle.git] / theme / boost / scss / moodle / modules.scss
1 /* modules.less */
3 // The home for small tweaks to modules that don't require
4 // changes drastic enough to pull in the full module css
5 // and replace it completely
6 // Plus some misc. odds and ends
8 select {
9     width: auto;
10 }
12 .path-mod-feedback .feedback_form .col-form-label {
13     display: block !important; /* stylelint-disable-line declaration-no-important */
14 }
15 // Feedback module
16 .path-mod-feedback .itemactions {
17     float: right;
18 }
19 .path-mod-feedback .itemhandle {
20     position: absolute;
21     right: 1rem;
22 }
24 // Forum module
26 .path-mod-forum .forumsearch {
27     input,
28     .helptooltip {
29         margin: 0 3px;
30     }
31 }
33 .path-mod-forum .forumheaderlist,
34 .path-mod-forum .forumheaderlist td {
35     border: none;
36 }
38 .path-mod-forum {
39     .forumheaderlist {
40         thead .header,
41         tbody .discussion td {
42             white-space: normal;
43             vertical-align: top;
44             padding-left: 0.5em;
45             padding-right: 0.5em;
46         }
48         thead .header {
49             white-space: normal;
50             vertical-align: top;
51         }
53         thead .header.replies {
54             text-align: center;
55         }
57         thead .header.lastpost {
58             text-align: right;
59         }
61         thead .header th,
62         tbody .discussion td {
63             &.discussionsubscription {
64                 width: 16px;
65                 padding-left: 0.5em;
66                 padding-right: 0.5em;
67             }
68         }
70         .discussion {
71             .author,
72             .replies,
73             .lastpost {
74                 white-space: normal;
75             }
77             .discussionsubscription,
78             .replies {
79                 text-align: center;
80             }
82             .topic,
83             .discussionsubscription,
84             .topic.starter,
85             .picture,
86             .author,
87             .replies,
88             .lastpost {
89                 vertical-align: top;
90             }
91         }
92     }
93 }
95 .forumpost {
96     @extend .card;
97     padding: 6px;
99     .header {
100         margin-bottom: 3px;
101     }
103     .picture img {
104         margin: 3px;
106         &.userpicture {
107             margin-left: 3px;
108             margin-right: 10px;
109         }
110     }
112     .content {
113         .posting.fullpost {
114             margin-top: 8px;
115         }
116     }
118     .row {
119         .topic,
120         .content-mask,
121         .options {
122             margin-left: 48px;
123         }
125         &.side {
126             clear: both;
127         }
128     }
131 .forumpost .row .left {
132     width: 48px;
135 .forumpost .options .commands {
136     margin-left: 0;
139 .forumpost .subject {
140     font-weight: bold;
143 // Override hardcoded forum modules styling
144 .forumsearch input[type=text] {
145     margin-bottom: 0;
148 #page-mod-forum-discuss .discussioncontrols {
149     width: auto;
150     margin: 0;
152     .form-inline input {
153         margin-top: -1px;
154     }
157 .maincalendar .calendarmonth td,
158 .maincalendar .calendarmonth th {
159     border: 1px dotted $table-border-color;
162 .path-grade-report-grader h1 {
163     text-align: inherit;
166 #page-mod-chat-gui_basic input#message {
167     max-width: 100%;
170 #page-mod-data-view #singleimage {
171     width: auto;
174 .path-mod-data form {
175     margin-top: 10px;
178 .template_heading {
179     margin-top: 10px;
182 .breadcrumb-button {
183     float: right;
184     margin-top: 4px;
187 .breadcrumb-button .singlebutton {
188     float: left;
189     margin-left: 4px;
192 .navbar-fixed-top,
193 .navbar-fixed-bottom {
194     z-index: 4030;
197 .ie .row-fluid .desktop-first-column {
198     margin-left: 0;
201 .langmenu form {
202     margin: 0;
204 // contributed by Paul Hibbitts, see http://msdn.microsoft@mixin com/en-us/library/ie/jj583807(v=vs.85).aspx
205 canvas {
206     -ms-touch-action: auto;
209 div#dock {
210     display: none;
213 // Choice module
215 .path-mod-choice {
216     .horizontal  .choices {
217         margin: 0;
219         .option {
220             display: inline-block;
221             padding: 10px;
222         }
223     }
225     .results .data {
226         white-space: normal;
227     }
230 // Lesson module
232 /** General styles (scope: all of lesson) **/
233 .path-mod-lesson .invisiblefieldset.fieldsetfix {
234     display: block;
237 .path-mod-wiki .wiki_headingtitle,
238 .path-mod-wiki .midpad,
239 .path-mod-wiki .wiki_headingtime {
240     text-align: inherit;
243 .path-mod-wiki .wiki_contentbox {
244     width: 100%;
247 // Dropdown styling.
248 .dropdown-menu {
249     margin-top: 11px;
252 // Survey module
254 .path-mod-survey {
255     .surveytable {
256         > tbody > tr:nth-of-type(odd) {
257             background-color: $table-bg;
258         }
260         > tbody > tr:nth-of-type(even) {
261             background-color: $table-bg-accent;
262         }
264         .rblock label {
265             text-align: center;
266         }
267     }
271 .nav .caret {
272     margin-left: 4px;
275 // Dividers
276 .nav {
277     .divider {
278         overflow: hidden;
279         width: 0;
280     }
283 // Usermenu
284 .usermenu {
285     float: right;
287     .login {
288         line-height: 2.25rem;
290         a {
291             color: $link-color;
292             &:hover,
293             &:focus {
294                 color: $link-hover-color;
295                 text-decoration: underline;
296             }
297         }
298     }
301 .userloggedinas,
302 .userswitchedrole {
303     .usermenu {
304         .usertext {
305             float: left;
306             text-align: right;
307             margin-right: $spacer / 2;
308             height: 35px;
309             .meta {
310                 display: block;
311                 font-size: $font-size-sm;
312             }
313         }
314         .avatar {
315             img {
316                 margin: 0;
317             }
318         }
319     }
322 .userloggedinas .usermenu {
323     .userbutton .avatars {
324         position: relative;
325         display: inline-block;
326         .avatar {
327             &.current {
328                 display: inline-block;
329                 position: absolute;
330                 bottom: 0;
331                 right: 0;
332                 width: 20px;
333                 height: 20px;
334                 border-radius: 50%;
335                 img {
336                     vertical-align: baseline;
337                 }
338             }
339             img {
340                 width: inherit;
341                 height: inherit;
342             }
343         }
344         .realuser {
345             width: 35px;
346             height: 35px;
347             display: inline-block;
348         }
349     }
352 @include media-breakpoint-down(sm) {
353     .usertext {
354         display: none;
355     }
358 // Quiz module
360 // Question navigation block.
361 .path-mod-quiz #mod_quiz_navblock {
362     .qnbutton {
363         text-decoration: none;
364         font-size: 14px;
365         line-height: 20px;
366         font-weight: normal;
367         background-color: $body-color;
368         background-image: none;
369         height: 40px;
370         width: 30px;
371         border-radius: 3px;
372         border: 0;
373         overflow: visible;
374         margin: 0 6px 6px 0;
375     }
377     span.qnbutton {
378         cursor: default;
379         background-color: $input-bg-disabled;
380         color: $gray;
381     }
383     a.qnbutton:hover,
384     a.qnbutton:active,
385     a.qnbutton:focus {
386         text-decoration: underline;
387     }
389     .qnbutton .thispageholder {
390         border: 1px solid;
391         border-radius: 3px;
392         z-index: 1;
393     }
395     .qnbutton.thispage .thispageholder {
396         border-width: 3px;
397     }
399     .allquestionsononepage .qnbutton.thispage .thispageholder {
400         border-width: 1px;
401     }
403     .qnbutton.flagged .thispageholder {
404         background: transparent url([[pix:theme|mod/quiz/flag-on]]) 15px 0 no-repeat;
405     }
407     .qnbutton .trafficlight {
408         border: 0;
409         background: $body-color none center / 10px no-repeat scroll;
410         height: 20px;
411         margin-top: 20px;
412         border-radius: 0 0 3px 3px;
413     }
415     .qnbutton.notyetanswered .trafficlight,
416     .qnbutton.invalidanswer .trafficlight {
417         background-color: $body-color;
418     }
420     .qnbutton.invalidanswer .trafficlight {
421         background-image: url([[pix:theme|mod/quiz/warningtriangle]]);
422     }
424     .qnbutton.correct .trafficlight {
425         background-image: url([[pix:theme|mod/quiz/checkmark]]);
426         background-color: $state-success-text;
427     }
429     .qnbutton.blocked .trafficlight {
430         background-image: url([[pix:core|t/locked]]);
431         background-color: $input-bg-disabled;
432     }
434     .qnbutton.notanswered .trafficlight,
435     .qnbutton.incorrect .trafficlight {
436         background-color: $state-danger-text;
437     }
439     .qnbutton.partiallycorrect .trafficlight {
440         background-image: url([[pix:theme|mod/quiz/whitecircle]]);
441         background-color: $state-warning-text;
442     }
444     .qnbutton.complete .trafficlight,
445     .qnbutton.answersaved .trafficlight,
446     .qnbutton.requiresgrading .trafficlight {
447         background-color: $gray-light;
448     }
451 /**
452  * Assign.
453  */
454 .path-mod-assign [data-region="grade-actions-panel"] [data-region="grade-actions"] .collapse-buttons {
455     top: auto;
457 .path-mod-assign .no-overflow {
458     overflow: initial;
461 .path-mod-assign [data-region="grade-panel"] .has-popout {
462     background-color: $card-bg;
464     @include border-radius($card-border-radius);
465     border: $card-border-width solid $card-border-color;
468 .path-mod-assign [data-region="grade-panel"] .popout {
469     background-color: $modal-content-bg;
472 .path-mod-assign [data-region="grade-panel"] .col-md-3 {
473     width: 100%;
476 .path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 {
477     @extend .modal-header;
478     font-size: 1.5rem;
481 .path-mod-assign [data-region="grade-panel"] [data-region="popout-button"] {
482     margin-top: 0.5rem;
485 .path-mod-assign [data-region="grade-panel"] .popout [data-region="popout-button"] {
486     margin-top: 0;
489 .path-mod-assign [data-region="grade-panel"] h3 {
490     margin: 10px 0;
491     line-height: 40px;
494 .path-mod-assign [data-region="assignment-info"] {
495     overflow-y: hidden;
498 .path-mod-assign [data-region="grading-navigation"] {
499     padding: 6px;
502 .path-mod-assign [data-region="grade-actions"] {
503     padding: 10px;
506 .path-mod-assign [data-region="user-info"] .img-rounded {
507     margin-top: 0;
510 .path-mod-assign [data-region="grading-navigation-panel"] {
511     height: 85px;
514 .path-mod-assign [data-region="grading-navigation"] [data-region="input-field"] input {
515     width: auto;
516     display: inline-block;
519 /**
520  * Assign feedback.
521  */
522 .assignfeedback_editpdf_widget * {
523     box-sizing: content-box;
526 .assignfeedback_editpdf_widget button {
527     box-sizing: border-box;
530 .assignfeedback_editpdf_widget .commentcolourbutton img {
531     border-width: 0;
534 .assignfeedback_editpdf_widget .label {
535     @extend .tag;
536     @extend .tag-info;
539 .assignfeedback_editpdf_menu {
540     padding: 0;
544 /**
545  * Mod LTI.
546  */
547 .path-admin-mod-lti {
548     .btn .loader img,
549     #tool-list-loader-container .loader img {
550         height: auto;
551     }