~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/media/common/ivle.css

Add an XHTMLUnauthorizedView which redirects unauthenticated users to the
login page if a page raises an Unauthorized. Alter UserSettingsView to raise
one in the right cases, for testing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
    font-size: 0.95em;
17
17
}
18
18
 
19
 
a:link, a:visited, a:hover, a:active, a.fakelink {
20
 
    color: #002a8c;
21
 
    text-decoration: none;
22
 
}
23
 
 
24
 
a:hover, a.fakelink:hover {
 
19
a {
 
20
    color: navy;
25
21
    text-decoration: underline;
26
 
}
27
 
 
28
 
a.fakelink {
29
22
    cursor: pointer;
30
23
}
31
 
 
32
 
a img {
33
 
    border: none;
34
 
}
35
 
 
36
 
h1 {
37
 
    margin: 0;
38
 
    font-size: x-large;
39
 
    font-weight: normal;
40
 
}
41
 
 
42
 
#ivleview > h1 {
43
 
    margin: 0.5em 0 0.5em 0.5em;
44
 
}
45
 
 
46
 
h2 {
47
 
    font-size: 130%;
48
 
    font-weight: normal;
 
24
a:hover, a:active, a:focus {
 
25
    color: blue;
 
26
}
 
27
 
 
28
.error {
 
29
    color: #a00;
49
30
}
50
31
 
51
32
/** Special styles for header section **/
52
33
 
53
34
#ivleheader {
54
35
    position: absolute;
55
 
    background-color: #abf;
56
 
    background-image: url(../ivle.webapp.core/images/chrome/topbar-slashes.png);
57
 
    background-repeat: repeat-x;
 
36
    background-color: #fea;
58
37
    padding: 0;
59
38
    border-bottom: 1px solid black;
60
 
    /* IMPORTANT: This 2em is hard-coded elsewhere in this file. Search for
 
39
    /* IMPORTANT: This 5.3em is hard-coded elsewhere in this file. Search for
61
40
     * #ivleheader.height to update it. */
62
 
    height: 2em;
 
41
    height: 5.3em;
63
42
    left: 0;
64
43
    right: 0;
65
44
    z-index: 1;     /* Background to all, but the body */
66
45
}
67
46
 
68
 
/* Now we have lots of breadcrumb styles.
69
 
   The breadcrumbs are <li>s in a <ul>. Each <li> has either an <a> or
70
 
   a <span> inside it, with the label of the breadcrumb. <li>s may also
71
 
   have an <ul> inside them, which is a menu that pops up on hover.
72
 
 */
73
 
ul#ivle_breadcrumbs {
74
 
    margin: 0;
75
 
    padding: 0;
76
 
    list-style-type: none;
77
 
}
78
 
 
79
 
ul#ivle_breadcrumbs > li {
80
 
    background: url(../ivle.webapp.core/images/chrome/breadcrumb-chevron.png) scroll no-repeat right;
81
 
    float: left;
82
 
    min-height: 29px;
83
 
    margin-right: 4px;
84
 
    position: relative;
85
 
}
86
 
 
87
 
ul#ivle_breadcrumbs > li > a {
88
 
    display: block;
89
 
    line-height: 2em;
90
 
    padding-right: 16px;
91
 
    vertical-align: middle;
92
 
    text-decoration: none;
93
 
    color: black;
94
 
}
95
 
 
96
 
ul#ivle_breadcrumbs > li > a > img {
97
 
    vertical-align: middle;
98
 
}
99
 
 
100
 
/* There is no breadcrumb to the left of the first one, so there is no margin.
101
 
   We add a special one. */
102
 
ul#ivle_breadcrumbs > li:first-child > a {
103
 
    padding-left: 6px;
104
 
}
105
 
 
106
 
ul#ivle_breadcrumbs > li > span {
107
 
    display: block;
108
 
    line-height: 2em;
109
 
    padding-right: 16px;
