1b765d889ace247a1322de61edfed17e058e57e5
[astakos] / snf-astakos-app / astakos / im / static / im / css / styles.less
1 @import "../less/bootstrap.less";
2 @import "../less/django_forms.less";
3 @import "../less/tables.less";
4 @import "../less/xtra.less";
5
6
7 // mixins
8
9 .border-box {
10     -moz-box-sizing: border-box;
11     -webkit-box-sizing: border-box;
12     box-sizing: border-box;
13     *behavior: url(boxsizing.htc);
14 }
15
16 .clearme { .clearfix() }
17
18 @verticalSpacing: @gridGutterWidth/1.5;
19 @gradCol: #ddd;
20 body {
21     #font.main();
22     font-size: 12px;
23 }
24
25 .topbar {
26     background-color: @shadowColor;
27     .head {
28         float: left;    
29             padding: @verticalSpacing/2-5;
30     }
31     .links {
32         .clearfix();
33         a {
34             color: @black;
35             text-decoration: none;
36             display: block;
37             float: left;
38             margin-left: 10px;
39             padding: @verticalSpacing/2+1;
40
41             &:hover {
42                 background-color: lighten(@black, 10%);
43                 color: @white;
44             }
45         }
46
47         float: right;    
48     }
49 }
50
51 // default link styles
52 section a, p a, form a, .section a, .styledlinks a, a.styled {
53     color: @black;
54     text-decoration: none;
55     border-bottom: 1px solid @linkColor;
56
57     &:hover {
58         color: @linkColor;
59     }
60
61     &.noborder {
62         border: none;   
63     }
64
65     em {
66         color: @blue;    
67     }
68 }
69
70 a.simple {
71     border: none;
72
73 }
74 a.action {
75     color: @linkColor;
76     border-bottom: none;
77 }
78
79 a img {
80     border-bottom: none;
81 }
82
83 // body borders
84 .content-border {
85     border-right: 1px solid @mainBorderColor;
86     border-left: 1px solid @mainBorderColor;
87 }
88
89 .hidden {
90     display: none !important;
91 }
92
93 // container sizing
94 .container, .topbar, .footer {
95     .fixed-container();
96     .content-border();
97     padding: 0 @siteWhiteSpace;
98 }
99
100 .container {
101     padding-bottom: @siteWhiteSpace;
102     background-color: @white;
103 }
104
105 .topbar {
106 }
107
108
109 div.header {
110     position: relative;
111     margin-top: 2.5*@verticalSpacing;
112     margin-bottom: @verticalSpacing;
113     h1 {
114         color: @shadowColor;
115         display: inline;
116         font-size: 2.3em;
117         border-bottom: 1px solid @shadowColor;
118         padding-bottom: 3px;
119     }
120 }
121 .mainlogo {
122     height: 36px;
123
124     h1 { height: 36px }
125     img {
126         margin-left: -10px;
127     }
128 }
129
130 .footer {
131     border-bottom: 1px solid @mainBorderColor;
132     border-top: 1px solid lighten(@mainBorderColor, 15%);
133     padding-top: @verticalSpacing;
134     padding-bottom: @verticalSpacing;
135 }
136
137 ul.inline {
138     .clearfix();
139     li {
140         display: block;    
141         float: left;
142         margin-right: 1em;
143     }
144 }
145
146 .mainnav.quicknav {
147     position: absolute;
148     right: 0;
149     top: -2.6*@verticalSpacing;
150     margin:0;
151
152     li {
153         margin-right:0;
154         margin-left: 1em;
155     }
156 }
157
158 .navigation {
159     height: 83px;    
160     position: absolute;
161     right: -15px;
162     top: -23px;
163 }
164
165 .mainnav {
166     font-size: 1.3em;
167     
168     &.subnav {
169         margin-bottom: -@verticalSpacing;
170         li {
171             margin-top: 0.4*@verticalSpacing;
172             float: right;
173         }
174     }
175
176     li {
177         margin-top: 2*@verticalSpacing;
178     }
179
180     li.active {
181         a {
182             /*border-bottom: 1px solid @linkColor;*/
183             border-bottom: none;
184             color: @linkColor;
185         }
186     }
187     a {
188         color: @black;
189         text-decoration: none;
190
191         &:hover {
192             border-bottom: 1px solid @linkColor;
193         }
194
195         &.active, &:active {
196             border-bottom: 1px solid @linkColor;
197             color: @linkColor;
198         }
199     }
200 }
201
202 .bottom-section {
203     .clearfix();
204
205     .section {
206         img {
207             width: 200px;    
208         }
209     }
210 }
211
212 .top-section {
213     .clearfix();
214 }
215
216 div.page {
217     .makeRow();
218     margin-top: 5*@verticalSpacing;
219     font-size: 1.1em;
220     .page-inner {
221         position: relative;    
222     }
223 }
224
225 // columnlayout
226 .maincol {
227     position: relative;
228     .makeColumn(5);
229     
230     &.wide {
231         .makeColumn(6);    
232     }
233
234     &.full {
235         .makeRow();
236         margin-left: 0;
237         .makeColumn(10);
238     }
239
240     .nextlink {
241          margin-top: 60px;
242          text-align: right;
243          float: right;
244          margin-right: 50px;
245          font-size: 1.1em;
246     }   
247
248     .content-bottom { position: relative; .clearfix(); }
249 }
250
251 .backlink {
252     margin: 30px 0;    
253 }
254
255 .appbar {
256     height: 30px;
257     background-color: @blue;
258 }
259
260 .rightcol {
261     .offset(6.5);
262     .columns(4);
263
264     &.narrow {
265         .offset(7.5);
266         .columns(3);    
267     }
268     input[type=text], input[type=password] {
269         width: 3*@gridColumnWidth + 4*@gridGutterWidth + 5;    
270     }
271 }
272
273 /* generic form styles */
274 input, textarea, .form-widget {
275     background-color: @white;
276     color: @gray;
277     border-color: @black;
278 }
279
280 #forms {
281     .input, input {
282         #font.main();
283         border: 1px solid @gray;
284         height:21px;
285         display: inline-block;
286         margin-bottom: -1px;
287         padding: 0.8em;
288         padding-left: 1.5em;
289         z-index: 2;
290         &:focus {
291             position: relative;
292             border: 1px solid #000;
293             z-index: 100;
294
295             label {
296                 z-index: 300;    
297             }
298         }
299     }
300 }
301
302 .altcol {
303     background-color: @altColor !important;
304
305     &:hover {
306         background-color: @linkColor !important;
307     }
308 }
309
310 .section {
311     
312     em {
313         color: @blue;
314     }
315
316     &.positioned {
317         margin-bottom: 0;
318         .content {
319             .makeColumn(4);
320         }
321
322         img {
323         }
324
325         &.withimg {
326             .img {
327                 .makeColumn(4);
328             }
329
330             img {
331                 float: left;    
332             }
333         }
334         
335         h3 {
336             font-size: 1.2em;
337             margin-bottom: @verticalSpacing;    
338         }
339
340         .text {
341             color: @black;    
342         }
343     }
344
345     margin-bottom: 3*@verticalSpacing; 
346
347     .left, .right {
348         width: 50%;
349         float: left;
350     }
351
352     &.imagelist {
353         margin-top: 2em;
354         .clearfix();
355         img {
356             float: left;    
357             margin-right: 4em;
358             vertical-align: middle;
359         }    
360     }
361 }
362
363 input[readonly=true] {
364     background-color: #ddd;
365     color: darken(#ddd, 50%);
366 }
367
368 form.withlabels {
369     label {
370         width: 3*@gridColumnWidth + 2*@gridGutterWidth;
371         display: block;
372         float: left;
373         padding-top: 1em;
374     }
375
376     input[type=text], input[type=password], textarea {
377         width: 3*@gridColumnWidth + 2*@gridGutterWidth;
378
379         &.long {
380             width: 3*@gridColumnWidth + 2*@gridGutterWidth;
381         }
382     }
383 }
384
385
386 .login-section {
387     a.button {
388         margin-bottom: 0.2*@gridColumnWidth;    
389         
390         &:last-child {
391             margin-bottom: none;    
392         }
393
394         &.withicon {
395             background-repeat: no-repeat;
396             background-position: 15px 50%;
397             padding-left: 40px;
398         }
399     }    
400
401     &.loggedin {
402         padding-bottom: 0 !important;
403         background-image: none !important;
404     }
405 }
406
407
408 @errorColor: lighten(@red, 30%);
409 // forms
410 form {
411     
412     &.login {
413         margin-bottom: 1.5*@verticalSpacing; 
414     }
415
416     h2 {
417         color: @black;
418         margin-bottom: @verticalSpacing;
419         font-size: 1.1em;
420
421         span {
422             padding-bottom: 3px;
423         }
424     }
425
426     .form-row {
427         min-height: 2*@verticalSpacing;
428         position: relative;
429         &.submit {
430             margin-top: 1.5*@verticalSpacing;
431         }
432
433         .extra-link {
434             color: @gray;
435             text-decoration: none;
436             border: none;
437             font-size: 0.8em;
438             margin-top: 1.3em;
439             float: right;
440         }
441
442         label {
443             font-size: 1.1em;    
444         }
445     }
446     
447     &.innerlabels label { 
448         position: absolute;
449         top: 1.1em;
450         left: 1.5em;
451         color: #aaa;
452     }
453
454     &.innerlabels p {
455         position: relative;    
456     }
457
458     textarea, input.text, input[type="text"], input[type="password"] {
459         #forms.input();
460     }
461
462     input.submit, input[type="submit"] {
463         .button();
464     }
465
466     
467     textarea {
468         height: 200px;
469         width: 350px !important;
470     }
471     .with-errors {
472         input, textarea, select {
473             color: @red;
474         }
475         label {
476             color: @errorColor;
477         }
478     }
479 }
480
481 .form-error {
482     background-color: @red;
483     color: #fff;
484     font-size: 0.8em;
485     padding: 5px 5px;
486 }
487
488 .form-errors.all {
489     .form-error {
490         position: relative;
491         border-radius: 0;
492         margin-bottom: 1.3em;
493         padding: 0.5em;
494     }
495 }
496
497 div.form-stacked {
498     margin-bottom: 4em;
499 }
500 // content types
501
502 .rightcol .section {
503     background-image: url("../images/dashed_border.png");
504     background-repeat: repeat-x;
505     background-position: left bottom;
506     padding-bottom: 2*@verticalSpacing;
507     margin-bottom: 2*@verticalSpacing;
508
509 }
510
511 .section {
512     h2 {
513         font-size: 1.1em;
514         line-height: 1.3em;
515         margin-bottom: 1.5*@verticalSpacing;    
516
517         a {
518             color: #4085A6;
519             border: none;
520             line-height: 1.3em;
521         }
522     }
523
524     h3 {
525         font-size: 1.1em;    
526         line-height: 1.3em;
527         margin-bottom: 1.5*@verticalSpacing;    
528     }
529
530     p {
531         line-height: 1.7em;    
532     }
533
534     .section-img {
535         margin-bottom: 1*@verticalSpacing;    
536     }
537 }
538
539
540 // page messages
541 .messages {
542     .makeColumn(10);
543
544     margin: 2em 0;
545     background-color: #ddd;
546     margin-left: 0;
547     font-size: 1.1em;
548     li {
549         padding: 1em;    
550
551         &.success { background-color: @green; color: @white }
552         &.error { background-color: @red; color: @white }
553         &.warning { background-color: #AF6906; color: @black }
554     }
555     
556     .warning {
557         color: @white !important;   
558         a {
559             color: inherit;
560             font-weight: bold;
561         }
562     }
563
564 }
565
566 // accounts specific styles
567 .service-desc {
568     margin-top: 4em;    
569
570 }
571
572
573 // invitations table
574 table {
575
576     td.consumed {
577         color: @red;
578     }
579
580     tr.consumed {
581         td.consumed {
582             color: @green;    
583         }
584     }
585 }
586
587
588 .row { .makeRow() }
589
590 // footer
591 .footer {
592     .clearfix();
593     color: lighten(@gray, 20%);
594     .transit();
595
596     a { .transit() }
597
598     &:hover {
599         color: @gray !important;
600         a {
601             color: @gray !important;
602         }
603     }
604
605     a {
606         color: lighten(@gray, 20%);    
607         text-decoration: none;
608
609         &:hover {
610             color: #000 !important;
611         }
612     }
613
614     li {
615         margin-bottom: @verticalSpacing/2;
616
617         &.header {
618             margin-bottom: @verticalSpacing;    
619         }
620     }
621
622     .col {
623         .makeColumn(4);
624         &:last-child, &.last {
625             width: 140px;
626             margin-right:0;
627         }
628     }
629     
630     .top.row, .last.row {
631         .makeRow();
632         margin: 20px 0;
633
634         .col {
635             .makeColumn(4);    
636
637             &.first {
638                 margin-left: 0 !important;    
639             }
640             &.last {
641                 .makeColumn(2);    
642             }
643         }
644     }
645     .top.row {
646         margin-top: 0;
647     }
648     
649     .last.row { 
650         text-align: left; 
651         font-size: 0.8em;
652         margin-bottom: 0;
653     }
654
655     .bottom.row {
656         .col {
657             .makeColumn(2);    
658             &:last-child, &.last {
659                 width: 140px;
660                 margin-right:0;
661             }
662         }
663     }
664 }
665
666
667 /*pagination*/
668 .pagination {
669     a.page {
670         display: inline !important;
671
672     }    
673 }
674
675 /*blog styles*/
676 .blog-entries {
677
678 }
679
680 .blog-entry {
681
682     .section();
683     .clearfix();
684     margin-bottom: 2*@verticalSpacing;    
685
686     .title {
687         margin-bottom: 1em;    
688         font-size: 1.1em;
689         line-height: 1.4em;
690     }    
691
692     .media {
693         img {
694             border: 1px solid @gray;    
695         }    
696     }
697     
698     .intro-content, .content {
699         margin-top: @verticalSpacing;
700
701         object {
702             margin: @verticalSpacing 0;    
703         }
704     }
705
706     .entry-info {
707         font-size: 0.7em;
708         margin-top: @verticalSpacing;    
709     }
710
711     &.single {
712         .entry-info {
713             margin-top: 0;
714             margin-bottom: @verticalSpacing;
715         }    
716     }
717 }
718
719 .section.twitter-feed {
720     
721     font-size: 1.1em;
722     .tweet {
723         &:last-child { margin-bottom:0; padding-bottom:0; border-bottom: none }
724         line-height: 1.3em;
725         font-size: 0.9em;
726         margin-bottom: @verticalSpacing;
727         color: @gray;
728
729         .date {
730             display: block;
731             font-size: 0.7em;
732             a {
733                 text-decoration: none !important;
734                 border: none;
735             }
736         }
737     }
738 }
739
740 .pagination .page {
741     margin-left: 0;    
742 }
743
744
745 .entry-list {
746     
747     .since {
748         font-size: 0.8em;    
749     }
750
751     .title {
752         margin-bottom: 1em;    
753     }
754
755     .content, .text {
756         margin-bottom: 2em;
757         font-size: 0.8em;
758     }
759 }
760
761
762 .initial_hidden {
763     display: none;    
764 }
765
766 /*resources styles*/
767
768 @resCol: #FAAF40;
769 .resources {
770     
771     .categories {
772         ul { .clearfix() }
773         ul li { float: left; }
774         .title {
775             margin-bottom: @verticalSpacing/2;    
776         }
777
778         ul li a {
779             text-decoration: none;
780             color: @resCol;
781             margin-right: @gridGutterWidth;
782         }
783     }
784
785     .list {
786         
787         margin-top: 4*@verticalSpacing;
788
789         .resource {
790             .border-box();
791             width: 33%;
792             padding: 2*@verticalSpacing;
793             float: left;
794             border: 1px solid @resCol;
795             height: 12*@verticalSpacing;
796
797             .description {
798                 display: none;    
799             }
800         }    
801     }
802     
803 }
804
805  
806 /* recaptcha */
807 #recaptcha_widget_div {
808     margin-top: 10px;
809     margin-left: -4px;
810
811     #recaptcha_instructions_image {
812         font-size: 0.8em;
813         margin-bottom: 10px;
814         display: block !important;
815     }
816
817     th, td {
818         line-height: 1;    
819     }
820 }
821
822 .checkbox-widget.checked {
823     background-color: #f00;
824     background-image: url("../images/checkbox.png");
825     background-position: 50% 50%;
826 }
827
828 .checkbox-widget {
829     border: 1px solid @gray;
830     width: 25px;
831     height: 25px;
832     display: block;
833     float: left;
834     cursor: pointer;
835     margin-top: @verticalSpacing/2 - 2;
836 }
837
838
839