fb06c0eedd0e6a9679c50bb4325079728d89a742
[working/Evergreen.git] / Open-ILS / src / templates / staff / css / style.css.tt2
1 /* --------------------------------------------------------------------------
2  * Simple default navbar style adjustements to apply the Evergreen color.
3  * TODO: style other components to match EG color scheme
4  */
5 #top-navbar.navbar-default {
6     background: -webkit-linear-gradient(#00593d, #007a54);
7     background-color: #007a54;
8     color: #fff;
9 }
10 #top-navbar.navbar-default .navbar-nav>li>a {
11     color: #fff;
12 }
13 #top-navbar.navbar-default .navbar-nav>li>a:hover {
14     color: #ddd;
15 }
16 #top-navbar.navbar-default .navbar-nav>.dropdown>a .caret {
17     border-top-color: #fff;
18     border-bottom-color: #fff;
19 }
20 #top-navbar.navbar-default .navbar-nav>.dropdown>a:hover .caret {
21     border-top-color: #ddd;
22     border-bottom-color: #ddd;
23 }
24
25 /* status bar along the bottom of the page ------------------------ */
26 /* decrease padding to decrease overall height */
27
28 /** TODO:move status bar items into navbar config entry (top-right)
29  * to avoid body padding weirdness.  Or if we want a permenently
30  * visible status bar, maybe put it just below the navbar.. */
31
32 /* bottom padding ensures no body content is hidden behind the status
33  * bar.  When content reaches the status bar a scroll bar appears */
34 /*body { padding-bottom: 26px; }*/
35
36 #status-bar {
37   min-height:1.8em !important;
38 }
39 #status-bar > ul {
40   margin-right:6px; 
41 }
42 #status-bar li {
43   padding-left: 10px;
44 }
45 #status-bar > li > a {
46   padding-top:5px !important; 
47   padding-bottom:5px !important;
48 }
49 .status-bar-connected {
50   color: rgb(92, 184, 92); /* success */
51 }
52
53 /* --------------------------------------------------------------------------
54  * Structural modifications
55  */
56
57 #top-content-container {
58     /* allow the primary container to occupy most of the page,
59      * but leave some narrow gutters along the side, much 
60      * narrower than the default Bootstrapp container gutters.
61      */
62     width: 95%;
63     padding-top: 70px;
64 }
65
66
67 /* --------------------------------------------------------------------------
68  * Temporaray local CSS required to make angular-ui-bootstrap
69  * version 0.6.0 look right with Bootstrap CSS 3.0
70  */
71 .nav, .pagination, .carousel a { cursor: pointer; }
72 /*
73 .modal {
74     display: block;
75     height: 0;
76     overflow: visible;
77 }
78 .modal-body:before,
79 .modal-body:after {
80     display: table;
81     content: " ";
82 }
83 .modal-header:before,
84 .modal-header:after {
85     display: table;
86     content: " ";
87 }
88 */
89
90 /* --------------------------------------------------------------------------
91 /* Form Validation CSS - http://docs.angularjs.org/guide/forms
92  * TODO: these colors are harsh and don't fit the EG color scheme
93  */
94 .form-validated input.ng-invalid.ng-dirty {
95   background-color: #FA787E;
96 }
97 .form-validated input.ng-valid.ng-dirty {
98   background-color: #78FA89;
99 }
100 .form-validated input.ng-invalid-required {
101   background-color: #FACDCF;
102 }
103
104 /* --------------------------------------------------------------------------
105  * Local style
106  */
107
108 /* no bootstrap way to directly disable a link.  */
109 a.disabled {
110   pointer-events: none;
111   cursor: default;
112   color: #888;
113 }
114
115 #splash-nav .panel-body div {
116     padding-bottom: 10px;
117 }
118
119 table.list tr.selected td { /* deprecated? */
120     color: #2a6496;
121     background-color: #F5F5F5;
122 }
123
124 .pad-horiz {padding : 0px 10px 0px 10px; }
125 .pad-vert {padding : 20px 0px 10px 0px;}
126 .pad-left {padding-left: 10px;}
127 .pad-right {padding-right: 10px;}
128 .pad-all-min {padding : 5px; }
129 .pad-all-min2 {padding : 2px; }
130 .pad-all {padding : 10px; }
131
132 #print-div { display: none; }
133
134 /* by default, give all tab panes some top padding */
135 .tab-pane { padding-top: 20px; }
136
137 .nav-pills-like-tabs {
138     border-bottom:1px solid #CCC;
139 }
140
141 .btn-pad {
142   /* sometimes you don't want buttons scrunched together -- add some margin */
143   margin-left: 10px;
144 }
145
146 /* button styling by Cory LaViska from
147    http://www.abeautifulsite.net/whipping-file-inputs-into-shape-with-bootstrap-3/
148 */
149 .btn-file {
150     position: relative;
151     overflow: hidden;
152 }
153 .btn-file input[type=file] {
154     position: absolute;
155     top: 0;
156     right: 0;
157     min-width: 100%;
158     min-height: 100%;
159     font-size: 100px;
160     text-align: right;
161     filter: alpha(opacity=0);
162     opacity: 0;
163     outline: none;
164     background: white;
165     cursor: inherit;
166     display: block;
167 }
168
169 .strong-text {
170   font-weight: bold;
171 }
172 .strong-text-1 {
173   font-size: 110%;
174   font-weight: bold;
175 }
176 .strong-text-2 {
177   font-size: 120%;
178   font-weight: bold;
179 }
180 .strong-text-3 {
181   font-size: 130%;
182   font-weight: bold;
183 }
184 .strong-text-4 {
185   font-size: 140%;
186   font-weight: bold;
187 }
188
189 .currency-input {
190   width: 8em;
191 }
192
193 /* barcode inputs are everywhere.  Let's have a consistent style. */
194 .barcode { width: 16em !important; }
195
196 /* bootstrap alerts are heavily padded.  use this to reduce */
197 .alert-less-pad {padding: 5px;}
198
199 /* text displayed inside a <progressbar>, typically the max/progress values */
200 .progressbar-text {
201   color:black;
202   white-space:nowrap;
203 }
204
205 /* embedded UI iframe */
206 .eg-embed-frame {
207   width: 100%;
208 }
209 .eg-embed-frame iframe {
210   width: 100%;
211   border: none;
212   margin: 0px;
213   padding: 0px;
214 }
215
216 /* ----------------------------------------------------------------------
217  * Grid
218  * ---------------------------------------------------------------------- */
219
220 .eg-grid-primary-label {
221   font-weight: bold;
222   font-size: 120%;
223   margin-right: 2em;
224 }
225
226 /* odd/even row styling */
227 .eg-grid-content-body > div:nth-child(odd):not(.eg-grid-row-selected) {
228   background-color: rgb(248, 248, 248);
229 }
230
231 .eg-grid-row {
232   width: 100%;
233   display: flex;
234   border: 1px solid #ccc;
235 }
236
237 .eg-grid-row:not(.eg-grid-header-row):not(.eg-grid-conf-row) {
238   /* TODO: remove, pretty sure this is no longer needed w/ nowrap */
239   /*height: 1.8em;*/
240 }
241
242 .eg-grid-action-row {
243   border: none;
244   /* margin should not have to be this large; something's up */
245   margin-bottom: 12px;
246 }
247
248 .eg-grid-header-row { 
249   font-weight: bold; 
250 }
251
252 .eg-grid-header-row > .eg-grid-cell {
253   border-right: 1px solid #CCC;
254   text-align: center;
255
256   /* vertically align header cell text by treating 
257      each header cell as a vertical flex container */
258   display:flex;
259   flex-direction:column;
260   justify-content:flex-end;
261 }
262
263 .eg-grid-cell {
264   /* avoid text flowing into adjacent cells */
265   white-space: nowrap;
266   text-overflow: ellipsis;
267   overflow: hidden;
268 }
269
270 /* in config display, make cells more obvious */
271 .eg-grid-as-conf .eg-grid-row {
272   border: 1px solid #777;
273 }
274 .eg-grid-as-conf .eg-grid-cell {
275   border-right: 1px solid #777;
276 }
277
278 /* stock columns need fixed-width controls */
279 .eg-grid-cell-stock {
280   width: 2.2em;
281   text-align: center;
282 }
283
284 /* the conf header must be twice the stock flex */
285 .eg-grid-cell-conf-header {
286   width: 4.4em;
287   font-weight: bold;
288 }
289
290 .eg-grid-row-selected {
291   color: rgb(51, 51, 51);
292   background-color: rgb(201, 221, 225);
293   border-bottom: 1px solid #888;
294 }
295
296 /* Improve ::selection styling by only allowing selection on text
297  * content cells within the main body of the grid.  Otherwise, the browser 
298  * styles row background and text (all dark blue?) when shift-click or 
299  * click-drag is used.
300  */
301 .eg-grid-content-body .eg-grid-row {
302   user-select:none;
303   -moz-user-select: none;
304   -webkit-user-select: none;
305 }
306 .eg-grid-content-body .eg-grid-cell-content {
307   user-select:text;
308   -moz-user-select: text;
309   -webkit-user-select: text;
310 }
311 .eg-grid-cell-content::-moz-selection {
312   color: rgb(51, 51, 51);
313   background: rgb(201, 221, 225);
314   border-bottom: 1px solid #888;
315 }
316 .eg-grid-cell-content::selection {
317   color: rgb(51, 51, 51);
318   background: rgb(201, 221, 225);
319   border-bottom: 1px solid #888;
320 }
321
322 .eg-grid-conf-cell-entry {
323   width:98%;
324   text-align:center;
325   padding: 3px;
326 }
327
328 .eg-grid-conf-cell-entry:not(:first-child) {
329   border-top:1px solid #ccc;
330 }
331
332 .eg-grid-conf-row {
333   background-color: #dff0d8;
334   border-color: #d6e9c6;
335 }
336
337 .eg-grid-conf-row:first-child {
338   /* alignment fix; account for one missing border */
339   padding-right: 1px;
340 }
341
342 .eg-grid-column-move-handle:hover {
343   cursor: move;
344 }
345
346 .eg-grid-column-move-handle-active,
347 .eg-grid-column-move-handle-active:active {
348   /* similar to label-primary, sans padding */
349   background-color: rgb(66, 139, 202);
350   color: #fff;
351 }
352
353 .eg-grid-col-hover {
354   /* similar to label-success, sans padding */
355   background-color: rgb(92, 184, 92);
356   color: #fff;
357 }
358
359 .eg-grid-column-resize-handle {
360   height: 100%;
361 }
362 .eg-grid-column-resize-handle:hover {
363   cursor: col-resize;
364 }
365
366 /* for these to be useful, they would have to be applied 
367  * to the dragover targets.  not yet done */
368 .eg-grid-column-resize-handle-west {
369   cursor: w-resize;
370 }
371 .eg-grid-column-resize-handle-east {
372   cursor: e-resize;
373 }
374
375 .eg-grid-menu-item {
376   margin-right: 10px;
377 }
378
379
380 /* hack to make the header columns line up with the content columns
381    when the scroll bar is visible along the right side of the content
382    columns. TODO: if this varies enough by browser, we'll need to
383    calculate the width instead. */
384 /*
385 .eg-grid-scroll > .eg-grid-header-row, 
386 .eg-grid-scroll > .eg-grid-conf-row { 
387   padding-right: 15px;
388 }
389 .eg-grid-scroll > .eg-grid-content-body {
390   overflow-y:scroll; 
391   height: 600px; 
392 }
393 */
394 .eg-grid-column-picker {
395   height: auto;
396   max-height: 400px;
397   overflow: auto;
398   box-shadow: none;
399 }
400
401
402 /* ----------------------------------------------------------------------
403  * /Grid
404  * ---------------------------------------------------------------------- */
405
406
407 /* simple flex container for consistent-width cell-based structures */
408 .flex-container-striped > .flex-row:nth-child(odd) {
409   background-color: #f5f5f5;
410 }
411 .flex-container-bordered .flex-cell {
412   border-bottom: 1px solid #ddd;
413 }
414 .flex-row {
415   display: flex;
416 }
417 .flex-row.padded div {
418   padding: 5px;
419 }
420 .flex-row.left-anchored > div {
421   margin-right: 10px;
422 }
423 .flex-cell {
424   flex: 1;
425   padding: 4px; /* bootstrap default is much bigger */
426 }
427 .flex-cell.well {
428   min-height: 2.5em; /* don't let empty wells scrunch down */
429   margin-bottom: 5px; /* bootstrap default is 20px */
430 }
431 .flex-2 { /* meh, convience */
432   flex: 2;
433 }
434 .flex-3 { /* meh, convience */
435   flex: 3;
436 }
437 .flex-4 { /* meh, convience */
438   flex: 4;
439 }
440
441 /* TODO: match media size to Bootstrap "md" col resizing */
442 @media all and (max-width: 800px) {
443   .flex-row {
444     flex-direction: column;
445   }
446   .eg-grid-row {
447     flex-direction: column;
448   }
449 }
450
451 /* optional class to make 'lg' Bootstrap modals even wider */
452 @media (min-width: 768px) {
453   .eg-wide-modal .modal-lg {
454     width: 95%;
455   }
456 }
457
458 @media all and (min-width: 800px) {
459     /* scrollable menus for full-size screens */
460     .scrollable-menu {
461         height: auto;
462         max-height: 200px;
463         overflow-x: hidden;
464     }
465 }
466
467 [%# 
468 vim: ft=css 
469 %]