110
 
    vertical-align: middle;
111
 
}
112
 
 
113
 
ul#ivle_breadcrumbs > li > a:hover {
114
 
    text-decoration: underline;
115
 
}
116
 
 
117
 
ul#ivle_breadcrumbs > li > ul {
118
 
    display: none;
119
 
    list-style-type: none;
120
 
 
121
 
    position: absolute;
122
 
    padding-left: 0;
123
 
    top: 2em;
124
 
    left: -21px; /* Just meets the chevron on the left. */
125
 
    width: 200px;
126
 
 
127
 
    background: #abf;
128
 
    border: 1px solid #dee4ff;
129
 
    opacity: 0.95;
130
 
}
131
 
 
132
 
ul#ivle_breadcrumbs > li:first-child > ul {
133
 
    left: 0; /* Don't want the IVLE menu to run off the LHS. */
134
 
}
135
 
 
136
 
ul#ivle_breadcrumbs > li:hover > ul {
137
 
    display: block;
138
 
}
139
 
 
140
 
ul#ivle_breadcrumbs > li > ul > li {
141
 
    padding: 0.3em;
142
 
}
143
 
 
144
 
/* The IVLE crumb's menu items are extra high, with icons. */
145
 
ul#ivle_breadcrumbs > li:first-child > ul > li > a {
146
 
    min-height: 24px;
147
 
    vertical-align: middle;
148
 
    padding-top: 2px;
149
 
}
150
 
 
151
 
ul#ivle_breadcrumbs > li > ul > li > a {
152
 
    display: block;
153
 
}
154
 
 
155
 
ul#ivle_breadcrumbs > li > ul > li:hover {
156
 
    background: #b8c6ff;
157
 
}
158
 
 
159
 
ul#ivle_breadcrumbs > li.crumbmenu > a {
160
 
    background: url(../ivle.webapp.core/images/chrome/drop-down.png) scroll no-repeat right;
161
 
    margin-right: 10px;
162
 
}
163
 
 
164
47
#ivleheader_text {
 
48
    /* Pad left and right. */
165
49
    position: absolute;
166
 
    top: 0;
 
50
    padding: 0 1em;
 
51
    left: 0;
167
52
    right: 0;
168
 
    padding: 0.5em;
 
53
    z-index: 3;     /* In front */
 
54
}
 
55
 
 
56
/* Special "IVLE" and "Informatics Virtual Learning Environment" titles */
 
57
#ivleheader_text h1 {
 
58
    position: absolute;
 
59
    text-align: left;
 
60
    font-size: 3.8em;
 
61
    font-style: italic;
 
62
    color: #ffc;
 
63
    margin: 0;
 
64
    padding: 0;
 
65
}
 
66
#ivleheader_text h2 {
 
67
    position: absolute;
 
68
    text-align: left;
 
69
    font-size: 1.3em;
 
70
    margin-top: 1em;
 
71
    margin-bottom: 1em;
 
72
    padding: 0;
169
73
}
170
74
 
171
75
/* Note: The body has NO PADDING by default (unlike plain HTML).
177
81
    /* This is positioned absolutely so that its content can be positioned
178
82
     * absolutely as well, and so height: 100% really means it. */
179
83
    position: absolute;
180
 
    top: 2em;               /* == #ivleheader.height */
 
84
    top: 5.3em;             /* == #ivleheader.height */
181
85
    bottom: 0;
182
86
    width: 100%;
183
87
    z-index: 0;     /* Behind header */
185
89
 
186
90
/* Apps can optionally have a <div id="ivle_padding"> as the outermost
187
91
 * element, if 1em of padding is desired (otherwise there will be no padding).
188
 
 * Note: No top padding, since the first element should have a margins (p or
189
 
 * h2).
190
92
 */
191
93
#ivle_padding {
192
 
    padding: 0 1em 1em 1em;
193
 
}
194
 
 
195
 
