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