]> git.openstreetmap.org Git - rails.git/blob - app/assets/stylesheets/common.scss
21cecaf4aa67da1e94b89b433f4dcfed1ffcbcbb
[rails.git] / app / assets / stylesheets / common.scss
1 @import "parameters";
2
3 /* Styles common to large and small screens */
4
5 /* Minimal CSS reset */
6
7 html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p, input {
8   margin: 0;
9   padding: 0;
10   border: 0;
11   font-size:100%;
12 }
13
14 fieldset,img { border: 0; }
15
16 legend { color: #000; }
17
18 sup {
19   vertical-align: super;
20   font-size: smaller;
21 }
22
23 sub {
24   vertical-align: sub;
25   font-size: smaller;
26 }
27
28 table {
29   border-collapse: collapse;
30   border-spacing: 0;
31 }
32
33 li { list-style: none; }
34
35 input,
36 select,
37 textarea,
38 body { font: #{$typeheight}/#{$lineheight} "Helvetica Neue",Arial,sans-serif; }
39
40 abbr, acronym {
41   border-bottom: .1em dotted;
42   cursor: help;
43 }
44
45 strong {
46   font-weight: bold;
47 }
48
49 /* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */
50
51 .clearfix:before,
52 .clearfix:after {
53     content: " ";
54     display: table;
55 }
56
57 .clearfix:after {
58     clear: both;
59 }
60
61 /* Basic grid */
62
63 .col0    { float:left; width:04.1666%; }
64 .col1    { float:left; width:08.3333%; }
65 .col2    { float:left; width:16.6666%; }
66 .col3    { float:left; width:25.0000%; }
67 .col4    { float:left; width:33.3333%; }
68 .col5    { float:left; width:41.6666%; }
69 .col6    { float:left; width:50.0000%; }
70 .col7    { float:left; width:58.3333%; }
71 .col8    { float:left; width:66.6666%; }
72 .col9    { float:left; width:75.0000%; }
73 .col10   { float:left; width:83.3333%; }
74 .col11   { float:left; width:91.6666%; }
75 .col12   { width:100%; }
76
77 .margin0  { margin-left:04.1666%; }
78 .margin1  { margin-left:08.3333%; }
79 .margin2  { margin-left:16.6666%; }
80 .margin3  { margin-left:25.0000%; }
81 .margin4  { margin-left:33.3333%; }
82 .margin5  { margin-left:41.6666%; }
83 .margin6  { margin-left:50.0000%; }
84 .margin7  { margin-left:58.3333%; }
85 .margin8  { margin-left:66.6666%; }
86 .margin9  { margin-left:75.0000%; }
87 .margin10 { margin-left:83.3333%; }
88 .margin11 { margin-left:91.6666%; }
89 .margin12 { margin-left:100.0000%; }
90
91 .fillL { background-color: white; }
92
93 /* Default rules for the body of every page */
94
95 * {
96   box-sizing: border-box;
97 }
98
99 body {
100   font-family: 'Helvetica Neue',Arial,sans-serif;
101   font-size: $typeheight;
102   line-height: 1.6666;
103   color: #222;
104   background-color: #fff;
105   margin: 0px;
106   padding: 0px;
107   text-align: left;
108   height: 100%;
109 }
110
111 h1, h2, h3 {
112   font-weight: 600;
113   line-height: 1.2;
114 }
115
116 h4, h5 {
117   font-weight: 500;
118 }
119
120 h1 {
121   font-size: 18px;
122 }
123
124 h2, h3 {
125   font-size: 16px;
126 }
127
128 p > img {
129   width: auto;
130   max-width: 100%;
131 }
132
133 small, aside {
134   font-size: 12px;
135 }
136
137 #container { position: relative; }
138
139 .column-1 {
140   width: 50%;
141   margin: 0 0 $lineheight/2 0;
142 }
143
144 .small_icon {
145   vertical-align: middle;
146   margin-right: $lineheight/4;
147 }
148
149 .red { color: $red; }
150
151 /* Rules for icons */
152
153 .icon {
154   display:inline-block;
155   vertical-align:top;
156   width:20px;
157   height:20px;
158   background:transparent image-url("sprite.png") no-repeat 0 0;
159   text-indent:-9999px;
160   overflow:hidden;
161 }
162
163 .icon.search      { background-position: 0 0; }
164 .icon.donate      { background-position: -20px 0; }
165 .icon.zoomin      { background-position: -40px 0; }
166 .icon.zoomout     { background-position: -60px 0; }
167 .icon.geolocate   { background-position: -80px 0; }
168 .active .icon.geolocate   { background-position: -80px -20px; }
169 .icon.layers      { background-position: -100px 0; }
170 .icon.key         { background-position: -120px 0; }
171 .icon.share       { background-position: -140px 0; }
172 .icon.clipboard   { background-position: -160px 0; }
173 .icon.link        { background-position: -180px 0; }
174 .icon.close       { background-position: -200px 0; }
175 .icon.close:hover { background-position: -200px -20px; }
176 .icon.check       { background-position: -220px 0; }
177 .icon.note        { background-position: -240px 0; }
178 .icon.query       { background-position: -260px 0; }
179
180 /* Rules for links */
181
182 a {
183   color: #24d;
184   text-decoration: none;
185   -webkit-appearance: none;
186   outline: 0;
187   &:hover {
188     text-decoration: underline;
189   }
190 }
191
192 /* Rules for horizontal lines */
193
194 hr {
195   border: none;
196   background-color: #ccc;
197   color: #ccc;
198   height: 1px;
199 }
200
201 /* General styles for tables */
202
203 table {
204   width: 100%;
205   margin-bottom: $lineheight;
206   th, td {
207     text-align: left;
208     padding: $lineheight/4;
209     line-height: $lineheight;
210   }
211   th {
212     font-weight: 600;
213     vertical-align: top;
214   }
215   td {
216     vertical-align: middle;
217   }
218 }
219
220 /* Utility for de-emphasizing content */
221
222 .deemphasize {
223   color: #999;
224   a {
225     color: $blue;
226   }
227 }
228
229 /* Rules for the header */
230
231 #menu-icon { 
232   display: none !important;
233   float: right;
234   background: image-url("menu-icon.png") no-repeat;
235   background-size: 30px 30px;
236   display: block;
237   width: 30px;
238   height: 30px;
239   margin: 14px 10px 0 0;
240   opacity: 0.6;
241 }
242
243 header {
244   height: $headerHeight;
245   position: relative;
246   z-index: 1001;
247   font-size: 14px;
248
249   h1, nav, nav > ul, nav > ul > li, .dropdown {
250     display: inline-block;
251   }
252
253   > * {
254     height: 100%;
255     padding: $lineheight/2;
256   }
257
258   h1, nav.primary {
259     float: left;
260   }
261
262   a, a:hover {
263     text-decoration: none;
264   }
265
266   img.logo {
267     width: 30px;
268     height: 30px;
269     margin-top: -2px;
270     vertical-align: middle;
271   }
272
273   h1 {
274     margin: 0;
275     padding-top: 15px;
276
277     a {
278       color: #000;
279     }
280   }
281 }
282
283 nav.primary {
284   > ul {
285     $border: 1px solid $green;
286
287     border: $border;
288     border-radius: $border-radius;
289
290     > li {
291       border-right: $border;
292       float: left;
293       &:last-child { 
294         border-right: 0;
295       }
296       > a:hover { background: lighten($green, 30%); }
297       &.current > a:hover { background: $green; }
298       &.disabled > a:hover { background: lighten($green, 38%); }
299       &.dropdown {
300         > a.tab { border-right: 1px solid lighten($green, 30%); }
301         &.current > a.tab { border-right: 1px solid lighten($green, 10%); }
302       }
303     }
304   }
305
306   a.tab,
307   .dropdown-toggle {
308     display: inline-block;
309     font-weight: 500;
310     color: $green;
311     padding: 5px 15px;
312   }
313
314   .dropdown-toggle {
315     padding: 5px 6px;
316   }
317
318   .caret {
319     border-top-color: $green;
320     margin-top: 10px;
321   }
322
323   .disabled a {
324     color: #ccc;
325     cursor: default;
326
327     .caret {
328       border-top-color: #ccc;
329     }
330   }
331
332   > ul li.current {
333     background-color: $green;
334
335     .tab {
336       color: #fff;
337     }
338
339     .caret {
340       border-top-color: #fff;
341     }
342   }
343 }
344
345 nav.secondary {
346   position: absolute;
347   right: 0;
348
349   > ul {
350     vertical-align: middle;
351     a, .dropdown-toggle {
352       display: inline-block;
353       text-decoration: none;
354       color: $darkgrey;
355       padding: 5px;
356
357       &:hover { color: darken($darkgrey, 25%); }
358     }
359   }
360
361   > ul li.current a {
362     color: darken($darkgrey, 25%);
363   }
364
365   .user-menu {
366     $border: 1px solid $grey;
367     border: $border;
368     border-radius: $border-radius;
369     margin-left: 10px;
370
371     > li {
372       border-right: $border;
373       float: left;
374       &:last-child { 
375         border-right: 0;
376
377         > a {
378           border-radius: 0 $border-radius $border-radius 0;
379         } 
380       }
381       &:first-child > a { border-radius: $border-radius 0 0 $border-radius; }
382       &:hover a { background: lighten($darkgrey, 30%); }
383     }
384
385     a {
386       padding: 5px 15px;
387
388     }
389
390     &.logged-in > a {
391       padding: 0;
392       > .user-button {
393         line-height: 1.8;
394         padding: 5px 10px 3px 6px;
395         display: inline-block;
396         color: $darkgrey;
397       }
398       &:hover > .user-button { color: darken($darkgrey, 5%); }
399     }
400   }
401
402   .caret {
403     border-top-color: $grey;
404     margin-top: 9px;
405   }
406
407   img.user_thumbnail_tiny {
408     border: 0;
409     vertical-align: top;
410     margin-top: 0px;
411     margin: 4px 0 0 4px;
412     border-radius: 2px;
413   }
414
415   #inboxanchor {
416     display: inline-block;
417     vertical-align: top;
418     height: 25px;
419     margin: 3px 0 3px 3px;
420     background-color: lighten($grey, 10%);
421     line-height: 20px;
422     border-radius: 2;
423   }
424
425   .dropdown-menu {
426     left: auto;
427     right: -1px;
428     border-radius: 3px 0 3px 3px;
429
430     .count-number {
431       float: right;
432       padding: 0 5px;
433       margin: 0;
434     }
435   }
436 }
437
438 #compact-secondary-nav {
439   display: none;
440   ul li a {
441     width: 100%;
442     color: #333;
443     &:hover { color: #fff; }
444   }
445 }
446
447 @media only screen and (max-width:960px) {
448   #compact-secondary-nav {
449     display: inline-block;
450   }
451   .compact-hide {
452     display: none;
453   }
454 }
455
456 /* Utility for styling notification numbers */
457
458 .count-number {
459   padding: 2px $lineheight/4;
460   border-radius: 2px;
461   background: lighten($green, 30%);
462   margin: 0 2px;
463   font-size: 11px;
464   color: #333;
465 }
466
467 /* Rules for the message shown in place of the map when javascript is disabled */
468
469 #noscript {
470   z-index: 20000000;
471   margin-left: 400px;
472   margin-top: 50px;
473 }
474
475 /* Rules for Leaflet maps */
476
477 .leaflet-control .control-button {
478   display: block;
479   height: 40px;
480   width: 40px;
481   background-color: #333;
482   background-color: rgba(0,0,0,.6);
483   border-radius: 4px 0 0 4px;
484   margin-bottom: 10px;
485   outline: none;
486
487   &:hover {
488     background-color: black;
489   }
490
491   &.disabled {
492     background-color: #333;
493     background-color: rgba(0,0,0,.5);
494     cursor: default;
495   }
496
497   &.active {
498     background-color: #9ed485;
499   }
500
501   .icon {
502     margin: 10px;
503   }
504 }
505
506 .leaflet-control .zoomin,
507 .control-layers .control-button {
508   margin-bottom: 0px;
509   border-radius: 4px 0 0 0;
510 }
511
512 .leaflet-control .zoomout,
513 .control-key .control-button {
514   margin-bottom: 0;
515   border-radius: 0;
516 }
517
518 .control-locate .control-button,
519 .control-share .control-button {
520   border-radius: 0 0 0 4px;
521 }
522
523 /* Rules for the sidebar and main map area */
524
525 .map-layout {
526   #content {
527     overflow: hidden;
528     position: absolute;
529     top: $headerHeight;
530     bottom: 0;
531     width: 100%;
532   }
533
534   #sidebar, #map {
535     position: relative;
536     height: 100%;
537     overflow-x: hidden;
538     overflow-y: auto;
539   }
540
541   #sidebar {
542     float: left;
543     width: $sidebarWidth;
544     background: #fff;
545     font-size: 12px;
546
547     h2 {
548       padding: $lineheight $lineheight $lineheight/2;
549     }
550
551     h3, h4 {
552       margin-top: $lineheight;
553       margin-bottom: $lineheight/2;
554       font-size: 13px;
555     }
556
557     .icon.close {
558       float: right;
559       cursor: pointer;
560     }
561
562     p.error {
563       background-color: #ff7070;
564       padding: 10px;
565       font-weight: bold;
566     }
567   }
568
569   .welcome {
570     display: none;
571   }
572
573   .overlay-sidebar #sidebar {
574     position: absolute;
575     z-index: 1000;
576     height: auto;
577     border-bottom-right-radius: 5px;
578     overflow: hidden;
579     .welcome {
580       display: block;
581     }
582     #sidebar_content {
583       display: none;
584     }
585   }
586
587   .welcome {
588     p {
589       padding: $lineheight/2 $lineheight $lineheight;
590       font-size: 110%;
591       font-weight: 300;
592     }
593
594     .button {
595       width: 50%;
596       float: left;
597       margin: 0;
598       border-radius: 0;
599       font-weight: normal;
600       padding: .6em;
601
602       &.learn-more {
603         border-right: 1px solid #fff;
604       }
605     }
606   }
607
608   #map {
609     height: 100%;
610     overflow: hidden;
611
612     &.query-active {
613       cursor: help;
614     }
615
616     &.query-disabled {
617       cursor: not-allowed;
618     }
619     
620     .leaflet-marker-draggable {
621       cursor: move;
622     }
623   }
624
625   #map-ui {
626     display: none;
627     position: relative;
628     float: right;
629     width: 250px;
630     height: 100%;
631     background: white;
632     overflow: auto;
633
634     .section {
635       border-bottom: 1px solid #DDD;
636       padding: 10px 20px;
637     }
638
639     a.close-button {
640       float: right;
641       padding:5px;
642       font-size:20px;
643       line-height:10px;
644       color:#222;
645       border:1px solid #ddd;
646     }
647
648     .tooltip {
649       opacity: 1;
650       border: 1px solid #ccc;
651       .tooltip-arrow {
652         border-top-color: #ccc;
653       }
654     }
655   }
656 }
657
658 .layers-ui,
659 .share-ui {
660   li:last-child {
661     margin-bottom: 0;
662   }
663 }
664
665 .layers-ui {
666   .base-layers {
667     .leaflet-container {
668       width: 100%;
669       height: 50px;
670       cursor: pointer;
671     }
672
673     li  {
674       overflow: hidden;
675       border-radius: 3px;
676       border: 2px solid #fff;
677       margin-bottom: 8px;
678       position: relative;
679       transition: border-color 0.08s ease-in;
680       
681       label {
682         position: absolute;
683         top: 0;
684         left: 0;
685         padding: 2px 6px;
686         border-bottom-right-radius: 3px;
687         cursor: pointer;
688         font-weight: 600;
689         font-size: 16px;
690         text-stroke: 2px #fff;
691         background: rgba(255,255,255,.9);
692         z-index: 2; // For IE9
693         input[type="radio"] {
694           display: none;
695         }
696       }
697
698       &.active { border-color: darken($green, 10%); }
699       &:hover {
700         border-color: $grey;
701         &.active { border-color: darken($green, 20%); }
702       }
703     }
704   }
705
706   .overlay-layers {
707     p {
708       font-size: 13px;
709       margin-bottom: 8px;
710     }
711     li.disabled { color: #999; }
712   }
713 }
714
715 .share-ui {
716   .share-tabs {
717     margin-bottom: 10px;
718
719     a {
720       color: #fff;
721       text-decoration: none;
722       background-color: $lightblue;
723       padding: 5px 10px;
724       border-right: 1px solid #fff;
725     }
726
727     a:first-child {
728       border-right: 1px solid #fff;
729       border-radius: 4px 0 0 4px;
730     }
731
732     a:last-child {
733       border-radius: 0 4px 4px 0;
734     }
735
736     a.active {
737       background-color: $blue;
738     }
739   }
740
741   .share-tab {
742     display: none;
743   }
744
745   .share-link {
746     input[type=text],
747     textarea {
748       width: 100%;
749       font-family: monospace;
750       font-size: small;
751       line-height: 1.3;
752     }
753   }
754
755   .share-image {
756     label {
757       margin-right: 10px;
758     }
759   }
760
761   #embed_html {
762     resize: vertical;
763   }
764
765   #mapnik_scale {
766     width: 100px;
767   }
768 }
769
770 .leaflet-top {
771   top: $lineheight/2 !important;
772   .leaflet-control {
773     margin-right: 0px !important;
774     margin-top: 0px !important;
775   }
776 }
777
778 .leaflet-popup-scrolled {
779   padding-right: $lineheight;
780   border-bottom: 0px !important;
781   border-top: 0px !important;
782 }
783
784 .leaflet-popup-content-wrapper {
785   border-radius: 4px !important;
786 }
787
788 /* Rules for attribution text under the main map shown on printouts */
789
790 #attribution {
791   display: none;
792
793   table {
794     width: 100%
795   }
796 }
797
798 .attribution_license,
799 .attribution_project {
800   text-align: left;
801 }
802
803 .attribution_notice {
804   text-align: center;
805 }
806
807 .donate-attr { color: darken($green, 10%) !important; }
808
809 /* Rules for the sidebar */
810
811 .sidebar_heading {
812   position: relative;
813   padding: $lineheight/2 $lineheight;
814   // background: $offwhite;
815   // border-bottom: 1px solid #ccc;
816   > .close { 
817     float: right;
818     margin-top: 2px;
819     cursor: pointer; 
820   }
821 }
822
823 #browse_status {
824   p {
825     padding: $lineheight;
826   }
827
828   input {
829     display: block;
830     margin-left: auto;
831     margin-right: auto;
832   }
833 }
834
835 #sidebar {
836   #sidebar_loader,
837   .loader,
838   .load_more {
839     text-align: center;
840     margin: $lineheight auto;
841     width: 40px;
842     display: block;
843   }
844 }
845
846 /* Rules for the search and direction forms */
847
848 header .search_forms,
849 .directions_form {
850   display: none;
851 }
852
853 .search_form,
854 .directions_form {
855   position: relative;
856   padding: $lineheight/2;
857   background-color: $lightgrey;
858
859   .query_wrapper {
860     position: relative;
861     overflow: hidden;
862     border-radius: 2px 0 0 2px;
863   }
864
865   input[type=text] {
866     width: 100%;
867     height: 30px;
868     transition: 300ms linear;
869   }
870
871   input[type=text].overflow {
872     border-right: none;
873   }
874
875   input:focus {
876     outline: none;
877     box-shadow: 0px 0px 7px #9ED485;
878   }
879
880   input[type=submit].float {
881     float: right;
882     width: auto;
883     min-width: 0;
884     border-radius: 0 2px 2px 0;
885   }
886
887   select {
888     /* this next line is to polyfill the vertical alignment of text within a select element,
889      * which is different between firefox and chrome. */
890     padding: 0.3em 0;
891   }
892
893   .query_options {
894     text-align: right;
895     font-size: 10px;
896     color: $blue;
897   }
898
899   .describe_location {
900     position: absolute;
901     top: 6px;
902     right: 6px;
903     font-size: 10px;
904     color: $blue;
905   }
906
907   .switch_link {
908     float: right;
909     width: auto;
910     min-width: 0;
911     margin-left: 6px;
912   }
913
914   img.button {
915     display: block;
916   }
917
918   span.force_width {
919     width: 100%;
920     padding-right: 25px;
921     display: block;
922   }
923
924   select.routing_engines {
925     min-height: 30px;
926     margin: 0px 0px 5px 25px;
927   }
928
929   input.routing_go {
930     min-width: 100px;
931     float: right;
932   }
933
934   div.header {
935     width: 100%;
936     height: 30px;
937   }
938
939   div.line {
940     width: 100%;
941     margin: 0px 0px 5px 0px;
942   }
943
944   div.loader_copy {
945     display: none;
946
947     img {
948       vertical-align: middle;
949     }
950   }
951 }
952
953 /* Rules for the map key which appears in the popout sidebar */
954
955 #mapkey {
956  .mapkey-table-key img {
957     display: block;
958     margin-left: auto;
959     margin-right: auto;
960   }
961   td {
962     padding: 0 $lineheight/4 $lineheight/4 $lineheight/4;
963   }
964 }
965
966 /* Rules for search sidebar */
967
968 .search_results_entry {
969   ul li {
970     border-bottom: $keyline;
971     cursor: pointer;
972     &:first-child { border-top: $keyline; }
973     &.selected { background: $list-highlight; }
974   }
975
976   .search_details {
977     display: block;
978     float: right;
979     text-align: right;
980     margin-top: 0.2em;
981     margin-left: 0.5em;
982   }
983 }
984
985 .search_results_error {
986   color: #f00;
987   padding: 10px 20px;
988 }
989
990 /* Rules for routing */
991
992 #sidebar_content>table {
993     padding: 5px 20px 10px 15px;
994     width: 100%;
995     border-collapse: separate;
996 }
997
998 div.direction {
999   background-image: image-url('routing-sprite.png');
1000   width: 20px;
1001   height: 20px;
1002   background-repeat: no-repeat;
1003 }
1004 @for $i from 1 through 17 {
1005 div.direction.i#{$i} { background-position: #{($i)*-20+20}px 0px; }
1006 }
1007
1008 p#routing_summary {
1009     padding: 0 $lineheight $lineheight/4;
1010 }
1011
1012 td.instruction, td.distance {
1013     padding-top: $lineheight/5;
1014     padding-bottom: $lineheight/5;
1015     border-bottom: 1px solid #DDD;
1016 }
1017 td.distance {
1018     color: #BBB;
1019     text-align: right;
1020     font-size: x-small;
1021 }
1022 tr.turn {
1023     cursor: pointer;
1024 }
1025 tr.turn:hover {
1026     background: $list-highlight;
1027 }
1028 .routing_engines, #route_from, #route_to { margin-left: 25px; }
1029 .routing_marker { width: 15px; position: absolute; cursor: move; }
1030
1031 /* Rules for entity history */
1032
1033 #sidebar_content {
1034   .browse_details {
1035     position: relative;
1036     border-bottom: $keyline;
1037   }
1038 }
1039
1040 .browse_status {
1041   display: none;
1042 }
1043
1044 /* Rules for the history sidebar */
1045
1046 #sidebar .changesets {
1047   li {
1048     padding: 15px 20px;
1049     border-bottom: 1px solid #ddd;
1050     cursor: pointer;
1051
1052     &.selected { background: $list-highlight; }
1053     /* color is derived from changeset bbox fillColor in history.js */
1054   }
1055
1056   h4 {
1057     margin: 0;
1058     a {
1059       color: #000;
1060     }
1061   }
1062 }
1063
1064 /* Rules for the browse sidebar */
1065
1066 #sidebar_content {
1067   .browse-section {
1068     padding: $lineheight/2 $lineheight;
1069     border-bottom: 1px solid #ddd;
1070
1071     h4:first-child {
1072       margin-top: 0;
1073       word-wrap: break-word;
1074     }
1075   }
1076
1077   .browse-section:last-of-type {
1078     border-bottom: none;
1079   }
1080
1081   .paginate {
1082     float: right;
1083     padding: 1px 6px;
1084     border: 1px solid #eee;
1085     border-radius: 3px;
1086   }
1087
1088   .paginate ul {
1089     padding-left: 20px;
1090   }
1091
1092   .browse-field {
1093     margin-bottom: 10px;
1094
1095     h4 {
1096       padding: 5px 0 5px 10px;
1097       font-size: 12px;
1098       border: 1px solid #CCC;
1099       border-radius: 4px 4px 0 0;
1100       background-color: #F6F6F6;
1101     }
1102
1103     p {
1104       padding: 7px 10px;
1105       font-size: 12px;
1106       background-color: #FFF;
1107       border: 1px solid #CCC;
1108       border-top: 0;
1109       border-radius: 0 0 4px 4px;
1110     }
1111   }
1112
1113   .browse-tag-list {
1114     background-color: #F6F6F6;
1115     border: 1px solid #ddd;
1116     border-radius: 3px;
1117     font-size: 12px;
1118     table-layout: fixed;
1119     border-collapse: separate;
1120
1121     th, td {
1122       border-bottom: 1px solid #ddd;
1123     }
1124
1125     tr:last-child th, tr:last-child td {
1126       border-bottom: 0;
1127     }
1128
1129     .browse-tag-k,
1130     .browse-tag-v {
1131       width: 50%;
1132       padding: 6px 10px;
1133       word-wrap: break-word;
1134     }
1135
1136     .browse-tag-k {
1137       font-weight: 500;
1138       background-color: #F6F6F6;
1139     }
1140
1141     .browse-tag-v {
1142       border-left: 1px solid #ddd;
1143       background-color: #fff;
1144     }
1145   }
1146
1147   .warning {
1148     margin: $lineheight/2 0;
1149     padding: $lineheight/2;
1150     font-size: 90%;
1151   }
1152
1153   .note-comments li, .changeset-comments li {
1154     margin: $lineheight/2 0;
1155
1156     p {
1157       margin-left: 10px;
1158     }
1159   }
1160
1161   .comments-header {
1162     float: left;
1163   }
1164
1165   .subscribe-buttons {
1166     float: left;
1167     margin: 18px 10px 10px;
1168     min-width: 80px;
1169   }
1170
1171   .subscribe-buttons input {
1172     font-size: 90%;
1173     line-height: 15px;
1174     min-height: 20px;
1175   }
1176
1177   span.action-button:hover {
1178     cursor: pointer;
1179     text-decoration: underline;
1180   }
1181
1182   .note-description {
1183     overflow: hidden;
1184     margin: 0 0 10px 10px;
1185   }
1186
1187   .query-intro p {
1188     padding: $lineheight $lineheight $lineheight/2;
1189   }
1190
1191   .query-results {
1192     display: none;
1193
1194     h3 {
1195       padding: $lineheight $lineheight $lineheight/2;
1196       margin: 0;
1197     }
1198
1199     ul {
1200       li {
1201         padding: 15px 20px;
1202         border-bottom: 1px solid #ddd;
1203
1204         &.query-result {
1205           cursor: pointer;
1206         }
1207
1208         &.selected {
1209           background: $list-highlight;
1210         }
1211       }
1212     }
1213   }
1214 }
1215
1216 /* Rules for export sidebar */
1217
1218 .export_form {
1219   padding: $lineheight;
1220
1221   .export_area_inputs,
1222   .export_button {
1223     text-align: center;
1224   }
1225
1226   .export_area_inputs {
1227     margin-bottom: $lineheight/2;
1228     input[type="text"] {
1229       width: 80px;
1230       text-align: center;
1231       margin-bottom: 5px;
1232     }
1233   }
1234
1235   .export_boxy {
1236     background: #eee;
1237     border: 1px solid #ccc;
1238     border-radius: 3px;
1239
1240     #maxlat { margin-top: -1px; }
1241     #minlon {
1242       float: left;
1243       margin-left: -1px;
1244     }
1245     #maxlon {
1246       float: right;
1247       margin-right: -1px;
1248     }
1249     #minlat { margin-bottom: 0; }
1250   }
1251
1252   .export_bound {
1253     margin: $lineheight/4;
1254   }
1255
1256   .export_button {
1257     margin-top: $lineheight;
1258     margin-bottom: $lineheight;
1259   }
1260
1261   dl {
1262     padding-left: $lineheight/2;
1263     dd {
1264       margin-left: 0;
1265       margin-bottom: 10px;
1266     }
1267   }
1268 }
1269
1270 /* Rules for the routing sidebar */
1271
1272 #sidebar_content {
1273   #routing_credit {
1274     text-align: center;
1275     padding: 0.5em;
1276   }
1277 }
1278
1279 /* Rules for edit pages */
1280
1281 .site-edit {
1282   #content {
1283     position: absolute;
1284     top: $headerHeight;
1285     bottom: 0;
1286     width: 100%;
1287   }
1288
1289   #map {
1290     height: 100%;
1291     overflow: hidden;
1292   }
1293 }
1294
1295 /* Rules for non-map content pages */
1296
1297 .content-heading {
1298   background: $lightgrey;
1299   
1300   h1 { font-size: 22px; }
1301 }
1302
1303 .content-body {
1304   h1, h2, h3, p, ul, ol {
1305     margin-bottom: $lineheight;
1306   }
1307
1308   h1, h2, h3 {
1309     margin-top: $lineheight/2;
1310   }
1311 }
1312
1313 .content-inner {
1314   position: relative;
1315   max-width: 900px;
1316   margin: auto;
1317   padding: $lineheight;
1318 }
1319
1320 /* Overrides for pages that use new layout conventions */
1321
1322 .user-new,
1323 .user-create,
1324 .user-terms {
1325   .content-body .content-inner {
1326     padding: 0;
1327   }
1328 }
1329
1330 .user-new,
1331 .user-create,
1332 .user-terms,
1333 .user-confirm {
1334   .content-heading .content-inner {
1335     height: 200px;
1336   }
1337 }
1338
1339 .header-illustration {
1340   background-position: 0 0;
1341   background-repeat: no-repeat;
1342   position: absolute;
1343   height: 200px;
1344   width: 100%;
1345   left: 0;
1346   bottom: 0;
1347
1348   &.new-user-main {
1349     background-image: image-url("sign-up-illustration.png");
1350   }
1351
1352   &.confirm-main {
1353     background-image: image-url("confirm-illustration.png");
1354   }
1355
1356   &.new-user-terms {
1357     background-image: image-url("terms-illustration.png");
1358   }
1359
1360   &.new-user-arm {
1361     height: 110px;
1362     width: 130px;
1363     left: 260px;
1364     top: 160px;
1365     background-image: image-url("sign-up-illustration-arm.png");
1366     z-index: 100;
1367   }
1368 }
1369
1370 #content.maximised {
1371   top: 0;
1372   left: 0;
1373   right: 0;
1374   bottom: 0;
1375   border: 0;
1376   z-index: 2000;
1377 }
1378
1379 /* Rules for small maps in content areas */
1380
1381 .content_map {
1382   position: relative;
1383   width: 45%;
1384   height: 400px;
1385   border: 1px solid #ccc;
1386   margin-bottom: $lineheight;
1387   float: right;
1388 }
1389
1390 /* Rules for the trace list shown by the traces tab etc */
1391
1392 #trace_list {
1393   font-size: $lineheight/2;
1394   border-width: 0px;
1395   text-align: right;
1396
1397   .trace_summary {
1398     font-size: 12px;
1399     color: gray;
1400   }
1401
1402   .trace_pending {
1403     color: red;
1404   }
1405
1406   .trace_public {
1407     color: green;
1408   }
1409
1410   .trace_identifiable {
1411     color: green;
1412   }
1413
1414   .trace_trackable {
1415     color: red;
1416   }
1417
1418   .trace_private {
1419     color: red;
1420   }
1421 }
1422
1423 /* Rules for the new trace form */
1424
1425 #new_trace {
1426   input[type=text] {
1427     width: 50%;
1428     width: calc(100% - 150px);
1429     max-width: 500px;
1430   }
1431 }
1432
1433 /* Rules for the edit trace form */
1434
1435 .edit_trace {
1436   .form-row p {
1437     margin-bottom: 0px;
1438   }
1439
1440   input[type=text] {
1441     width: 50%;
1442     width: calc(100% - 150px);
1443     max-width: 500px;
1444   }
1445 }
1446
1447 /* Rules for the user profile page */
1448
1449 #userinformation {
1450
1451   min-height: 100px;
1452   .userinformation-inner {
1453     float: left;
1454   }
1455   h2 {
1456     margin-top: 0;
1457   }
1458   .user-description {
1459     width: 100%;
1460     clear: both;
1461   }
1462   .deemphasize {
1463     margin: 0;
1464   }
1465 }
1466
1467 .admin-user-info small {
1468   margin-bottom: $lineheight/2;
1469   display: inline;
1470   margin-right: $lineheight;
1471 }
1472
1473 .activity-block {
1474   clear: left;
1475   border-bottom: 1px solid #ccc;
1476   padding-bottom: $lineheight;
1477   float: left;
1478   h3 {
1479     margin-bottom: $lineheight/2;
1480   }
1481 }
1482
1483 .contact-activity {
1484   margin-top: $lineheight;
1485   width: 100%;
1486 }
1487
1488 .activity-details p {
1489   margin-left: 70px;
1490   margin-bottom: 0;
1491 }
1492
1493 #friends-container .contact-activity ul {
1494   margin-left: 70px;
1495 }
1496
1497 .user-view {
1498   // Silly exception; remove when user page is redesigned.
1499   .content-inner {
1500     max-width: none;
1501   }
1502   p#no_home_location {
1503     margin: $lineheight;
1504   }
1505   .user_thumbnail {
1506     margin-top: $lineheight/4;
1507     float: left;
1508   }
1509 }
1510
1511 /* Rules for the user map */
1512
1513 .content_map .leaflet-popup-content {
1514   margin: $lineheight/2;
1515   min-height: 50px;
1516 }
1517
1518 /* Rules for user popups on maps */
1519
1520 .user_popup {
1521   min-width: 200px;
1522   p {
1523     padding: 0 0 5px 0;
1524     margin-top: 0 0 0 60px;
1525     font-size: 12px;
1526   }
1527   img.user_thumbnail {
1528     float: left;
1529     margin: 0 $lineheight/2 0 0;
1530   }
1531 }
1532
1533 /* Rules for the user list */
1534
1535 #user_list {
1536   font-size: $lineheight/2;
1537   width: 100%;
1538
1539   tr {
1540     vertical-align: middle;
1541   }
1542
1543   p {
1544     margin-top: 0px;
1545     margin-bottom: 0px;
1546   }
1547 }
1548
1549 #user_list_actions {
1550   float: right;
1551   margin-top: $lineheight/2;
1552 }
1553
1554 /* Rules for the diary list page */
1555
1556 .diary_post {
1557   position: relative;
1558   margin-top: $lineheight/2;
1559   padding-top: $lineheight;
1560   border-top: 1px solid #ccc;
1561
1562   .post_heading {
1563     margin-bottom: $lineheight;
1564
1565     h2 {
1566       margin-top: 0;
1567       margin-bottom: $lineheight/2;
1568       font-size: 24px;
1569     }
1570   }
1571
1572   img.user_thumbnail {
1573     float: left;
1574   }
1575
1576   small.deemphasize {
1577     float: left;
1578     display: block;
1579   }
1580
1581   ul.secondary-actions {
1582     display: inline-block;
1583   }
1584 }
1585
1586 .content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
1587   display: inline;
1588 }
1589
1590 /* Rules for the diary entry page */
1591
1592 .diary_entry {
1593   #map {
1594     position: relative;
1595     width: 90%;
1596     height: 400px;
1597     border: 1px solid #ccc;
1598     display: none;
1599     margin-bottom: $lineheight;
1600   }
1601   #newcomment {
1602     border-top: 1px solid #ccc;
1603     padding-top: $lineheight;
1604     margin-top: $lineheight/2;
1605   }
1606   .comments {
1607     max-width: 740px;
1608   }
1609   .diary-comment {
1610     margin-top: $lineheight/2;
1611     border-top: 1px dashed #ccc;
1612     padding-top: $lineheight/2;
1613     &:first-child {
1614       margin-top: $lineheight;
1615       padding-top: $lineheight;
1616       border-top: 1px solid #ccc;
1617     }
1618     p {
1619       margin-bottom: $lineheight/2;
1620     }
1621     .comment-heading {
1622       margin-bottom: 0;
1623       margin-top: 0;
1624     }
1625   }
1626 }
1627
1628 .diary_entry-view img.user_thumbnail {
1629   float: left;
1630 }
1631
1632 /* Rules for the log in page */
1633
1634 #login_auth_buttons {
1635   margin-bottom: 0;
1636 }
1637
1638 #login_auth_buttons li {
1639   float: left;
1640   padding: $lineheight/4 $lineheight/2;
1641 }
1642
1643 /* Rules for the account confirmation page */
1644
1645 .user-terms {
1646   .legale {
1647     border: 1px solid #ccc;
1648     padding: $lineheight;
1649     margin-bottom: $lineheight;
1650     overflow: auto;
1651     height: 20em;
1652   }
1653
1654   #decline {
1655     background: $lightblue;
1656     &:hover {
1657       background: darken($lightblue, $hovercolor);
1658     }
1659   }
1660 }
1661
1662 /* Rules for the account settings page */
1663
1664 #accountForm .user_map {
1665   position: relative;
1666   width: 500px;
1667   height: 400px;
1668   border: 1px solid #ccc;
1669 }
1670
1671 #accountForm .user_image {
1672   margin-bottom: 0;
1673 }
1674
1675 #accountForm #user_image {
1676   margin-left: 20px;
1677 }
1678
1679 #accountForm ul.accountImage-options {
1680   margin-left: 120px;
1681 }
1682
1683 .nohome .location {
1684   display: none;
1685 }
1686
1687 #homerow .message {
1688   display: none;
1689 }
1690
1691 .nohome .message {
1692   display: inline !important;
1693 }
1694
1695 .content_map.settings_map {
1696   width: 50%;
1697   float: none;
1698 }
1699
1700 /* Rules for the oauth settings page */
1701
1702 .oauth_clients .buttons .oauth-edit {
1703   border-radius: 2px 0 0 2px;
1704 }
1705
1706 .oauth_clients .buttons .oauth-delete {
1707   border-radius: 0 2px 2px 0;
1708 }
1709
1710 /* Rules for messages pages */
1711
1712 .messages {
1713   width: 100%;
1714   border: 1px solid #ddd;
1715
1716   input[type="submit"] {
1717     margin: auto;
1718   }
1719   tbody tr {
1720     border-top: 1px solid #ccc;
1721   }
1722
1723   .inbox-row {
1724     background: #f8f8ff;
1725   }
1726
1727   .inbox-row-unread {
1728     background:#CBEEA7;
1729   }
1730
1731   .right {
1732     float: right;
1733   }
1734
1735   tr td,
1736   tr th {
1737     padding: $lineheight/4;
1738   }
1739   p:last-child,
1740   h2:last-child,
1741   h3:last-child,
1742   ol:last-child,
1743   ul:last-child {
1744     margin-bottom:0;
1745   }
1746   tr td {
1747     height: 30px;
1748     border-right: 1px solid $lightgrey;
1749   }
1750 }
1751
1752 .inbox-row .inbox-mark-read {
1753   display: none;
1754 }
1755
1756 .info-line {
1757   margin-bottom: $lineheight;
1758   padding: $lineheight/4 0px 4px 0px;
1759   border-bottom: 1px solid #ccc;
1760
1761   form, form div {
1762     display: inline;
1763   }
1764 }
1765
1766 .info-line .user_thumbnail_tiny {
1767   vertical-align: middle;
1768 }
1769
1770 .inbox-sent {
1771   white-space: nowrap;
1772 }
1773
1774 .inbox-mark-unread,
1775 .inbox-mark-read,
1776 .inbox-delete {
1777   width: 1%;
1778 }
1779
1780 .inbox-row-unread .inbox-mark-unread {
1781   display: none;
1782 }
1783
1784 .message-read .message-buttons {
1785   margin-top: $lineheight;
1786   margin-bottom: $lineheight * 1.5;
1787   padding-top: $lineheight;
1788   border-top: 1px solid $lightgrey;
1789 }
1790
1791 .message-read .buttons .mark-unread-button {
1792   border-radius: 0;
1793 }
1794
1795 /* Rules for "flash" notice boxes shown at the top of the content area */
1796
1797 .flash {
1798   padding: $lineheight;
1799
1800   &.error {
1801     background-color: #ff7070;
1802   }
1803
1804   &.warning {
1805     background-color: #ffe0cc;
1806   }
1807
1808   &.notice {
1809     background-color: #CBEEA7;
1810   }
1811
1812   div.message {
1813     display: inline-block;
1814     margin-left: $lineheight / 2;
1815     vertical-align: middle;
1816   }
1817 }
1818
1819 /* Rules for highlighting fields with rails validation errors */
1820
1821 .formError {
1822   display: inline-block;
1823   padding: 5px 10px;
1824   margin-top: 5px;
1825   border-radius: 4px;
1826   font-size: 12px;
1827   color: #fff;
1828   background-color: #ff7070;
1829 }
1830
1831 /* Rules for rails validation error boxes */
1832
1833 #errorExplanation {
1834   width: 400px;
1835   border: 2px solid #ff7070;
1836   padding: 0 $lineheight/2;
1837   margin-bottom: $lineheight;
1838   background-color: #f0f0f0;
1839
1840   h2 {
1841     margin: 0 -10px 10px -10px;
1842     padding: $lineheight/4 $lineheight/4 $lineheight/4 15px;
1843     font-weight: bold;
1844     font-size: 12px;
1845     background-color: #c00;
1846     color: #fff;
1847     text-align: left;
1848   }
1849
1850   p {
1851     color: #333;
1852     margin-bottom: 0px;
1853     padding: $lineheight/4;
1854   }
1855
1856   ul {
1857     padding-left: $lineheight;
1858
1859     li {
1860       font-size: 12px;
1861       list-style: disc;
1862     }
1863   }
1864 }
1865
1866 /* Rules for forms */
1867
1868 .standard-form {
1869   fieldset {
1870     margin-bottom: $lineheight;
1871   }
1872   label.standard-label {
1873     display: block;
1874     margin-bottom: $lineheight/4;
1875     font-size: $typeheight;
1876     font-weight: bold;
1877     line-height: 1.5;
1878   }
1879   label.standard-label.secondary {
1880     display: inline-block;
1881     font-weight: normal;
1882   }
1883   .form-help {
1884     font-weight: normal;
1885   }
1886   .form-column {
1887     float: left;
1888     margin-right: 20px;
1889   }
1890   .form-divider {
1891     margin-top: $lineheight;
1892     padding-top: $lineheight;
1893     border-top: 1px solid $lightgrey;
1894   }
1895   .horizontal-list .form-row { 
1896     float: left;
1897     padding-right: 10px;
1898   }
1899   .form-row {
1900     margin-bottom: $lineheight/2;
1901   }
1902   .form-list {
1903     margin-bottom: 0;
1904   }
1905   .form-list li {
1906     margin-bottom: 5px;
1907    }
1908   input[type="checkbox"],
1909   input[type="radio"] {
1910     float: left;
1911     margin-top: 5px;
1912   }
1913 }
1914
1915 #remember_me_openid {
1916   display: block;
1917 }
1918
1919 select {
1920   padding: 2px;
1921 }
1922
1923 input[type="checkbox"],
1924 input[type="radio"] {
1925     margin-right: 5px;
1926 }
1927
1928 input[type="text"],
1929 input[type="email"],
1930 input[type="url"],
1931 input[type="password"],
1932 textarea {
1933   color: #222;
1934   background-color: #fff;
1935   border: 1px solid #ccc;
1936   padding: 2px 5px;
1937   margin: 0;
1938   width: 200px;
1939
1940   &.field_with_errors {
1941     border: 2px solid #ff7070;
1942   }
1943 }
1944
1945 textarea {
1946   padding: 5px;
1947   width: 100%;
1948 }
1949
1950 /* Rules for user images */
1951
1952 img.user_image {
1953   max-width: 100px;
1954   max-height: 100px;
1955   border: 1px solid #ccc;
1956   margin-bottom: $lineheight;
1957   float: left;
1958   margin-right: $lineheight;
1959 }
1960
1961 img.user_thumbnail {
1962   max-width: 50px;
1963   max-height: 50px;
1964   border: 1px solid #ccc;
1965   margin-right: $lineheight;
1966 }
1967
1968 img.user_thumbnail_tiny {
1969   width: auto;
1970   height: auto;
1971   max-width: 25px;
1972   max-height: 25px;
1973   border: 1px solid #ccc;
1974 }
1975
1976 /* Rules for geo microformats */
1977
1978 abbr.geo {
1979   border-bottom: none;
1980 }
1981
1982 /* Rules for RSS buttons */
1983
1984 .rsssmall {
1985   position: relative;
1986   top: 3px;
1987 }
1988
1989 /* General styles for action lists / subnavs / pager navs */
1990
1991 ul.secondary-actions {
1992   font-style: normal;
1993   margin-bottom: 0;
1994   margin-left: 0;
1995   &.pager {
1996     display: inline-block;
1997     margin-right: 60px;
1998   }
1999   > li {
2000     display: block;
2001     float: left;
2002     list-style: none;
2003     border-left: 1px solid #ccc;
2004     padding-left: $lineheight/2;
2005     margin-right: $lineheight/2;
2006     &:first-child {
2007       border-left: 0;
2008       padding-left: 0;
2009     }
2010     &:last-child {
2011       margin-right: 0px;
2012     }
2013   }
2014 }
2015
2016 div.secondary-actions {
2017   padding: 10px;
2018   text-align: center;
2019 }
2020
2021 /* Utility for managing inner content areas */
2022
2023 .inner22 { padding: $lineheight;}
2024
2025 .inner12 { padding: $lineheight/2 $lineheight;}
2026
2027 .inner11 { padding: $lineheight/2;}
2028
2029 .inner20 { padding: $lineheight 0;}
2030
2031 .inner02 { padding: 0 $lineheight;}
2032
2033 /* Utility for general button styles */
2034
2035 input[type="button"],
2036 input[type="submit"],
2037 input[type="reset"],
2038 a.button {
2039   cursor: pointer;
2040   border: 0;
2041   display: inline-block;
2042   padding: $lineheight/4 $lineheight/2;
2043   min-height: 20px + $lineheight/2;
2044   min-width: 120px;
2045   margin: 0 0 $lineheight/2 0;
2046   color: white;
2047   background: $blue;
2048   text-align: center;
2049   border-radius: 2px;
2050   &:hover {
2051     background: darken($blue, $hovercolor);
2052     text-decoration: none;
2053   }
2054   &.deemphasize {
2055     background: $lightblue;
2056     &:hover {
2057       background: darken($lightblue, $hovercolor);
2058     }
2059   }
2060   &:disabled {
2061     background: $lightgrey;
2062     &:hover {
2063       background: $lightgrey;
2064     }
2065   }
2066   &:last-child {
2067     margin-bottom: 0;
2068   }
2069 }
2070
2071 input[type="button"],
2072 input[type="submit"],
2073 input[type="reset"] {
2074   line-height: normal;
2075 }
2076
2077 a.button {
2078   line-height: 20px;
2079 }
2080
2081 .buttons {
2082   min-width: 200px;
2083   input[type="submit"],
2084   input[type="button"],
2085   input[type="reset"],
2086   .button,
2087   .button_to {
2088     box-sizing: border-box;
2089     float: left;
2090     border-radius: 0;
2091     margin:0;
2092     min-width: 75px;
2093     max-width: 180px;
2094     border-right:1px solid white;
2095     text-overflow: ellipsis;
2096     white-space: nowrap;
2097     overflow: hidden;
2098   }
2099   input:first-child,
2100   .button:first-child,
2101   .button_to:first-child {
2102     border-radius:2px 0 0 2px;
2103   }
2104   input:last-child,
2105   .button:last-child,
2106   .button_to:last-child {
2107     border-radius:0 2px 2px 0;
2108     border-right-width: 0;
2109   }
2110   input:only-child,
2111   .button:only-child,
2112   .button_to:only-child,
2113   *[value="Hide"] + input:last-child,
2114   *[value="Hide"] + .button:last-child,
2115   *[value="Hide"] + .button_to:last-child {
2116     border-radius:2px;
2117     border-right-width: 0;
2118   }
2119     /* if a 3-button set has a hidden middle button */
2120   *[value="Hide"] + input:nth-child(3),
2121   *[value="Hide"] + .button:nth-child(3),
2122   *[value="Hide"] + .button_to:nth-child(3) {
2123     border-radius:0 2px 2px 0;
2124     border-right-width: 0;
2125   }
2126   /* if a 3-button set starts with a hidden button */
2127   *[value="Hide"] + input:nth-child(2):not(:last-child),
2128   *[value="Hide"] + .button:nth-child(2):not(:last-child),
2129   *[value="Hide"] + .button_to:nth-child(2):not(:last-child) {
2130     border-radius:2px 0 0 2px;
2131     border-right-width: 1px;
2132   }
2133 }
2134
2135 /* Rules for doing distinct colour of alternate table rows */
2136
2137 .table0,
2138 .item0 {
2139   background: $offwhite;
2140 }
2141
2142 .table1,
2143 .item1 {
2144   background: #fff;
2145 }
2146
2147 /* Rules for OpenID logo */
2148
2149 .openid_logo {
2150   vertical-align: text-bottom;
2151   border: 0;
2152 }
2153
2154 /* Rules for rich text */
2155
2156 .richtext,
2157 .prose {
2158   h1, h2 {
2159     padding-bottom: $lineheight/2;
2160     border-bottom: 1px dashed #cccccc;
2161     margin-bottom: $lineheight/2;
2162   }
2163
2164   h1 {
2165     font-size: 24px;
2166   }
2167
2168   h2 {
2169     font-size: 18px;
2170   }
2171
2172   h3 {
2173     font-size: $typeheight;
2174   }
2175
2176   code {
2177     font-size: 13px;
2178     background: #e8e8e8;
2179     padding: 2px 3px;
2180   }
2181
2182   pre {
2183     font-size: 13px;
2184     background: #e8e8e8;
2185     padding: 2px 3px;
2186
2187     code {
2188       padding: 0;
2189     }
2190   }
2191
2192   img {
2193     padding: $lineheight;
2194     background-color: $offwhite;
2195     display: block;
2196     max-width: 100%;
2197     margin: auto;
2198   }
2199
2200   blockquote {
2201     border-left: $lineheight solid $offwhite;
2202     padding-left: $lineheight;
2203     margin: 0;
2204     color: #7E7E7E;
2205   }
2206
2207   ul, ol {
2208     padding-left: $lineheight;
2209     margin-bottom: $lineheight;
2210     margin-left: $lineheight;
2211   }
2212
2213   ul li {
2214     list-style: disc;
2215   }
2216
2217   ol li {
2218     list-style: decimal;
2219   }
2220 }
2221
2222 .diary_post .richtext {
2223     margin-top: $lineheight;
2224   }
2225
2226 .comments .richtext {
2227   margin-left: 70px;
2228   margin-top: 0;
2229 }
2230
2231 /* Rules for rich text editors */
2232
2233 input.richtext_title[type="text"] {
2234   width: 50%;
2235   width: calc(100% - 235px);
2236
2237   @media only screen and (max-width:768px) {
2238     width: 100%;
2239   }
2240 }
2241
2242 .richtext_container {
2243   margin-bottom: $lineheight;
2244
2245   .richtext_content {
2246     width: 50%;
2247     width: calc(100% - 235px);
2248     display: inline-block;
2249     vertical-align: top;
2250
2251     @media only screen and (max-width:768px) {
2252       width: 100%;
2253     }
2254
2255     .richtext_preview {
2256       display: inline-block;
2257       padding: $lineheight;
2258       background-color: $offwhite;
2259       overflow-x: auto;
2260
2261       &.loading {
2262         background-image: image-url("loading.gif");
2263         background-repeat: no-repeat;
2264         background-position: center;
2265       }
2266
2267       > :first-child {
2268         margin-top: 0px;
2269       }
2270     }
2271   }
2272
2273   .richtext_help {
2274     display: inline-block;
2275     vertical-align: top;
2276     margin-left: 15px;
2277     background-color: #f8f8ff;
2278     padding: $lineheight/2;
2279     width: 220px;
2280
2281     ul {
2282       margin-bottom: 0;
2283     }
2284
2285     h4.heading, li {
2286       border-bottom: 1px solid #ccc;
2287       margin-bottom: $lineheight/4;
2288       padding-bottom: $lineheight/4;
2289     }
2290
2291     li h4, li span, li p {
2292       display: inline-block;
2293       vertical-align: top;
2294       font-size: 11px;
2295     }
2296
2297     li h4 {
2298       width: 40%;
2299       margin: 0;
2300     }
2301
2302     li span, li p {
2303       width: 50%;
2304       margin-left: $lineheight/2;
2305       margin-bottom: $lineheight/4;
2306       white-space: nowrap;
2307     }
2308   }
2309 }
2310
2311 /* Rules for the user notes list */
2312
2313 .note_list {
2314   tr.creator {
2315     background-color: #eeeeee;
2316   }
2317
2318   td {
2319     padding: 3px;
2320   }
2321
2322   p {
2323     margin-bottom: 0px;
2324   }
2325 }
2326
2327 /* Rules for the iD editor */
2328
2329 .id-embed {
2330   width: 100%;
2331   height: 100%;
2332 }
2333
2334 /* Rules for dropdown menus */
2335
2336 .dropdown {
2337   position: relative;
2338 }
2339
2340 .dropdown-toggle {
2341   *margin-bottom: -3px;
2342 }
2343
2344 .dropdown-toggle:active,
2345 .open .dropdown-toggle {
2346   outline: 0;
2347 }
2348
2349 .caret {
2350   display: inline-block;
2351   width: 0;
2352   height: 0;
2353   vertical-align: top;
2354   border-top: 4px solid #000000;
2355   border-right: 4px solid transparent;
2356   border-left: 4px solid transparent;
2357   content: "";
2358 }
2359
2360 .dropdown .caret {
2361   margin-top: 8px;
2362   margin-left: 2px;
2363 }
2364
2365 .dropdown-menu {
2366   position: absolute;
2367   top: 100%;
2368   left: -1px;
2369   z-index: 1000;
2370   display: none;
2371   float: left;
2372   min-width: 160px;
2373   padding: 5px 0;
2374   margin: 0;
2375   list-style: none;
2376   background-color: #ffffff;
2377   border: 1px solid #ccc;
2378   border-radius: 0 3px 3px;
2379   *border-right-width: 2px;
2380   *border-bottom-width: 2px;
2381   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2382   background-clip: padding-box;
2383 }
2384
2385 .dropdown-menu.pull-right {
2386   right: 0;
2387   left: auto;
2388 }
2389
2390 .dropdown-menu .divider {
2391   *width: 100%;
2392   height: 1px;
2393   margin: 9px 1px;
2394   *margin: -5px 0 5px;
2395   overflow: hidden;
2396   background-color: #e5e5e5;
2397   border-bottom: 1px solid #ffffff;
2398 }
2399
2400 .dropdown-menu > li > a {
2401   display: block;
2402   padding: 3px 10px;
2403   clear: both;
2404   font-weight: normal;
2405   line-height: 20px;
2406   color: #333333;
2407   white-space: nowrap;
2408 }
2409
2410 .dropdown-menu > li > a:hover,
2411 .dropdown-menu > li > a:focus,
2412 .dropdown-submenu:hover > a,
2413 .dropdown-submenu:focus > a {
2414   color: #ffffff;
2415   text-decoration: none;
2416   background-color: $green;
2417 }
2418
2419 .dropdown-menu > .active > a,
2420 .dropdown-menu > .active > a:hover,
2421 .dropdown-menu > .active > a:focus {
2422   color: #ffffff;
2423   text-decoration: none;
2424   background-color: $green;
2425   outline: 0;
2426 }
2427
2428 .dropdown-menu > .disabled > a,
2429 .dropdown-menu > .disabled > a:hover,
2430 .dropdown-menu > .disabled > a:focus {
2431   color: #999999;
2432 }
2433
2434 .dropdown-menu > .disabled > a:hover,
2435 .dropdown-menu > .disabled > a:focus {
2436   text-decoration: none;
2437   cursor: default;
2438   background-color: transparent;
2439   background-image: none;
2440 }
2441
2442 .open {
2443   *z-index: 1000;
2444 }
2445
2446 .open > .dropdown-menu {
2447   display: block;
2448 }
2449
2450 .dropdown-backdrop {
2451   position: fixed;
2452   top: 0;
2453   right: 0;
2454   bottom: 0;
2455   left: 0;
2456   z-index: 990;
2457 }
2458
2459 /* Rules for the "Welcome" page */
2460 .site-welcome, .site-fixthemap {
2461   .center {
2462     text-align: center;
2463     .sprite { 
2464       float: none;
2465       margin: auto;
2466     }
2467   }
2468
2469   .sprite {
2470     background-image: image-url("welcome-sprite.png");
2471     background-size: 500px 250px;
2472     display: block;
2473     float: left;
2474   }
2475
2476   .icon-list { 
2477     padding-bottom: 20px;
2478     div {
2479       margin-bottom: 10px;
2480       p {
2481         padding-top: 10px;
2482       }
2483     }
2484   }
2485   .sprite.small {
2486     width: 50px;
2487     height: 50px;
2488   }
2489
2490   .sprite.x {
2491     background-position: -50px 0;
2492   }
2493
2494   .sprite.term {
2495     margin-right: 10px;
2496     vertical-align: middle;
2497   }
2498
2499   .sprite.node {
2500     background-position: -100px 0;
2501   }
2502
2503   .sprite.way {
2504     background-position: -150px 0;
2505   }
2506
2507   .sprite.tag {
2508     background-position: -200px 0;
2509   }
2510
2511   .sprite.editor {
2512     background-position: -250px 0;
2513   }
2514
2515   .sprite.question {
2516     background-position: -300px 0;
2517   }
2518
2519   .sprite.rules {
2520     background-position: -350px 0;
2521   }
2522
2523   .start-mapping {
2524     margin: auto;
2525     cursor: pointer;
2526     border: none;
2527     padding: 20px 40px;
2528     font-size: 30px;
2529     text-decoration: none;
2530   }
2531
2532   .note-box {
2533     margin-top: 20px;
2534     background-color: $offwhite;
2535   }
2536
2537   .icon.note {
2538     background-color: #333;
2539     border-radius: 4px;
2540   }
2541 }
2542
2543 .site-about #content {
2544   //background-color: #000;
2545   background-color: #eee;
2546   background-position: 50% 50%;
2547   background-repeat: no-repeat;
2548   background-size: cover;
2549   background-attachment: fixed;
2550
2551   .caption {
2552     max-width: 200px;
2553     font: 13px/20px Helvetica, Arial, sans-serif;
2554     position: fixed;
2555     text-align: right;
2556     right: 20px;
2557     bottom: 60px;
2558     text-shadow: #000 0px 1px 5px;
2559     color: #eee;
2560     opacity: 0.8;
2561     display: none;
2562   }
2563
2564   .caption a {
2565     color: white;
2566     white-space: nowrap;
2567     text-decoration: none;
2568   }
2569
2570   a.next {
2571     display: block;
2572     position: fixed;
2573     right: 10px;
2574     bottom: 10px;
2575     width: 40px;
2576     height: 40px;
2577     border-radius: 5px;
2578     text-indent: -9999px;
2579     overflow: hidden;
2580     background: image-url('about/sprite.png') -120px 0px no-repeat;
2581     background-color: #000;
2582     background-color: rgba(0, 0, 0, 0.5);
2583   }
2584
2585   .content-inner {
2586     position: relative;
2587     color: #333;
2588     min-width: 320px;
2589     max-width: 640px;
2590
2591     .section {
2592       margin-bottom: 30px;
2593     }
2594
2595     .section:last-child {
2596       margin-bottom: 0;
2597     }
2598   }
2599
2600   .text {
2601     background: white;
2602     padding: 40px;
2603   }
2604
2605   .attr {
2606     position: relative;
2607     padding: 170px 40px 20px;
2608     background: #333;
2609     background: rgba(0, 0, 0, .8);
2610     margin-bottom: 0;
2611     margin-top: -20px;
2612
2613     h1 {
2614       display: block;
2615       color: white;
2616       font-weight: 300;
2617       font-size: 34px;
2618       span {
2619         color: #76c551;
2620       }
2621     }
2622
2623     .user-image {
2624       position: absolute;
2625       top: 0px;
2626       right: 240px;
2627       left: 0px;
2628       height: 150px;
2629       background-position: 0 50%;
2630       background-repeat: no-repeat;
2631       background-image: image-url('about/osm.png');
2632       background-size: cover;
2633       background-color: #76c551;
2634     }
2635
2636     .byosm {
2637       position: absolute;
2638       top: 0px;
2639       right: 0px;
2640       z-index: 1;
2641       width: 240px;
2642       height: 150px;
2643       padding: 20px 20px 20px 40px;
2644       font: 500 20px/24px Helvetica, Arial, sans-serif;
2645       white-space: nowrap;
2646       color: #fff;
2647       background: #76c551;
2648     }
2649
2650     .byosm span {
2651       display: inline-block;
2652       width: 20px;
2653       margin-left: -20px;
2654     }
2655   }
2656
2657   h2 {
2658     margin-bottom: 10px;
2659   }
2660
2661   .icon {
2662     width: 30px;
2663     height: 30px;
2664     margin-right: 10px;
2665     vertical-align: middle;
2666     background: 40px 40px image-url('about/sprite.png') no-repeat;
2667
2668     &.local        { background-position: 0px    0px; }
2669     &.community    { background-position: 0px  -40px; }
2670     &.open         { background-position: 0px  -80px; }
2671     &.partners     { background-position: 0px -120px; }
2672     &.infringement { background-position: 0px -160px; }
2673     &.legal        { background-position: -45px -160px; }
2674   }
2675 }
2676
2677 #sidebar #donate {
2678   background-color: rgb(89, 89, 89);
2679   padding: 10px 5px;
2680   min-height: 120px;
2681
2682   .sprite {
2683     background: transparent image-url('donate-sprite@2x.png') no-repeat scroll 0 0 / 120px 100px;
2684   }
2685
2686   .sprite.logo {
2687     float: left;
2688     background-position: 0 0;
2689     height: 100px;
2690     width: 100px;
2691   }
2692
2693   h2 {
2694     margin-left: 100px;
2695     padding: 7px 10px 6px 10px;
2696   }
2697
2698   p {
2699     margin-left: 100px;
2700     padding: 2px 10px 3px 10px;
2701   }
2702
2703   a {
2704     color: $offwhite;
2705   }
2706
2707   :hover {
2708     text-decoration: none;
2709     color: #b7b7bf;
2710   }
2711 }
2712
2713 @import 'browse';
2714
2715 @media only screen and (max-width:960px) {
2716   .header-illustration.new-user-arm {
2717     display: none;
2718   }
2719 }
2720