/* Add extra vertical spacing between major page sections. */
196
 
#ivle_padding .majorsection {
197
 
    margin-bottom: 2em;
198
 
}
199
 
 
200
 
#ivle_padding .majorsection > * {
201
 
    margin-left: 1.5em;
202
 
}
203
 
 
204
 
#ivle_padding .majorsection > h2:first-child {
205
 
    margin-left: 0;
206
 
    margin-bottom: 0.3em;
207
 
}
208
 
 
209
 
p.userhello {
 
94
    padding: 1em;
 
95
}
 
96
 
 
97
.userhello {
210
98
    font-size: .8em;
 
99
    top: 0;
 
100
    text-align: right;
 
101
    padding: 11px 0;
211
102
    margin: 0;
212
103
}
213
104
.userhello .username {
214
105
    font-weight: bold;
215
106
}
216
107
 
 
108
/* The tabs bar is positioned absolutely, unlike the other header content.
 
109
 * This allows it to be aligned exactly with the bottom of the header bar.
 
110
 */
 
111
#ivleheader_tabs {
 
112
    position: absolute;
 
113
    height: 5.3em;          /* == #ivleheader.height */
 
114
    top: 0;
 
115
    left: 0;
 
116
    right: 0;
 
117
    width: 100%;
 
118
    padding: 0;
 
119
    margin: 0;
 
120
    z-index: 2;     /* In front of background, behind text */
 
121
}
 
122
 
 
123
#ivleheader_tabs p {
 
124
    /* This allows for a single paragraph, currently used to display a warning
 
125
     * about Debuginfo */
 
126
    position: absolute;
 
127
    left: 1em;
 
128
    bottom: 0.5em;
 
129
    margin: 0;
 
130
}
 
131
 
 
132
/* The apptabs ul is aligned to the bottom of #ivleheader_tabs */
 
133
ul#apptabs {
 
134
    position: absolute;
 
135
    text-align: right;
 
136
    bottom: 0;
 
137
    right: 1em;             /* == #ivleheader.padding-right */
 
138
    padding: 0;
 
139
    margin: 0;
 
140
}
 
141
ul#apptabs li {
 
142
    display: inline;
 
143
    padding: 3px;
 
144
    border: 1px solid black;
 
145
    background-color: #fc6;
 
146
    padding: 0 3px;
 
147
}
 
148
ul#apptabs li:hover {
 
149
    background-color: #fd8;
 
150
}
 
151
/* Currently active app tab */
 
152
ul#apptabs li.thisapp {
 
153
    background-color: white;
 
154
    border-bottom: 1px solid white;
 
155
}
 
156
 
 
157
ul#apptabs a {
 
158
    color: navy;    /* Text colour not to change */
 
159
    text-decoration: none;
 
160
}
 
161
 
217
162
/* Terms of Service accept / decline buttons */
218
163
#tos_acceptbuttons {
219
164
    text-align: center;
220
165
}
221
 
 
222
 
form.verticalform div {
223
 
    padding: 0.2em 0;
224
 
}
225
 
 
226
 
form.verticalform div label {
227
 
    display: block;
228
 
    float: left;
229
 
    text-align: right;
230
 
    width: 200px;
231
 
    margin-right: 5px;
232
 
    font-weight: bold;
233
 
}
234
 
 
235
 
form.verticalform.thin div label {
236
 
    width: 100px;
237
 
}
238
 
 
239
 
form.verticalform div.submit {
240
 
    margin-left: 205px;
241
 
}
242
 
 
243
 
form.verticalform.thin div.submit {
244
 
    margin-left: 105px;
245
 
}
246
 
 
247
 
.stackedform div label {
248
 
    font-weight: bold;
249
 
}
250
 
 
251
 
/* Subjects list */
252
 
.subject_current {
253
 
    font-weight: bold;
254
 
}
255
 
 
256
 
