12 /* Styles common to large and small screens */
14 /* Minimal CSS reset */
16 html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p, input {
23 fieldset,img { border: 0; }
25 legend { color: #000; }
27 sup { vertical-align: text-top; }
29 sub { vertical-align: text-bottom; }
32 border-collapse: collapse;
36 li { list-style: none; }
41 body { font: #{$typeheight}/#{$lineheight} "Helvetica Neue",Arial,sans-serif; }
44 border-bottom: .1em dotted;
48 /* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */
60 /* Default rules for the body of every page */
63 -moz-box-sizing: border-box;
64 -webkit-box-sizing: border-box;
65 box-sizing: border-box;
69 font-family: 'Helvetica Neue',Arial,sans-serif;
70 font-size: $typeheight;
73 background-color: #fff;
80 background-color: #f0f0f0;
84 margin-top: $lineheight/2;
85 margin-bottom: $lineheight;
100 margin-top: $lineheight/2;
101 margin-bottom: $lineheight;
105 font-size: $typeheight;
106 margin-top: $lineheight/2;
107 margin-bottom: $lineheight/2;
113 margin-bottom: $lineheight;
136 margin: 0 0 $lineheight/2 0;
140 vertical-align: middle;
141 margin-right: $lineheight/4;
144 /* Rules for icons */
147 display:inline-block;
151 background:transparent image-url("sprite.png") no-repeat 0 0;
160 .icon.search { background-position: 0 0; }
161 .icon.donate { background-position: -20px 0; }
162 .icon.zoomin { background-position: -40px 0; }
163 .icon.zoomout { background-position: -60px 0; }
164 .icon.geolocate { background-position: -80px 0; }
165 .active .icon.geolocate { background-position: -80px -20px; }
166 .icon.layers { background-position: -100px 0; }
167 .icon.key { background-position: -120px 0; }
168 .icon.share { background-position: -140px 0; }
169 .icon.clipboard { background-position: -160px 0; }
170 .icon.link { background-position: -180px 0; }
171 .icon.close { background-position: -200px 0; }
172 .icon.check { background-position: -220px 0; }
173 .icon.note { background-position: -240px 0; }
175 /* Rules for links */
179 text-decoration: none;
181 text-decoration: underline;
185 /* Rules for horizontal lines */
189 background-color: #ccc;
194 /* General styles for tables */
198 margin-bottom: $lineheight;
201 padding: $lineheight/4;
202 line-height: $lineheight;
209 vertical-align: middle;
213 /* Rules for the whole left sidebar, including the logo */
222 border-right: 1px solid #ccc;
225 /* Rules for the OpenStreetMap logo in the top left corner */
231 padding: $lineheight $lineheight/4;
244 font-size: $lineheight/2;
249 /* Rules for the site name */
255 /* Rules for the introductory text displayed in the left sidebar to new users */
258 padding: $lineheight/4 $lineheight/2;
260 margin: $lineheight/4 0;
263 .sidebar-copy.intro {
264 border-top: 1px solid #ccc;
268 * Rules for alert boxes shown in the left sidebar when important
269 * information needs to be conveyed such as when the site is
270 * undergoing maintenance.
274 padding: $lineheight/4;
275 border-top: 1px solid #ccc;
282 margin: $lineheight/4;
287 * Rules for notice boxes shown in the left sidebar when important, but
288 * non-critical information needs to be conveyed such as notices about
293 padding: $lineheight/4;
294 border-top: 1px solid #ccc;
300 margin: $lineheight/4;
304 /* Rules for the menu displayed in the left sidebar */
309 padding: $lineheight/4 $lineheight/2;
312 list-style-type: none;
313 border-bottom: 1px solid #ccc;
314 border-top: 1px solid #ccc;
316 margin: $lineheight/2 0px;
325 list-style-type: none;
331 padding: $lineheight/4 0 $lineheight/4 0;
341 /* Rules for SOTM advert */
345 margin: $lineheight/2;
355 * Rules for "optional boxes" which appear in the left sidebar on
356 * certain pages. Current users are the seach box on the main page
357 * and the tag cloud on the traces pages.
362 padding: $lineheight/4 $lineheight/2;
363 margin: $lineheight/4 0;
367 /* Rules for the search box */
379 font-size: $typeheight;
382 padding: 2px 0px 2px $lineheight/4;
383 box-shadow: inset #DDD 0px 1px 3px;
386 input[type="text"]:focus {
388 border: 1px solid #000;
391 input[type="submit"] {
398 text-indent: -1000px;
400 background: image-url("sprite.png") 0 0 no-repeat;
403 right: $lineheight/4;
409 margin: $lineheight/4 0 0 0;
412 /* Utility for de-emphasizing content */
421 /* Rules for donation request box */
426 padding: $lineheight/4;
427 border: 1px solid #AED1A0;
429 font-size: $typeheight;
434 margin: $lineheight/2 $lineheight/2 0px $lineheight/2;
438 text-decoration: none;
442 /* Rules for Creative Commons logo button */
445 margin: $lineheight/2 0;
449 /* Rules for tabbed navigation bar */
455 border-bottom: 1px solid #ccc;
461 .site-index #top-bar,
462 .site-export #top-bar {
475 a, a:link, a:visited {
478 padding: 3px $lineheight/2;
479 text-decoration: none;
483 -webkit-transition: color 200ms ease-in;
484 -moz-transition: color 200ms ease-in;
485 -o-transition: color 200ms ease-in;
486 transition: color 200ms ease-in;
490 .site-index #tabnav a#viewanchor,
491 .site-edit #tabnav a#editanchor,
492 .changeset-list #tabnav a#historyanchor,
493 .site-export #tabnav a#exportanchor {
494 border-bottom: 1px solid #aaa;
499 #tabnav a:link:hover, #tabnav a:visited:hover {
500 text-decoration: underline;
503 #tabnav a:link.disabled,
504 #tabnav a:visited.disabled,
505 #tabnav a:link:hover.disabled,
506 #tabnav a:visited:hover.disabled {
510 text-decoration: none;
514 /* Utility for styling notification numbers */
517 padding: 2px $lineheight/4;
525 /* Rules for greeting bar in the top right corner */
530 margin-right: $lineheight/4;
533 .greeting-bar-unread {
537 /* Rules for the message shown in place of the map when javascript is disabled */
546 /* Rules for Leaflet maps */
548 .leaflet-control .control-button {
552 background-color: white;
553 background-color: rgba(255,255,255,.8);
558 .leaflet-control .zoomin,
559 .control-layers .control-button {
561 border-radius: 4px 4px 0px 0px;
564 .leaflet-control .zoomout,
565 .control-key .control-button {
570 .control-locate .control-button,
571 .control-share .control-button {
572 border-radius: 0px 0px 4px 4px;
575 .leaflet-control .control-button:hover {
576 background-color: white;
579 .leaflet-control .control-button .icon {
595 border-top: 1px solid #868e85;
599 section:first-child {
613 border:1px solid #ddd;
625 background-color: #eee;
630 background-color: #ccc;
646 .leaflet-control-attribution {
650 text-decoration: none;
653 ul.secondary-actions {
655 margin-right: $lineheight/4;
663 .site-index .leaflet-top,
664 .site-export .leaflet-top {
665 top: $lineheight/2 !important;
667 margin-top: 0px !important;
671 .site-index #map .olControlScaleLine,
672 .site-export #map .olControlScaleLine {
673 left: $lineheight/2 !important;
676 .leaflet-popup-scrolled {
677 padding-right: $lineheight;
678 border-bottom: 0px !important;
679 border-top: 0px !important;
682 .leaflet-popup-content-wrapper {
683 border-radius: 4px !important;
684 -webkit-border-radius: 4px !important;
687 /* Rules for edit menu */
690 padding: 0 $lineheight/4;
692 display: inline-block;
694 text-decoration: none !important;
702 background-color: #ffffff;
703 border: 1px solid $keyline;
709 padding: 2px $lineheight/4;
710 border-top: 1px solid #eee;
715 /* Rules for attribution text under the main map shown on printouts */
721 .attribution_license,
722 .attribution_project {
726 .attribution_notice {
730 /* Rules for the popout map sidebar */
739 border-right: 1px solid $keyline;
743 padding: $lineheight/2 $lineheight;
745 background: $offwhite;
746 border-bottom: 1px solid #ccc;
754 border-bottom: 1px solid #ccc;
757 margin-bottom: $lineheight/4;
779 padding: 0 $lineheight $lineheight/2 $lineheight;
780 margin-top: $lineheight/2;
782 border-bottom: 1px solid #ddd;
786 /* Rules for the map key which appears in the popout sidebar */
789 .mapkey-table-key img {
795 padding: 0 $lineheight/4 $lineheight/4 $lineheight/4;
799 /* Rules for search results which appear in the popout sidebar */
802 margin-top: $lineheight/4;
803 margin-bottom: $lineheight/4;
806 .search_results_entry {
815 .search_results_entry .search_searching {
817 margin: $lineheight auto;
822 ul.results-list li { border-bottom: 1px solid #ccc; }
824 .search_results_error {
828 /* Rules for data browser information which appears in the popout sidebar */
832 .browse_show_list.button {
857 /* Rules for export information which appears in the popout sidebar */
863 .export_area_inputs {
864 margin-bottom: $lineheight/2;
872 margin: $lineheight/4;
875 .export_details input[type="text"]#export_html_text {
879 #sidebar #marker_inputs li:last-child {
880 margin-bottom: $lineheight/2;
889 /* Rules for the main content area */
892 padding: $lineheight;
897 .site-index #content,
898 .site-export #content {
901 top: 30px; bottom: 0;
902 left: 184px; right: 0;
903 border-left: 1px solid #ccc;
908 border-left: 1px solid #ccc;
912 .site-edit #content {
929 #slim_container_content {
931 background-color: #FFFFFF;
932 margin: $lineheight/2 auto;
935 -moz-border-radius: 25px;
936 border: 1px solid #e6e6e6;
940 margin: $lineheight/2;
950 margin: 30px $lineheight/2;
953 margin-right: $lineheight/4;
955 vertical-align: middle;
956 margin-bottom: $lineheight/4;
957 margin-right: $lineheight/4;
963 padding: $lineheight;
964 background: $offwhite;
966 margin-bottom: $lineheight/2;
973 margin-top: $lineheight/2;
978 /* Rules for small maps in content areas */
984 border: 1px solid #ccc;
985 margin-bottom: $lineheight;
989 .content_map #small_map {
992 margin-bottom: $lineheight;
995 /* Rules for the home page */
1006 /* Rules for the edit page */
1017 /* Rules for the changeset list shown by the history tab etc */
1022 padding: $lineheight/2 0;
1024 border-top: 1px solid #ccc;
1026 border-bottom: 1px solid #ccc;
1030 background: #FFFFC0;
1034 border-left: 1px solid #ccc;
1035 padding-left: $lineheight/4;
1036 margin-right: $lineheight/4;
1040 #changeset_list_map_wrapper {
1048 #changeset_list_map_wrapper.scrolled {
1052 #changeset_list_map {
1054 bottom: $lineheight;
1058 border: 1px solid #ccc;
1061 #changeset_list_map_wrapper.scrolled #changeset_list_map {
1065 /* Rules for the data browser */
1068 border-top: 1px solid #ccc;
1069 margin-top: $lineheight/2;
1070 padding-top: $lineheight/2;
1075 background-color: #ffe0cc;
1081 margin-bottom: $lineheight/4;
1083 p, ul, .bbox, .geo {
1084 display: inline-block;
1085 vertical-align: top;
1094 display: inline-block;
1095 vertical-align: top;
1103 padding: $lineheight/4 0;
1105 text-overflow: ellipsis;
1116 #browse_map .geolink {
1120 #browse_map .secondary-actions {
1121 margin-bottom: $lineheight/2;
1124 /* Rules for the trace list shown by the traces tab etc */
1127 font-size: $lineheight/2;
1144 .trace_identifiable {
1157 /* Rules for the user profile page */
1162 .userinformation-inner {
1177 .admin-user-info small {
1178 margin-bottom: $lineheight/2;
1180 margin-right: $lineheight;
1185 border-bottom: 1px solid #ccc;
1186 padding-bottom: $lineheight;
1189 margin-bottom: $lineheight/2;
1194 margin-top: $lineheight;
1198 .activity-details p {
1203 #friends-container .contact-activity ul {
1208 p#no_home_location {
1209 margin: $lineheight;
1212 margin-top: $lineheight/4;
1217 /* Rules for the user map */
1219 .content_map .leaflet-popup-content {
1220 margin: $lineheight/2;
1224 /* Rules for user popups on maps */
1230 margin-top: 0 0 0 60px;
1233 img.user_thumbnail {
1235 margin: 0 $lineheight/2 0 0;
1239 /* Rules for the user list */
1242 font-size: $lineheight/2;
1246 vertical-align: middle;
1255 #user_list_actions {
1257 margin-top: $lineheight/2;
1260 /* Rules for the diary list page */
1262 .diary_entry-list img.user_thumbnail {
1269 margin-top: $lineheight/2;
1270 padding-top: $lineheight;
1271 border-top: 1px solid #ccc;
1286 ul.secondary-actions { display: inline-block;}
1289 .content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
1293 #content .post_heading {
1294 margin-bottom: $lineheight;
1297 margin-bottom: $lineheight/2;
1302 /* Rules for the diary entry page */
1309 border: 1px solid #ccc;
1311 margin-bottom: $lineheight;
1314 border-top: 1px solid #ccc;
1315 padding-top: $lineheight;
1316 margin-top: $lineheight/2;
1322 margin-top: $lineheight/2;
1323 border-top: 1px dashed #ccc;
1324 padding-top: $lineheight/2;
1326 margin-top: $lineheight;
1327 padding-top: $lineheight;
1328 border-top: 1px solid #ccc;
1331 margin-bottom: $lineheight/2;
1340 .diary_entry-view img.user_thumbnail {
1344 /* Rules for the login page */
1346 #login_openid_buttons {
1350 #login_openid_buttons li {
1352 padding: $lineheight/4 $lineheight/2;
1355 /* Rules for the account confirmation page */
1359 border: 1px solid #ccc;
1360 padding: $lineheight;
1361 margin-bottom: $lineheight;
1375 margin: $lineheight auto inherit auto;
1380 input[type=submit] {
1386 background: darken($grey, $hovercolor);
1391 margin-bottom: $lineheight;
1393 #contributorGuidance {
1394 background-color: $offwhite;
1396 -moz-border-radius: 4px;
1403 /* Rules for the account settings page */
1405 #accountForm .user_map {
1409 border: 1px solid #ccc;
1412 #accountForm .user_image {
1416 #accountForm #user_image {
1420 #accountForm ul.accountImage-options {
1433 display: inline !important;
1436 .content_map.settings_map {
1441 /* Rules for the oauth settings page */
1443 .oauth_clients .buttons .oauth-edit {
1444 border-radius: 2px 0 0 2px;
1447 .oauth_clients .buttons .oauth-delete {
1448 border-radius: 0 2px 2px 0;
1451 /* Rules for messages pages */
1455 border: 1px solid #ddd;
1457 input[type="submit"] {
1461 border-top: 1px solid #ccc;
1465 background: #f8f8ff;
1478 padding: $lineheight/4;
1489 border-right: 1px solid $keyline;
1493 .inbox-row .inbox-mark-read {
1498 margin-bottom: $lineheight;
1499 padding: $lineheight/4 0px 4px 0px;
1500 border-bottom: 1px solid #ccc;
1507 .info-line .user_thumbnail_tiny {
1508 vertical-align: middle;
1517 .inbox-row-unread .inbox-mark-unread {
1521 .message-read .message-buttons {
1522 margin-top: $lineheight;
1523 padding-top: $lineheight;
1524 border-top: 1px solid $keyline;
1527 .message-read .buttons .mark-unread-button {
1531 /* Rules for "flash" notice boxes shown at the top of the content area */
1534 padding: $lineheight;
1536 background-color: #ff7070;
1539 background-color: #ffe0cc;
1542 background-color: #CBEEA7;
1546 /* Rules for highlighting fields with rails validation errors */
1548 .field_with_errors {
1550 background-color: #ff7070;
1554 /* Rules for rails validation error boxes */
1558 border: 2px solid #ff7070;
1559 padding: 0 $lineheight/2;
1560 margin-bottom: $lineheight;
1561 background-color: #f0f0f0;
1564 margin: 0 -10px 10px -10px;
1565 padding: $lineheight/4 $lineheight/4 $lineheight/4 15px;
1568 background-color: #c00;
1576 padding: $lineheight/4;
1580 padding-left: $lineheight;
1589 /* Rules for forms */
1593 margin-bottom: $lineheight;
1595 label.standard-label {
1597 margin-bottom: $lineheight/4;
1598 font-size: $typeheight;
1602 label.standard-label.secondary {
1603 display: inline-block;
1604 font-weight: normal;
1607 font-weight: normal;
1614 margin-top: $lineheight;
1615 padding-top: $lineheight;
1616 border-top: 1px solid $keyline;
1619 margin-bottom: $lineheight/2;
1627 input[type="checkbox"],
1628 input[type="radio"] {
1634 #remember_me_openid {
1638 input[type="checkbox"],
1639 input[type="radio"] {
1644 input[type="email"],
1646 input[type="password"],
1648 border: 1px solid #ccc;
1657 height: 100% !important;
1660 /* Rules for user images */
1665 border: 1px solid #ccc;
1666 margin-bottom: $lineheight;
1668 margin-right: $lineheight;
1671 img.user_thumbnail {
1674 border: 1px solid #ccc;
1675 margin-right: $lineheight;
1678 img.user_thumbnail_tiny {
1681 border: 1px solid #ccc;
1684 /* Rule for "nowrap" class that can be applied to anything to stop wrapping */
1687 white-space: nowrap;
1690 /* Rules for geo microformats */
1693 border-bottom: none;
1696 /* Rules for RSS buttons */
1703 /* General styles for action lists / subnavs / pager navs */
1705 ul.secondary-actions {
1710 display: inline-block;
1717 border-left: 1px solid #ccc;
1718 padding-left: $lineheight/4;
1719 margin-right: $lineheight/4;
1730 /* Utility for managing inner content areas */
1732 .inner22 { padding: $lineheight;}
1734 .inner12 { padding: $lineheight/2 $lineheight;}
1736 .inner11 { padding: $lineheight/2;}
1738 .inner02 { padding: 0 $lineheight;}
1740 /* Utility for general button styles */
1742 input[type="button"],
1743 input[type="submit"],
1744 input[type="reset"],
1748 display: inline-block;
1750 padding: $lineheight/4 $lineheight/2;
1752 margin: 0 0 $lineheight/2 0;
1757 -moz-border-radius: 2px;
1759 background: darken($blue, $hovercolor);
1760 text-decoration: none;
1763 background: $lightblue;
1765 background: darken($lightblue, $hovercolor);
1769 background: $lightblue;
1778 input[type="submit"],
1779 input[type="button"],
1780 input[type="reset"],
1782 box-sizing: border-box;
1788 border-right:1px solid white;
1791 .button:first-child {
1792 border-radius:2px 0 0 2px;
1795 .button:last-child {
1796 border-radius:0 2px 2px 0;
1797 border-right-width: 0;
1801 *[value="Hide"] + input:last-child,
1802 *[value="Hide"] + .button:last-child {
1804 border-right-width: 0;
1806 /* if a 3-button set has a hidden middle button */
1807 *[value="Hide"] + input:nth-child(3),
1808 *[value="Hide"] + .button:nth-child(3) {
1809 border-radius:0 2px 2px 0;
1810 border-right-width: 0;
1812 /* if a 3-button set starts with a hidden button */
1813 *[value="Hide"] + input:nth-child(2):not(:last-child),
1814 *[value="Hide"] + .button:nth-child(2):not(:last-child) {
1815 border-radius:2px 0 0 2px;
1816 border-right-width: 1px solid white;
1820 /* Rules for doing distinct colour of alternate table rows */
1824 background: $offwhite;
1832 /* Rules for OpenID logo */
1835 vertical-align: text-bottom;
1839 /* Rules for rich text */
1844 padding-bottom: $lineheight/2;
1845 border-bottom: 1px dashed #cccccc;
1846 margin-bottom: $lineheight/2;
1858 font-size: $typeheight;
1863 background: #e8e8e8;
1869 background: #e8e8e8;
1878 padding: $lineheight;
1879 background-color: $offwhite;
1886 border-left: $lineheight solid $offwhite;
1887 padding-left: $lineheight;
1894 padding-left: $lineheight;
1895 margin-bottom: $lineheight;
1896 margin-left: $lineheight;
1904 list-style: decimal;
1908 .diary_post .richtext {
1909 margin-top: $lineheight;
1912 .comments .richtext {
1917 /* Rules for rich text editors */
1919 .richtext_container {
1920 margin-bottom: $lineheight;
1924 display: inline-block;
1925 vertical-align: top;
1928 display: inline-block;
1929 padding: $lineheight;
1930 background-color: $offwhite;
1934 background-image: image-url("loading.gif");
1935 background-repeat: no-repeat;
1936 background-position: center;
1946 display: inline-block;
1947 vertical-align: top;
1949 background-color: #f8f8ff;
1950 padding: $lineheight/2;
1958 border-bottom: 1px solid #ccc;
1959 margin-bottom: $lineheight/4;
1960 padding-bottom: $lineheight/4;
1963 li h4, li span, li p {
1964 display: inline-block;
1965 vertical-align: top;
1976 margin-left: $lineheight/2;
1977 margin-bottom: $lineheight/4;
1978 white-space: nowrap;
1983 /* Rules for the user notes list */
1987 background-color: #eeeeee;
1999 /* Rules for the notes interface */
2001 .leaflet-popup-content .note {
2002 padding-top: $lineheight/2;
2005 .leaflet-popup-content .note {
2007 margin-bottom: $lineheight/2;
2011 margin-top: $lineheight/2;
2017 left: $lineheight/4;
2020 background: image-url("sprite.png") 0 -45px no-repeat;
2025 padding-left: $lineheight;
2028 .permalink:hover span {
2034 background-color: #ffe0cc;
2036 margin-bottom: $lineheight/2;
2055 margin-top: $lineheight/4;
2061 * Rules for the iD editor
2068 /* Rules for rotating sidebar ads */
2074 border-bottom: 1px solid #ccc;