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