.pretty_table {
257
 
  text-align: left;
258
 
  border-collapse: collapse;
259
 
}
260
 
 
261
 
.pretty_table td, .pretty_table th {
262
 
  padding: 0.2em 0.7em;
263
 
  border-bottom: 1px solid #ccc;
264
 
}
265
 
 
266
 
.pretty_table th {
267
 
  border-bottom: 2px solid gray;
268
 
}
269
 
 
270
 
.pretty_table tbody td {
271
 
  color: #444;
272
 
}
273
 
 
274
 
.pretty_table tbody tr:hover {
275
 
  background-color: #efefef;
276
 
}
277
 
 
278
 
.pretty_table td:first-child, .pretty_table th:first-child {
279
 
  padding-left: 0;
280
 
}
281
 
 
282
 
.pretty_table tbody tr:hover td {
283
 
  color: #111;
284
 
}
285
 
 
286
 
.paddedlist > li {
287
 
  margin-bottom: 0.5em;
288
 
}
289
 
 
290
 
/* Action links have a 16x16 icon on the left. */
291
 
.addaction,
292
 
.deleteaction,
293
 
.editaction,
294
 
.erroraction,
295
 
.keyaction,
296
 
.manageaction,
297
 
.groupaction,
298
 
.subjectaction,
299
 
.marksaction,
300
 
.verifyaction,
301
 
.helpaction,
302
 
.webaction {
303
 
  padding-left: 20px;
304
 
  background-position: left center;
305
 
  background-repeat: no-repeat;
306
 
}
307
 
 
308
 
.addaction {
309
 
  background-image: url(images/interface/add.png);
310
 
}
311
 
 
312
 
.deleteaction {
313
 
  background-image: url(images/interface/delete.png);
314
 
}
315
 
 
316
 
.editaction {
317
 
  background-image: url(images/interface/pencil.png);
318
 
}
319
 
 
320
 
.erroraction {
321
 
  background-image: url(images/interface/error.png);
322
 
}
323
 
 
324
 
.keyaction {
325
 
  background-image: url(images/interface/key.png);
326
 
}
327
 
 
328
 
.manageaction {
329
 
  background-image: url(images/interface/wrench.png);
330
 
}
331
 
 
332
 
.groupaction {
333
 
  background-image: url(images/interface/group.png);
334
 
}
335
 
 
336
 
.subjectaction {
337
 
  background-image: url(../ivle.webapp.tutorial/tutorial-small.png);
338
 
}
339
 
 
340
 
.marksaction {
341
 
  background-image: url(../ivle.webapp.tutorial/images/table.png);
342
 
}
343
 
 
344
 
.verifyaction {
345
 
  background-image: url(images/interface/magnifier.png);
346
 
}
347
 
 
348
 
.helpaction {
349
 
  background-image: url(images/interface/help.png);
350
 
}
351
 
 
352
 
.webaction {
353
 
  background-image: url(images/interface/world.png);
354
 
}
355
 
 
356
 
/* Actions relating the context can be floated at the right. */
357
 
.contextactions {
358
 
  position: absolute;
359
 
  top: 0;
360
 
  right: 0;
361
 
  margin: 1em;
362
 
}
363
 
 
364
 
.contextactions a {
365
 
  display: block;
366
 
  margin-bottom: 0.3em;
367
 
}
368
 
 
369
 
/* For project view (late_submission entries in the submission list), must
370
 
 * apply to the td (not the tr) and be !important to override the pretty_table
371
 
 * styling of the td text colour. */
372
 
.project.closed, .late_submission, tr.late_submission td {
373
 
   color: darkred !important;
374
 
}
375
 
 
376
 
.form_error {
377
 
    color: darkred;
378
 
}
379
 
 
380
 
.horizontalactions * {
381
 
    margin-right: 0.5em;
382
 
}
383
 
 
384
 
.disabled_user {
385
 
    text-decoration: line-through;
386
 
}