]> git.openstreetmap.org Git - rails.git/blob - app/assets/stylesheets/common.css.scss
Keep the map visible as the changeset page is scrolled
[rails.git] / app / assets / stylesheets / common.css.scss
1 /* Styles common to large and small screens */
2
3 /* Minimal CSS reset */
4
5 html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p {
6   margin: 0;
7   padding: 0;
8   border: 0;
9   font-size:100%;
10 }
11
12 fieldset,img { border: 0; }
13
14 legend { color: #000; }
15
16 sup { vertical-align: text-top; }
17
18 sub { vertical-align: text-bottom; }
19
20 table {
21   border-collapse: collapse;
22   border-spacing: 0;
23 }
24
25 li { list-style: none; }
26
27 input,
28 select,
29 textarea,
30 body { font: 14px/20px "Helvetica Neue",Arial,sans-serif; }
31
32 abbr, acronym {
33   border-bottom: .1em dotted;
34   cursor: help;
35 }
36
37 /* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */
38
39 .clearfix:before,
40 .clearfix:after {
41     content: " ";
42     display: table;
43 }
44
45 .clearfix:after {
46     clear: both;
47 }
48
49 /* Default rules for the body of every page */
50
51 body {
52   font-family: 'Helvetica Neue',Arial,sans-serif;
53   font-size: 14px;
54   line-height: 1.6666;
55   color: #222;
56   background-color: #fff;
57   margin: 0px;
58   padding: 0px;
59   text-align: left;
60 }
61
62 body.slim {
63   background-color: #f0f0f0;
64 }
65
66 h1, h2, h3 {
67   margin-top: 10px;
68   margin-bottom: 20px;
69   font-weight: bold;
70   line-height: 1.2;
71 }
72
73 h1, h2 {
74   font-size: 32px;
75 }
76
77 #content h2 {
78   font-size: 21px;
79 }
80
81 h3 {
82   font-size: 21px;
83   margin-top: 10px;
84   margin-bottom: 20px;
85 }
86
87 h4,h5,h6 {
88   font-size: 14px;
89   margin-top: 10px;
90   margin-bottom: 20px;
91   font-weight: bold;
92   line-height: 1.5;
93 }
94
95 p, ul {
96   margin-bottom: 20px;
97 }
98
99 p > img {
100   width: auto;
101   max-width: 100%;
102 }
103
104 small, aside {
105   font-size: 12px;
106 }
107
108 h1:first-child,
109 h2:first-child,
110 h3:first-child,
111 h4:first-child,
112 h5:first-child,
113 h6:first-child {
114   margin-top: 0;
115 }
116
117 .column-1 {
118   width: 50%;
119   margin-bottom: 20px;
120 }
121
122 .small_icon {
123   vertical-align: middle;
124   margin-right: 5px;
125 }
126
127 /* Rules for links */
128
129 a {
130   color: #00f;
131   text-decoration: none;
132   &:hover {
133     text-decoration: underline;
134   }
135 }
136
137 /* Rules for horizontal lines */
138
139 hr {
140   border: none;
141   background-color: #ccc;
142   color: #ccc;
143   height: 1px;
144 }
145
146 /* General styles for tables */
147
148 table {
149   width: 100%;
150   margin-bottom: 20px;
151   th, td {
152     text-align: left;
153     padding: 5px;
154     line-height: 20px;
155   }
156   th {
157     font-weight: bold;
158     vertical-align: top;
159   }
160   td {
161     vertical-align: middle;
162   }
163 }
164
165 /* Rules for the whole left sidebar, including the logo */
166
167 #left {
168   position: absolute;
169   height: 100%;
170   width: 185px;
171   font-size: 11px;
172   line-height: 1.1;
173   z-index: 100;
174   border-right: 1px solid #ccc;
175 }
176
177 /* Rules for the OpenStreetMap logo in the top left corner */
178
179 #logo {
180   display: block;
181   width: 170px;
182   min-width: 170px;
183   padding: 20px 5px;
184   text-align: center;
185   margin: auto;
186 }
187
188 #logo h1 {
189   font-size: 18px;
190   line-height: 1.1;
191   text-align: center;
192   margin: 0px;
193 }
194
195 #logo h2 {
196   font-size: 10px;
197   line-height: 15px;
198   margin: 0px;
199 }
200
201 /* Rules for the site name */
202
203 #small-title {
204   display: none;
205 }
206
207 /* Rules for the introductory text displayed in the left sidebar to new users */
208
209 .sidebar-copy {
210   padding: 5px 10px;
211 }
212
213 .sidebar-copy p {
214   margin: 5px 0;
215 }
216
217 .sidebar-copy.intro {
218   margin-top: -1px;
219   border-top: 1px solid #ccc;
220 }
221
222 /*
223  * Rules for alert boxes shown in the left sidebar when important
224  * information needs to be conveyed such as when the site is
225  * undergoing maintenance.
226  */
227
228 .sidebar-alert {
229   padding: 5px;
230   border-top: 1px solid #ccc;
231   margin-top: 4px;
232   margin-bottom: -4px;
233   background: #e00;
234   font-size: 12px;
235   font-weight: bold;
236   p {
237     margin: 5px;
238   }
239 }
240
241 /*
242  * Rules for notice boxes shown in the left sidebar when important, but
243  * non-critical information needs to be conveyed such as notices about
244  * donation drives.
245  */
246
247 .sidebar-notice {
248   padding: 5px;
249   border-top: 1px solid #ccc;
250   margin-top: 4px;
251   margin-bottom: -4px;
252   background: #ea0;
253   font-size: 12px;
254   p {
255     margin: 5px;
256   }
257 }
258
259 /* Rules for the menu displayed in the left sidebar */
260
261 .left_menu {
262   left: 0px;
263   margin: 0;
264   padding: 5px 10px;
265   font-size: 12px;
266   line-height: 1.25;
267   list-style-type: none;
268   border-bottom: 1px solid #ccc;
269   border-top: 1px solid #ccc;
270 }
271
272 .left_menu img {
273   margin: 10px 0px;
274 }
275
276 .left_menu ul {
277   padding: 0;
278   margin: 0;
279 }
280
281 .left_menu li {
282   list-style-type: none;
283   padding: 0;
284   margin: 0;
285 }
286
287 .left_menu h4 {
288   padding: 5px 0 5px 0;
289   font-size: 12px;
290   margin: 0;
291 }
292
293 .left_menu li:last-child h4 {
294   padding-top: 0;
295 }
296
297 /* Rules for SOTM advert */
298
299 #sotm {
300   width: 165px;
301   margin: 10px;
302   padding: 0px;
303   border: 0px;
304   background: #fff;
305 }
306
307 #sotm img {
308   width: 165px;
309 }
310
311 /*
312  * Rules for "optional boxes" which appear in the left sidebar on
313  * certain pages. Current users are the seach box on the main page
314  * and the tag cloud on the traces pages.
315  */
316
317 .optionalbox {
318   left: 0px;
319   padding: 5px 10px;
320   margin: 5px 0;
321   text-align: left;
322 }
323
324 /* Rules for the search box */
325
326 #search_field form {
327   width: 165px;
328 }
329
330 #search_field {
331   position: relative;
332 }
333
334 #search_field input[type="text"] {
335   width: 165px;
336   padding: 3px;
337   font-size: 14px;
338   line-height: 1.1;
339   height: 25px;
340   padding: 2px 0px 2px 5px;
341   box-shadow: inset #DDD 0px 1px 3px;
342   box-sizing: border-box;
343   -webkit-box-sizing: border-box;
344   -moz-box-sizing: border-box;
345   -ms-box-sizing: border-box;
346 }
347
348 #search_field input[type="text"]:focus {
349   outline: none;
350   border: 1px solid #000;
351 }
352
353 #search_field input[type="submit"] {
354   border: 0;
355   margin: 0;
356   padding: 0;
357   width: 15px;
358   height: 15px;
359   text-indent: -1000px;
360   overflow: hidden;
361   background: image-url("sprite.png") 0 0 no-repeat;
362   position: absolute;
363   top: 5px;
364   right: 5px;
365   cursor: pointer;
366 }
367
368 .search_help {
369   margin: 5px 0 0 0;
370 }
371
372 /* Utility for de-emphasizing content */
373
374 .deemphasize {
375   color: #999;
376   a {
377     color: #7092FF;
378   }
379 }
380
381 /* Rules for donation request box */
382
383 .donate {
384   display: block;
385   width: 153px;
386   padding: 5px;
387   border: 1px solid #AED1A0;
388   background: #cbeea7;
389   font-size: 14px;
390   line-height: 1.4;
391   text-align: center;
392   border-radius: 2px;
393   color: #222;
394   margin: 10px 10px 0px 10px;
395
396   &:hover {
397     background: #9ed485;
398     text-decoration: none;
399   }
400   span {
401     margin: 0;
402     padding-left: 18px;
403     background: image-url("sprite.png") 0 -29px no-repeat;
404   }
405 }
406
407 /* Rules for Creative Commons logo button */
408
409 #cclogo {
410   margin: 10px 0;
411   float: right;
412 }
413
414 /* Rules for tabbed navigation bar */
415
416 #top-bar {
417   position: relative;
418   margin-left: 185px;
419   height: 29px;
420   border-bottom: 1px solid #ccc;
421   background: white;
422   z-index: 100;
423 }
424
425 .site-edit #top-bar,
426 .site-index #top-bar,
427 .site-export #top-bar {
428   position: fixed;
429   left: 0;
430   right: 0;
431 }
432
433 #tabnav {
434   height: 29px;
435   margin-bottom:0;
436   overflow: hidden;
437 }
438
439 #tabnav li {
440   display: inline;
441 }
442
443 #tabnav a, #tabnav a:link, #tabnav a:visited {
444   float: left;
445   background: #fff;
446   font-weight: bold;
447   padding: 3px 10px;
448   text-decoration: none;
449   color: #333;
450   float: left;
451   margin-right: 1px;
452   -webkit-transition: color 200ms ease-in;
453      -moz-transition: color 200ms ease-in;
454        -o-transition: color 200ms ease-in;
455           transition: color 200ms ease-in;
456 }
457
458 .site-index #tabnav a#viewanchor,
459 .site-edit #tabnav a#editanchor,
460 .changeset-list #tabnav a#historyanchor,
461 .site-export #tabnav a#exportanchor {
462   border-bottom: 1px solid #aaa;
463   background: #9ed485;
464   color: #000;
465 }
466
467 #tabnav a:link:hover, #tabnav a:visited:hover {
468   text-decoration: underline;
469 }
470
471 #tabnav a:link.disabled,
472 #tabnav a:visited.disabled,
473 #tabnav a:link:hover.disabled,
474 #tabnav a:visited:hover.disabled {
475   color: #ccc;
476   cursor: default;
477 }
478
479 #tabnav a:link.disabled:hover,
480 #tabnav a:visited.disabled:hover,
481 #tabnav a:link:hover.disabled:hover,
482 #tabnav a:visited:hover.disabled:hover {
483   text-decoration: none;
484 }
485
486 /* Utility for styling notification numbers */
487
488 .count-number {
489   padding: 2px 5px;
490   border-radius: 3px;
491   background: #d7d7ff;
492   margin: 0 2px;
493   font-size: 11px;
494   color: #333;
495 }
496
497 /* Rules for greeting bar in the top right corner */
498
499 #greeting {
500   float: right;
501   padding-top: 3px;
502   margin-right: 5px;
503 }
504
505 .greeting-bar-unread {
506   font-weight: bold;
507 }
508
509 /* Rules for the message shown in place of the map when javascript is disabled */
510
511 #noscript {
512   z-index: 20000000;
513   position: absolute;
514   top: 15px;
515   left: 15px;
516 }
517
518 /* Rules for Leaflet maps */
519
520 .leaflet-control-attribution {
521   a.disabled {
522     color: #99c9dc;
523     cursor: default;
524     text-decoration: none;
525   }
526
527   ul.secondary-actions {
528     float: left;
529     margin-right: 5px;
530
531     &:only-child {
532       margin-right: 0px;
533     }
534   }
535 }
536
537 .site-index .leaflet-top,
538 .site-export .leaflet-top {
539   top: 10px !important;
540   .leaflet-control {
541     margin-top: 0px !important;
542   }
543 }
544
545 .site-index #map .olControlScaleLine,
546 .site-export #map .olControlScaleLine {
547   left: 10px !important;
548 }
549
550 .leaflet-popup-scrolled {
551   padding-right: 20px;
552   border-bottom: 0px !important;
553   border-top: 0px !important;
554 }
555
556 .leaflet-popup-content-wrapper {
557   border-radius: 4px !important;
558   -webkit-border-radius: 4px !important;
559 }
560
561 /* Rules for edit menu */
562
563 .menuicon {
564   padding: 0 5px;
565   font-weight: normal;
566   display: inline-block;
567   &:hover {
568     text-decoration: none !important;
569   }
570 }
571
572 .menu {
573   display: none;
574   z-index: 10000;
575   position: absolute;
576   background-color: #ffffff;
577   border: 1px solid #cccccc;
578   border-top: 0px;
579 }
580
581 .menu ul {
582   margin: 0px;
583 }
584
585 .menu li {
586   padding: 2px 5px;
587   border-top: 1px solid #eee;
588   white-space: nowrap;
589 }
590
591 /* Rules for attribution text under the main map shown on printouts */
592
593 #attribution {
594   display: none;
595 }
596
597 .attribution_license,
598 .attribution_project {
599   text-align: left;
600 }
601
602 .attribution_notice {
603   text-align: center;
604 }
605
606 /* Rules for the popout map sidebar */
607
608 #sidebar {
609   display: none;
610   position: absolute;
611   overflow: auto;
612   top: 0px;
613   bottom: 0px;
614   left: 0px;
615   border-right: 1px solid #ccc;
616   width: 33.3333%;
617   .sidebar_heading {
618     position: relative;
619     padding: 10px 20px;
620     z-index: 9999;
621     background: #F4F4FF;
622     border-bottom: 1px solid #ccc;
623   }
624   h4 {
625     margin: 0;
626   }
627   ul {
628     margin-bottom: 0;
629     li {
630       margin-bottom: 5px;
631       &:last-child {
632         margin-bottom: 0;
633       }
634     }
635   }
636 }
637
638 #sidebar_close {
639   position: absolute;
640   height: 20px;
641   top: 0px;
642   bottom: 0;
643   right: 20px;
644   margin: auto;
645 }
646
647 #sidebar_content {
648   position: relative;
649   bottom: 0;
650   width: 100%;
651   h4 {
652     padding: 0 20px 10px 20px;
653     margin-top: 10px;
654     margin-bottom: 0;
655     border-bottom: 1px solid #ddd;
656   }
657 }
658
659 /* Rules for the map key which appears in the popout sidebar */
660
661 #mapkey {
662   padding: 20px;
663 }
664
665 #mapkey .mapkey-table-key img {
666   display: block;
667   margin-left: auto;
668   margin-right: auto;
669 }
670
671 #mapkey td {
672   padding: 0 5px 5px 5px;
673 }
674
675 /* Rules for search results which appear in the popout sidebar */
676
677 .search_searching {
678   margin-top: 5px;
679   margin-bottom: 5px;
680 }
681
682 .search_results_entry {
683   margin-bottom: 0;
684
685   .search_details {
686     display: block;
687     text-align: right;
688   }
689 }
690
691 .search_results_entry .search_searching {
692   text-align: center;
693   margin: 20px auto;
694   width: 20px;
695   display: block;
696 }
697
698 ul.results-list li { border-bottom: 1px solid #ccc; }
699
700 .search_results_error {
701   color: #f00;
702 }
703
704 /* Rules for data browser information which appears in the popout sidebar */
705
706 #browse_content {
707   position: relative;
708   .browse_show_list.button {
709     position: absolute;
710     left: 20px;
711     right: 20px;
712     bottom: -40px;
713     margin-bottom: 0;
714   }
715   a.more-details {
716     position: absolute;
717     top: 0;
718     right: 20px;
719   }
720   ul li {
721     margin-bottom: 0;
722   }
723 }
724
725 .browse_details {
726   position: relative;
727 }
728
729 .browse_status {
730   display: none;
731 }
732
733 /* Rules for export information which appears in the popout sidebar */
734
735 .export_bounds {
736   text-align: center;
737 }
738
739 .export_area_inputs {
740   margin-bottom: 10px;
741 }
742
743 .export_bound {
744   margin: 5px;
745 }
746
747 .export_details input[type="text"]#export_html_text {
748   width: 100%;
749 }
750
751 #sidebar #marker_inputs li:last-child {
752   margin-bottom: 10px;
753 }
754
755 #export_osm,
756 #export_mapnik,
757 #export_osmarender {
758   display: none;
759 }
760
761 .export_buttons {
762   width: 100%;
763   text-align: center;
764 }
765
766 /* Rules for the main content area */
767
768 #content {
769   padding: 20px;
770   position: relative;
771 }
772
773 .site-edit #content,
774 .site-index #content,
775 .site-export #content {
776   position: fixed;
777   padding: 0;
778   top: 30px; bottom: 0;
779   left: 185px; right: 0;
780   border-left: 1px solid #ccc;
781 }
782
783 .wrapper {
784   margin-left: 185px;
785   border-left: 1px solid #ccc;
786   text-align: left;
787 }
788
789 .site-edit #content {
790   top: 30px;
791 }
792
793 #content.maximised {
794   top: 0;
795   left: 0;
796   right: 0;
797   bottom: 0;
798   border: 0;
799   z-index: 1000;
800 }
801
802 #slim_container {
803   width: 100%;
804 }
805
806 #slim_container_content {
807   max-width: 50em;
808   background-color: #FFFFFF;
809   margin: 10px auto;
810   padding: 3px;
811   border-radius: 25px;
812   -moz-border-radius: 25px;
813   border: 1px solid #e6e6e6;
814 }
815
816 #slim_content {
817   margin: 10px;
818   margin-top: 95px;
819   max-width: 50em;
820
821   .content-heading {
822     margin-bottom: 15px;
823   }
824 }
825
826 #slim_header {
827   margin: 30px 10px;
828   position: absolute;
829   top: 0px;
830   margin-right: 5px;
831 }
832
833 #slim_header img {
834   vertical-align: middle;
835   margin-bottom: 5px;
836   margin-right: 5px;
837 }
838
839 .content-heading {
840   position: relative;
841   padding: 20px;
842   background: #F4F4FF;
843   h1, h2 {
844     margin-bottom: 10px;
845     line-height: 100%;
846     &:last-child {
847       margin-bottom: 0;
848     }
849   }
850   p {
851     margin-top: 10px;
852     margin-bottom: 0px;
853   }
854 }
855
856 /* Rules for small maps in content areas */
857
858 .content_map {
859   position: relative;
860   width: 45%;
861   height: 398px;
862   border: 1px solid #ccc;
863   margin-bottom: 20px;
864   float: right;
865 }
866
867 .content_map #small_map {
868   height: 100%;
869   width: 100%;
870   margin-bottom: 20px;
871 }
872
873 /* Rules for the home page */
874
875 .site-export #map,
876 .site-index #map {
877   position: absolute;
878   top: 0px;
879   bottom: 0px;
880   left: 0px;
881   right: 0px;
882 }
883
884 /* Rules for the edit page */
885
886 .site-edit #map {
887   position: absolute;
888   top: 0px;
889   bottom: 0px;
890   left: 0px;
891   right: 0px;
892   overflow: hidden;
893 }
894
895 /* Rules for the changeset list shown by the history tab etc */
896
897 #changeset_list {
898   width: 100%;
899   ul {
900     padding: 10px 0;
901     margin-bottom: 0px;
902     border-top: 1px solid #ccc;
903     &:last-child {
904       border-bottom: 1px solid #ccc;
905     }
906   }
907   .selected {
908     background: #FFFFC0;
909   }
910   .date,
911   .user {
912     border-left: 1px solid #ccc;
913     padding-left: 5px;
914     margin-right: 5px;
915   }
916 }
917
918 #changeset_list_map_wrapper {
919   position: absolute;
920   width: 50%;
921   height: 490px;
922   top: 0;
923   right: 0;
924 }
925
926 #changeset_list_map_wrapper.scrolled {
927   position: fixed;
928 }
929
930 #changeset_list_map {
931   position: absolute;
932   bottom: 20px;
933   top: 20px;
934   right: 20px;
935   left: 20px;
936   border: 1px solid #ccc;
937 }
938
939 #changeset_list_map_wrapper.scrolled #changeset_list_map {
940   margin-left: 93px;
941 }
942
943 /* Rules for the data browser */
944
945 .browse-section {
946   border-top: 1px solid #ccc;
947   margin-top: 10px;
948   padding-top: 10px;
949   &:first-child {
950     margin-top: 0;
951   }
952   .warning {
953     background-color: #ffe0cc;
954     margin: 0px;
955     padding: 4px 6px;
956     max-width: 100%;
957   }
958   h4, p {
959     margin-bottom: 5px;
960   }
961   p, ul, .bbox, .geo {
962     display: inline-block;
963     vertical-align: top;
964     max-width: 65%;
965   }
966   ul p {
967     margin-left: 0;
968     margin-bottom: 0;
969   }
970   h4 {
971     width: 33.3333%;
972     display: inline-block;
973     vertical-align: top;
974   }
975 }
976
977 .bbox {
978   div {
979     width: 33.3333%;
980     text-align: center;
981     padding: 5px 0;
982     overflow: hidden;
983     text-overflow: ellipsis;
984     float: left;
985   }
986   .max_lat,
987   .min_lat {
988     margin-left: auto;
989     margin-right: auto;
990     width: 100%;
991   }
992 }
993
994 #browse_map .geolink {
995   display: none;
996 }
997
998 #browse_map .secondary-actions {
999   margin-bottom: 10px;
1000 }
1001
1002 /* Rules for the trace list shown by the traces tab etc */
1003
1004 #trace_list {
1005   font-size: 10px;
1006   border-width: 0px;
1007   text-align: right;
1008 }
1009
1010 #trace_list .trace_summary {
1011   font-size: 12px;
1012   color: gray;
1013 }
1014
1015 #trace_list .trace_pending {
1016   color: red;
1017 }
1018
1019 #trace_list .trace_public {
1020   color: green;
1021 }
1022
1023 #trace_list .trace_identifiable {
1024   color: green;
1025 }
1026
1027 #trace_list .trace_trackable {
1028   color: red;
1029 }
1030
1031 #trace_list .trace_private {
1032   color: red;
1033 }
1034
1035 /* Rules for the user profile page */
1036
1037 #userinformation {
1038   min-height: 100px;
1039   .userinformation-inner {
1040     float: left;
1041   }
1042   h2 {
1043     margin-top: 0;
1044   }
1045   .user-description {
1046     width: 100%;
1047     clear: both;
1048   }
1049   .deemphasize {
1050     margin: 0;
1051   }
1052 }
1053
1054 .admin-user-info small {
1055   margin-bottom: 10px;
1056   display: inline;
1057   margin-right: 20px;
1058 }
1059
1060 .activity-block {
1061   clear: left;
1062   border-bottom: 1px solid #ccc;
1063   padding-bottom: 20px;
1064   float: left;
1065   h3 {
1066     margin-bottom: 10px;
1067   }
1068 }
1069
1070 .contact-activity {
1071   margin-top: 20px;
1072   width: 100%;
1073 }
1074
1075 .activity-details p {
1076   margin-left: 72px;
1077   margin-bottom: 0;
1078 }
1079
1080 #friends-container .contact-activity ul {
1081   margin-left: 72px;
1082   }
1083
1084 .user-view p#no_home_location {
1085   margin: 20px;
1086 }
1087
1088 .user-view .user_thumbnail {
1089   margin-top: 5px;
1090   float: left;
1091 }
1092
1093 /* Rules for the user map */
1094
1095 .content_map .leaflet-popup-content {
1096   margin: 10px 15px;
1097   min-height: 62px;
1098 }
1099
1100 /* Rules for user popups on maps */
1101
1102 .user_popup {
1103   min-width: 200px;
1104 }
1105
1106 .user_popup p {
1107   padding-top: 3px;
1108   padding-bottom: 3px;
1109   margin-top: 0px;
1110   margin-bottom: 0px;
1111   margin-left: 55px;
1112   margin-right: 2px;
1113 }
1114
1115 .user_popup img.user_thumbnail {
1116   float: left;
1117   margin-right: 10px;
1118 }
1119
1120 /* Rules for user popups on maps */
1121
1122 .user_popup p {
1123   margin-bottom: 0;
1124   margin-left: 60px;
1125   font-size: 12px;
1126 }
1127
1128 /* Rules for the user list */
1129
1130 #user_list {
1131   font-size: 10px;
1132   width: 100%;
1133 }
1134
1135 #user_list tr {
1136   vertical-align: middle;
1137 }
1138
1139 #user_list p {
1140   margin-top: 0px;
1141   margin-bottom: 0px;
1142 }
1143
1144 #user_list_actions {
1145   float: right;
1146   margin-top: 10px;
1147 }
1148
1149 /* Rules for the diary list page */
1150
1151 .diary_entry-list img.user_thumbnail {
1152   float: left;
1153 }
1154
1155 .diary_post {
1156   max-width: 740px;
1157   position: relative;
1158   margin-top: 20px;
1159   padding-top: 20px;
1160   border-top: 1px solid #ccc;
1161
1162   &:first-child {
1163     margin-top: 0;
1164     border-top: 0;
1165     padding-top: 0;
1166   }
1167   h1, h2 {
1168     font-size: 21px;
1169     line-height: 1;
1170   }
1171   small.deemphasize {
1172     float: left;
1173     display: block;
1174   }
1175   ul.secondary-actions { display: inline-block;}
1176 }
1177
1178 .content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
1179   display: inline;
1180 }
1181
1182 #content  .post_heading {
1183   margin-bottom: 20px;
1184   h2 {
1185     margin-top: 0;
1186     margin-bottom: 10px;
1187     font-size: 24px;
1188   }
1189 }
1190
1191 /* Rules for the diary entry page */
1192
1193 .diary_entry {
1194   #map {
1195     position: relative;
1196     width: 90%;
1197     height: 398px;
1198     border: 1px solid #ccc;
1199     display: none;
1200     margin-bottom: 20px;
1201   }
1202   #newcomment {
1203     border-top: 1px solid #ccc;
1204     padding-top: 20px;
1205     margin-top: 10px;
1206   }
1207   .comments {
1208     max-width: 740px;
1209   }
1210   .diary-comment {
1211     margin-top: 10px;
1212     border-top: 1px dashed #ccc;
1213     padding-top: 10px;
1214     &:first-child {
1215       margin-top: 20px;
1216       padding-top: 20px;
1217       border-top: 1px solid #ccc;
1218     }
1219     p {
1220       margin-bottom: 10px;
1221     }
1222     .comment-heading {
1223       margin-bottom: 0;
1224       margin-top: 0;
1225     }
1226   }
1227 }
1228
1229 .diary_entry-view img.user_thumbnail {
1230   float: left;
1231 }
1232
1233 /* Rules for the login page */
1234
1235 #login_openid_buttons li {
1236   float: left;
1237   padding: 5px 10px;
1238 }
1239
1240 /* Rules for the account confirmation page */
1241
1242 div#contributorTerms {
1243   border: 1px solid #ccc;
1244   padding: 20px;
1245   margin-bottom: 20px;
1246   overflow: auto;
1247   height: 398px;
1248 }
1249
1250 div#contributorTerms p#last {
1251   margin-bottom: 0px;
1252 }
1253
1254 div#contributorTerms ol {
1255   margin-bottom: 0px;
1256 }
1257
1258 div#contributorTerms img {
1259   display: block;
1260   margin: 20px auto inherit auto;
1261 }
1262
1263 form#termsForm div#buttons {
1264   float: right;
1265 }
1266
1267 form#termsForm input#agree {
1268   margin-left: 40px;
1269 }
1270
1271 div#slim_content form#termsForm {
1272   width: auto;
1273 }
1274
1275 p#contributorGuidance {
1276   background-color: #f4f4ff;
1277   border-radius: 3px;
1278   -moz-border-radius: 3px;
1279   margin-top: 20px;
1280   padding: 10px;
1281 }
1282
1283 /* Rules for the account settings page */
1284
1285 #accountForm {
1286   margin-top: 20px;
1287 }
1288
1289 #accountForm td {
1290   padding-bottom: 10px;
1291 }
1292
1293 #accountForm .user_map {
1294   position: relative;
1295   width: 498px;
1296   height: 398px;
1297   border: 1px solid #ccc;
1298 }
1299
1300 .accountImage-options {
1301   width: 50%;
1302   display: inline-block;
1303 }
1304
1305 .nohome .location {
1306   display: none;
1307 }
1308
1309 #homerow .message {
1310   display: none;
1311 }
1312
1313 .nohome .message {
1314   display: inline !important;
1315 }
1316
1317 #accountForm input[type=submit] {
1318   margin-top: 15px;
1319 }
1320
1321 .content_map.settings_map {
1322   float: none;
1323   width: 50%;
1324 }
1325
1326 /* Rules for message in/out box page */
1327
1328 .messages {
1329   width: 100%;
1330   border: 1px solid #ddd;
1331 }
1332
1333 .messages tbody tr {
1334   border-top: 1px solid #ccc;
1335 }
1336
1337 .messages .inbox-row {
1338   background: #f8f8ff;
1339 }
1340
1341 .messages .inbox-row-unread {
1342   background:#CBEEA7;
1343 }
1344
1345 .right {
1346   float: right;
1347 }
1348
1349 .messages tr td,
1350 .messages tr th {
1351   padding: 5px;
1352 }
1353
1354 .inbox-row .inbox-mark-read {
1355   display: none;
1356 }
1357
1358 .info-line {
1359   margin-bottom: 20px;
1360   padding: 5px 0px 4px 0px;
1361   border-bottom: 1px solid #ccc;
1362 }
1363
1364 .info-line form,
1365 .info-line form div {
1366   display: inline;
1367 }
1368
1369 .info-line .user_thumbnail_tiny {
1370   vertical-align: middle;
1371 }
1372
1373 .inbox-row-unread .inbox-mark-unread {
1374   display: none;
1375 }
1376
1377 /* Rules for "flash" notice boxes shown at the top of the content area */
1378
1379 .flash {
1380     padding: 20px;
1381   &#error {
1382     background-color: #ff7070;
1383   }
1384   &#warning {
1385     background-color: #ffe0cc;
1386   }
1387   &#notice {
1388     background-color: #CBEEA7;
1389   }
1390 }
1391
1392 /* Rules for highlighting fields with rails validation errors */
1393
1394 .field_with_errors {
1395   padding: 2px;
1396   background-color: #ff7070;
1397   display: table;
1398 }
1399
1400 /* Rules for rails validation error boxes */
1401
1402 #errorExplanation {
1403   width: 400px;
1404   border: 2px solid #ff7070;
1405   padding: 10px;
1406   margin-bottom: 20px;
1407   background-color: #f0f0f0;
1408 }
1409
1410 #errorExplanation h2 {
1411   margin: -10px;
1412   padding: 5px 5px 5px 15px;
1413   font-weight: bold;
1414   font-size: 12px;
1415   background-color: #c00;
1416   color: #fff;
1417   text-align: left;
1418 }
1419
1420 #errorExplanation p {
1421   color: #333;
1422   margin-bottom: 0px;
1423   padding: 5px;
1424 }
1425
1426 #errorExplanation ul li {
1427   font-size: 12px;
1428   list-style: disc;
1429 }
1430
1431 /* Rules for forms */
1432
1433 .submitButton {
1434   text-align: center;
1435 }
1436
1437 .fieldName {
1438   vertical-align: top;
1439   font-weight: bold;
1440   font-size: 12px;
1441   line-height: 1.6666;
1442   text-align: right;
1443 }
1444
1445 .submitButton {
1446   text-align: right;
1447 }
1448
1449 .minorNote {
1450   font-size: 12px;
1451 }
1452
1453 input[type="text"],
1454 input[type="email"],
1455 input[type="url"],
1456 input[type="password"],
1457 textarea {
1458   border: 1px solid #ccc;
1459 }
1460
1461 /* Rules for user images */
1462
1463 img.user_image {
1464   max-width: 100px;
1465   max-height: 100px;
1466   border: 1px solid #ccc;
1467   margin-bottom: 20px;
1468   float: left;
1469   margin-right: 20px;
1470 }
1471
1472 img.user_thumbnail {
1473   max-width: 50px;
1474   max-height: 50px;
1475   border: 1px solid #ccc;
1476   margin-right: 20px;
1477 }
1478
1479 img.user_thumbnail_tiny {
1480   max-width: 24px;
1481   max-height: 24px;
1482   border: 1px solid #ccc;
1483 }
1484
1485 /* Rule for "nowrap" class that can be applied to anything to stop wrapping */
1486
1487 .nowrap {
1488   white-space: nowrap;
1489 }
1490
1491 /* Rules for geo microformats */
1492
1493 abbr.geo {
1494   border-bottom: none;
1495 }
1496
1497 /* Rules for RSS buttons */
1498
1499 .rsssmall {
1500   position: relative;
1501   top: 4px;
1502 }
1503
1504 /* General styles for action lists / subnavs / pager navs */
1505
1506 ul.secondary-actions {
1507   font-style: normal;
1508   margin-bottom: 0;
1509   margin-left: 0;
1510   &.pager {
1511     display: inline-block;
1512     margin-bottom: 20px;
1513     margin-right: 60px;
1514   }
1515   li {
1516     display: block;
1517     float: left;
1518     list-style: none;
1519     border-left: 1px solid #ccc;
1520     padding-left: 5px;
1521     margin-right: 5px;
1522     &:first-child {
1523       border-left: 0;
1524       padding-left: 0;
1525     }
1526     &:last-child {
1527       margin-right: 0px;
1528     }
1529   }
1530 }
1531
1532 /* Utility for managing inner content areas */
1533
1534 .inner22 { padding: 20px;}
1535
1536 .inner12 { padding: 10px 20px;}
1537
1538 .inner02 { padding: 0 20px;}
1539
1540 /* Utility for general button styles */
1541
1542 a.button {
1543   display: block;
1544   padding: 5px;
1545   min-width: 120px;
1546   margin-bottom: 10px;
1547   color: white;
1548   background: #7092FF;
1549   text-align: center;
1550   border-radius: 2px;
1551   -moz-border-radius: 2px;
1552   &:hover {
1553     background: blue;
1554     text-decoration: none;
1555   }
1556   &:last-child {
1557     margin-bottom: 0;
1558   }
1559 }
1560
1561 a.button.submit {
1562   background-color: #cbeea7;
1563   &:hover {
1564     background-color: #9ed485;
1565   }
1566 }
1567
1568 /* Rules for doing distinct colour of alternate table rows */
1569
1570 .table0,
1571 .item0 {
1572   background: #F4F4FF;
1573 }
1574
1575 .table1,
1576 .item1 {
1577   background: #fff;
1578 }
1579
1580 /* Rules for OpenID logo */
1581
1582 .openid_logo {
1583   vertical-align: text-bottom;
1584   border: 0;
1585 }
1586
1587 /* Rules for rich text */
1588
1589 .richtext {
1590   h1, h2 {
1591     padding-bottom: 10px;
1592     border-bottom: 1px dashed #cccccc;
1593     margin-bottom: 10px;
1594   }
1595
1596   h1 {
1597     font-size: 24px;
1598   }
1599
1600   h2 {
1601     font-size: 18px;
1602   }
1603
1604   h3 {
1605     font-size: 14px;
1606   }
1607
1608   code {
1609     font-size: 13px;
1610     background: #e8e8e8;
1611     padding: 2px 3px;
1612   }
1613
1614   img {
1615     padding: 20px;
1616     background-color: #f4f4ff;
1617     display: block;
1618     max-width: 100%;
1619     margin: auto;
1620     box-sizing: border-box;
1621     -moz-box-sizing: border-box;
1622   }
1623
1624   blockquote {
1625     border-left: 20px solid #f4f4ff;
1626     padding-left: 20px;
1627     margin: 0;
1628     color: #7E7E7E;
1629   }
1630
1631   ul, ol {
1632     font-style: italic;
1633     padding-left: 20px;
1634     margin-bottom: 20px;
1635     margin-left: 20px;
1636   }
1637
1638   ul li {
1639     list-style: disc;
1640   }
1641
1642   ol li {
1643     list-style: decimal;
1644   }
1645 }
1646
1647 .diary_post .richtext {
1648     margin-top: 20px;
1649   }
1650
1651 .comments .richtext {
1652   margin-left: 70px;
1653   margin-top: 0;
1654 }
1655
1656 /* Rules for rich text editors */
1657
1658 .richtext_container {
1659   .richtext_content {
1660     display: inline-block;
1661     vertical-align: top;
1662
1663     .richtext_preview {
1664       display: inline-block;
1665       padding: 20px;
1666       background-color: #f4f4ff;
1667       overflow-x: auto;
1668
1669       &.loading {
1670         background-image: image-url("loading.gif");
1671         background-repeat: no-repeat;
1672         background-position: center;
1673       }
1674
1675       > :first-child {
1676         margin-top: 0px;
1677       }
1678     }
1679   }
1680
1681   .richtext_help {
1682     display: inline-block;
1683     vertical-align: top;
1684     margin-left: 15px;
1685     background-color: #f8f8ff;
1686     padding: 10px;
1687     max-width: 450px;
1688
1689     ul {
1690       margin-bottom: 0;
1691     }
1692
1693     h4.heading, li {
1694       border-bottom: 1px solid #ccc;
1695       margin-bottom: 5px;
1696       padding-bottom: 5px;
1697     }
1698
1699     li h4, li span, li p {
1700       display: inline-block;
1701       vertical-align: top;
1702       font-size: 11px;
1703     }
1704
1705     li h4 {
1706       width: 35%;
1707       margin: 0;
1708     }
1709
1710     li span, li p {
1711       width: 60%;
1712       margin-left: 10px;
1713       margin-bottom: 5px;
1714       white-space: nowrap;
1715     }
1716
1717     input.richtext_doedit,
1718     input.richtext_dopreview {
1719       margin-right: 10px;
1720     }
1721   }
1722 }
1723
1724 /* Rules for the user notes list */
1725
1726 .note_list {
1727   tr.creator {
1728     background-color: #eeeeee;
1729   }
1730
1731   td {
1732     padding: 3px;
1733   }
1734
1735   p {
1736     margin-bottom: 0px;
1737   }
1738 }
1739
1740 /* Rules for the notes interface */
1741
1742 .note {
1743   padding-top: 10px;
1744 }
1745
1746 .note {
1747   h2 {
1748     margin-bottom: 10px;
1749   }
1750
1751   div {
1752     margin-top: 10px;
1753   }
1754
1755   .permalink {
1756     position: absolute;
1757     top: 5px;
1758     left: 5px;
1759     min-width: 15px;
1760     min-height: 15px;
1761     background: image-url("sprite.png") 0 -45px no-repeat;
1762   }
1763
1764   .permalink span {
1765     display: none;
1766     padding-left: 20px;
1767   }
1768
1769   .permalink:hover span {
1770     display: block;
1771   }
1772
1773   .warning {
1774     display: block;
1775     background-color: #ffe0cc;
1776     padding: 4px 6px;
1777     margin-bottom: 10px;
1778   }
1779
1780   .comment_body {
1781     margin-top: 2px;
1782     margin-bottom: 2px;
1783
1784     p {
1785       margin-top: 0px;
1786       margin-bottom: 0px;
1787     }
1788   }
1789
1790   .comment {
1791     width: 100%;
1792     height: 100px;
1793   }
1794
1795   .buttons {
1796     margin-top: 5px;
1797     text-align: right;
1798   }
1799 }
1800
1801 /*
1802  * Rules for the iD editor
1803  */
1804 .id-embed {
1805   width: 100%;
1806   height: 100%;
1807 }
1808
1809 /* Rules for rotating sidebar ads */
1810 .ad-container {
1811   display: block;
1812   height: 120px;
1813   overflow: hidden;
1814   position: relative;
1815   border-bottom: 1px solid #cccccc;
1816 }
1817
1818 .ads {
1819   width: 370px;
1820   position: absolute;
1821   left: 0%;
1822 }
1823
1824 .ad {
1825   float: left;
1826   height: 100px;
1827   padding: 10px;
1828   border: 0px;
1829   background: #fff;
1830 }