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