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