X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/3fb931f9a86955faa39bec1fa4f2a731cbc74780..f0dccab3419f1b5e87bc51aa9c581fad90b3f0fb:/app/assets/stylesheets/common.css.scss diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index d41dd5481..3fb643f3c 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -1,30 +1,153 @@ +/* Parameters */ +$lineheight: 20px; +$typeheight: 14px; + +$offwhite: #f4f4ff; +$blue: #7092FF; +$grey: #AAA; +$keyline: #CCC; +$hovercolor: 20%; + /* Styles common to large and small screens */ +/* Minimal CSS reset */ + +html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p { + margin: 0; + padding: 0; + border: 0; + font-size:100%; +} + +fieldset,img { border: 0; } + +legend { color: #000; } + +sup { vertical-align: text-top; } + +sub { vertical-align: text-bottom; } + +table { + border-collapse: collapse; + border-spacing: 0; +} + +li { list-style: none; } + +input, +select, +textarea, +body { font: #{$typeheight}/#{$lineheight} "Helvetica Neue",Arial,sans-serif; } + +abbr, acronym { + border-bottom: .1em dotted; + cursor: help; +} + +/* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */ + +.clearfix:before, +.clearfix:after { + content: " "; + display: table; +} + +.clearfix:after { + clear: both; +} + /* Default rules for the body of every page */ +* { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + body { font-family: 'Helvetica Neue',Arial,sans-serif; - font-size: 14px; - line-height: 20px; + font-size: $typeheight; + line-height: 1.6666; color: #222; background-color: #fff; margin: 0px; padding: 0px; + text-align: left; } body.slim { background-color: #f0f0f0; } +h1, h2, h3 { + margin-top: $lineheight/2; + margin-bottom: $lineheight; + font-weight: bold; + line-height: 1.2; +} + +h1, h2 { + font-size: 32px; +} + +#content h2 { + font-size: 21px; +} + +h3 { + font-size: 21px; + margin-top: $lineheight/2; + margin-bottom: $lineheight; +} + +h4,h5,h6 { + font-size: $typeheight; + margin-top: $lineheight/2; + margin-bottom: $lineheight/2; + font-weight: bold; + line-height: 1.5; +} + +p, ul { + margin-bottom: $lineheight; +} + +p > img { + width: auto; + max-width: 100%; +} + +small, aside { + font-size: 12px; +} + +h1:first-child, +h2:first-child, +h3:first-child, +h4:first-child, +h5:first-child, +h6:first-child { + margin-top: 0; +} + +.column-1 { + width: 50%; + margin: 0 0 $lineheight/2 0; +} + +.small_icon { + vertical-align: middle; + margin-right: $lineheight/4; +} + /* Rules for links */ a { color: #00f; text-decoration: none; -} - -a:hover { - text-decoration: underline; + &:hover { + text-decoration: underline; + } } /* Rules for horizontal lines */ @@ -36,49 +159,59 @@ hr { height: 1px; } -/* Default rules for headings */ +/* General styles for tables */ -h2 { - margin: 5px 0; - font-size: 25px; - line-height: 30px; +table { + width: 100%; + margin-bottom: $lineheight; + th, td { + text-align: left; + padding: $lineheight/4; + line-height: $lineheight; + } + th { + font-weight: bold; + vertical-align: top; + } + td { + vertical-align: middle; + } } /* Rules for the whole left sidebar, including the logo */ #left { position: absolute; - top: 0px; + height: 100%; width: 185px; font-size: 11px; - line-height: 12px; + line-height: 1.1; + z-index: 100; + border-right: 1px solid #ccc; } /* Rules for the OpenStreetMap logo in the top left corner */ #logo { + display: block; width: 170px; min-width: 170px; - padding: 5px; + padding: $lineheight $lineheight/4; text-align: center; - margin: 25px 0 5px 0; -} - -#logo img { - border: 0px; + margin: auto; } #logo h1 { font-size: 18px; - line-height: 20px; + line-height: 1; text-align: center; - margin: 0px; + margin: 0; } #logo h2 { - font-size: 10px; + font-size: $lineheight/2; line-height: 15px; - margin: 0px; + margin: 0; } /* Rules for the site name */ @@ -87,22 +220,15 @@ h2 { display: none; } -#small-title img { - border: 0px; -} - /* Rules for the introductory text displayed in the left sidebar to new users */ .sidebar-copy { - padding: 0px 10px; -} - -.sidebar-copy p { - margin: 5px 0; + padding: $lineheight/4 $lineheight/2; + p { + margin: $lineheight/4 0; + } } - .sidebar-copy.intro { - margin-top: -1px; border-top: 1px solid #ccc; } @@ -113,17 +239,15 @@ h2 { */ .sidebar-alert { - padding: 4px 5px 4px 5px; + padding: $lineheight/4; border-top: 1px solid #ccc; margin-top: 4px; - margin-bottom: -4px; + margin-bottom: -5px; background: #e00; - font-size: 13px; + font-size: 12px; font-weight: bold; - line-height: 17px; - p { - margin: 5px; + margin: $lineheight/4; } } @@ -134,68 +258,65 @@ h2 { */ .sidebar-notice { - padding: 4px 5px 4px 5px; + padding: $lineheight/4; border-top: 1px solid #ccc; margin-top: 4px; - margin-bottom: -4px; + margin-bottom: -5px; background: #ea0; - font-size: 13px; - line-height: 17px; - + font-size: 12px; p { - margin: 5px; + margin: $lineheight/4; } } /* Rules for the menu displayed in the left sidebar */ .left_menu { - padding: 5px 10px; - margin: 4px 0; + left: 0px; + margin: 0; + padding: $lineheight/4 $lineheight/2; + font-size: 12px; + line-height: 1.25; + list-style-type: none; + border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; - line-height: 20px; - font-size: 14px; - font-weight: bold; -} - -.left_menu h1 { - font-style: normal; - font-size: 15px; -} + img { + margin: $lineheight/2 0px; + } -.left_menu ul { - margin: 0px; - list-style-type: none; -} + ul { + padding: 0; + margin: 0; + } -.left_menu li { - margin: 0px; - padding: 0px; -} + li { + list-style-type: none; + padding: 0; + margin: 0; + } -/* submenus */ -.left_menu ul li ul { - font-weight: normal; - line-height: 15px; - font-size: 12px; -} + h4 { + padding: $lineheight/4 0 $lineheight/4 0; + font-size: 12px; + margin: 0; + } -.left_menu a { - color: #000; + li:last-child h4 { + padding-top: 0; + } } /* Rules for SOTM advert */ #sotm { width: 165px; - margin: 10px; + margin: $lineheight/2; padding: 0px; border: 0px; background: #fff; -} - -#sotm img { - width: 165px; + img { + width: 165px; + } } /* @@ -205,148 +326,151 @@ h2 { */ .optionalbox { - padding: 5px 10px; - margin: 4px 0; -} - -.optionalbox h1 { - font-size: 14px; - font-weight: bold; - line-height: 20px; - margin: 0px; - vertical-align: bottom; + left: 0px; + padding: $lineheight/4 $lineheight/2; + margin: $lineheight/4 0; + text-align: left; } /* Rules for the search box */ -.whereami { -} - -#search_field form { - width: 100%; - margin: 0px; - padding: 0px; -} - #search_field { - position:relative; -} + position: relative; -#search_field input[type="text"] { - width: 165px; - padding: 5px; - font-size: 14px; - line-height: 15px; - height: 25px; - box-shadow: inset #DDD 0px 1px 3px; - box-sizing: border-box; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; -} + form { + width: 165px; + } -#search_field input[type="text"]:focus { - outline: none; - border: 1px solid #000; -} + input[type="text"] { + width: 165px; + padding: 3px; + font-size: $typeheight; + line-height: 1.1; + height: 25px; + padding: 2px 0px 2px $lineheight/4; + box-shadow: inset #DDD 0px 1px 3px; + } -#search_field input[type="submit"] { - width: 15px; - height: 15px; - border:0; - text-indent:-1000px; - padding-left: 0px; - padding-right: 0px; - background: url(sprite.png); - position:absolute; - right:2px; - top:5px; - cursor:pointer; + input[type="text"]:focus { + outline: none; + border: 1px solid #000; + } + + input[type="submit"] { + border: 0; + margin: 0; + padding: 0; + width: 15px; + height: 15px; + min-width: 0; + text-indent: -1000px; + overflow: hidden; + background: image-url("sprite.png") 0 0 no-repeat; + position: absolute; + top: $lineheight/4; + right: $lineheight/4; + cursor: pointer; + } } .search_help { - margin:0; + margin: $lineheight/4 0 0 0; } +/* Utility for de-emphasizing content */ + .deemphasize { color: #999; -} - -.deemphasize a { - color: #7092FF; + a { + color: $blue; + } } /* Rules for donation request box */ .donate { - width: 153px; - margin: 10px 10px; - padding: 5px; + display: block; + width: 164px; + padding: $lineheight/4; border: 1px solid #AED1A0; background: #cbeea7; - line-height: 20px; + font-size: $typeheight; + line-height: 1.4; text-align: center; - font-size: 14px; border-radius: 2px; - -moz-border-radius: 2px; -} + color: #222; + margin: $lineheight/2 $lineheight/2 0px $lineheight/2; -.donate a { - color:#222; + &:hover { + background: #9ed485; + text-decoration: none; + } + span { + margin: 0; + padding-left: 18px; + background: image-url("sprite.png") 0 -29px no-repeat; + } } /* Rules for Creative Commons logo button */ #cclogo { - margin-top: 10px; - margin-bottom: 10px; + margin: $lineheight/2 0; + float: right; } /* Rules for tabbed navigation bar */ #top-bar { + position: relative; + margin-left: 185px; + height: 30px; border-bottom: 1px solid #ccc; - height: 29px; -} - -#tabnav { - padding: 0; - margin: 0; - overflow:hidden; + background: white; + z-index: 100; } -#tabnav li { - margin: 0px; - padding: 0px; - display: inline; - list-style-type: none; +.site-edit #top-bar, +.site-index #top-bar, +.site-export #top-bar { + position: fixed; + left: 0; + right: 0; } -#tabnav a, #tabnav a:link, #tabnav a:visited { - background: #fff; - font-size: 14px; - line-height: 19px; - font-weight: bold; - padding: 5px 10px; - text-decoration: none; - color: #333; - -webkit-transition: color 200ms ease-in; - -moz-transition: color 200ms ease-in; - -o-transition: color 200ms ease-in; - transition: color 200ms ease-in; +#tabnav { + height: 30px; + margin-bottom:0; + overflow: hidden; + li { + display: inline; + } + a, a:link, a:visited { + float: left; + font-weight: bold; + padding: 3px $lineheight/2; + text-decoration: none; + color: #333; + float: left; + margin-right: 1px; + -webkit-transition: color 200ms ease-in; + -moz-transition: color 200ms ease-in; + -o-transition: color 200ms ease-in; + transition: color 200ms ease-in; + } } -body.site-index #tabnav a#viewanchor, -body.site-edit #tabnav a#editanchor, -body.changeset-list #tabnav a#historyanchor, -body.site-export #tabnav a#exportanchor { +.site-index #tabnav a#viewanchor, +.site-edit #tabnav a#editanchor, +.changeset-list #tabnav a#historyanchor, +.site-export #tabnav a#exportanchor { border-bottom: 1px solid #aaa; background: #9ed485; color: #000; } #tabnav a:link:hover, #tabnav a:visited:hover { - text-decoration:underline; + text-decoration: underline; } #tabnav a:link.disabled, @@ -355,19 +479,17 @@ body.site-export #tabnav a#exportanchor { #tabnav a:visited:hover.disabled { color: #ccc; cursor: default; + &:hover { + text-decoration: none; + } } -#tabnav a:link.disabled:hover, -#tabnav a:visited.disabled:hover, -#tabnav a:link:hover.disabled:hover, -#tabnav a:visited:hover.disabled:hover { - text-decoration: none; -} +/* Utility for styling notification numbers */ .count-number { - padding: 2px 5px; + padding: 2px $lineheight/4; border-radius: 3px; - background: #eee; + background: #d7d7ff; margin: 0 2px; font-size: 11px; color: #333; @@ -376,10 +498,9 @@ body.site-export #tabnav a#exportanchor { /* Rules for greeting bar in the top right corner */ #greeting { - height: 28px; - margin: 0px; - font-size: 13px; - line-height: 28px; + float: right; + padding-top: 3px; + margin-right: $lineheight/4; } .greeting-bar-unread { @@ -392,51 +513,59 @@ body.site-export #tabnav a#exportanchor { z-index: 20000000; position: absolute; top: 15px; + left: 15px; } -/* Rules for OpenLayers maps */ +/* Rules for Leaflet maps */ -#map { - margin: 0px; - border: 0px; - padding: 0px; +.leaflet-control-attribution { + a.disabled { + color: #99c9dc; + cursor: default; + text-decoration: none; + } + + ul.secondary-actions { + float: left; + margin-right: $lineheight/4; + + &:only-child { + margin-right: 0px; + } + } } -.olControlAttribution { - bottom: 15px !important; - left: 0px !important; - right: 0px !important; - text-align: center; +.site-index .leaflet-top, +.site-export .leaflet-top { + top: $lineheight/2 !important; + .leaflet-control { + margin-top: 0px !important; + } } -#permalink { - z-index: 10000; - position: absolute; - bottom: 0px; - right: 0px; - padding: 5px; - background:#fff; - text-align: right; - font-size: 12px; +.site-index #map .olControlScaleLine, +.site-export #map .olControlScaleLine { + left: $lineheight/2 !important; } -#permalink a { - padding: 5px; +.leaflet-popup-scrolled { + padding-right: $lineheight; + border-bottom: 0px !important; + border-top: 0px !important; } -#permalink a.disabled { - color: #ccc; - cursor: default; - text-decoration: none; +.leaflet-popup-content-wrapper { + border-radius: 4px !important; + -webkit-border-radius: 4px !important; } /* Rules for edit menu */ .menuicon { - padding: 5px; - + padding: 0 $lineheight/4; + font-weight: normal; + display: inline-block; &:hover { - background: #eee; text-decoration: none !important; } } @@ -446,21 +575,16 @@ body.site-export #tabnav a#exportanchor { z-index: 10000; position: absolute; background-color: #ffffff; - border: 1px solid #cccccc; + border: 1px solid $keyline; border-top: 0px; -} - -.menu ul { - margin: 0px; - padding: 0px; -} - -.menu li { - padding: 2px 5px; - margin: 0px; - list-style-type: none; - border-top: 1px solid #eee; - white-space: nowrap; + ul { + margin: 0px; + } + li { + padding: 2px $lineheight/4; + border-top: 1px solid #eee; + white-space: nowrap; + } } /* Rules for attribution text under the main map shown on printouts */ @@ -469,6 +593,11 @@ body.site-export #tabnav a#exportanchor { display: none; } +.attribution_license, +.attribution_project { + text-align: left; +} + .attribution_notice { text-align: center; } @@ -478,153 +607,191 @@ body.site-export #tabnav a#exportanchor { #sidebar { display: none; position: absolute; - margin: 0px; - padding: 0px; - width: 30%; + overflow: auto; top: 0px; bottom: 0px; + left: 0px; + border-right: 1px solid $keyline; + width: 33.3333%; + .sidebar_heading { + position: relative; + padding: $lineheight/2 $lineheight; + z-index: 9999; + background: $offwhite; + border-bottom: 1px solid #ccc; + } + h4 { + margin: 0; + } + ul { + margin-bottom: 0; + &:last-child { + border-bottom: 1px solid #ccc; + } + li { + margin-bottom: $lineheight/4; + &:last-child { + margin-bottom: 0; + } + } + } } -#sidebar #sidebar_content { - overflow: auto; +#sidebar_close { position: absolute; - font-size: 13px; - line-height: 15px; - top: 29px; - bottom: 0px; - left: 0px; - right: 0px; + height: $lineheight; + top: 0px; + bottom: 0; + right: $lineheight; + margin: auto; } -#sidebar .sidebar_title { - margin: 0px; - padding: 3px 6px 4px 6px; - height: 29px; - font-size: 14px; - line-height: 15px; - background: #bbb; +#sidebar_content { + position: relative; + margin-bottom: 20px; + width: 100%; + h4 { + padding: 0 $lineheight $lineheight/2 $lineheight; + margin-top: $lineheight/2; + margin-bottom: 0; + border-bottom: 1px solid #ddd; + } } /* Rules for the map key which appears in the popout sidebar */ -#mapkey h3 { - font-size: 110%; - font-weight: normal; - text-align: center; +#mapkey { + padding: $lineheight $lineheight 0 $lineheight; + .mapkey-table-key img { + display: block; + margin-left: auto; + margin-right: auto; + } + td { + padding: 0 $lineheight/4 $lineheight/4 $lineheight/4; + } } -#mapkey .mapkey-table { - padding-left: 5px; - padding-right: 5px; -} +/* Rules for search results which appear in the popout sidebar */ -#mapkey .mapkey-table-key img { - display: block; - margin-left: auto; - margin-right: auto; +.search_searching { + margin-top: $lineheight/4; + margin-bottom: $lineheight/4; } -#mapkey .mapkey-table-value { - font-size: 90%; -} - -/* Rules for search results which appear in the popout sidebar */ +.search_results_entry { + margin-bottom: 0; -.search_searching { - margin-top: 5px; - margin-bottom: 5px; + .search_details { + display: block; + text-align: right; + } } -.search_results_heading { - margin: 0px; - padding: 2px 5px; - border-bottom: 1px solid #ccc; - font-weight: bold; +.search_results_entry .search_searching { + text-align: center; + margin: $lineheight auto; + width: $lineheight; + display: block; } -.search_results_entry { - margin: 0px; - padding: 2px 5px; -} +ul.results-list li { border-bottom: 1px solid #ccc; } .search_results_error { - margin: 0px; - padding: 2px 6px 0px; color: #f00; } /* Rules for data browser information which appears in the popout sidebar */ -.browse_heading { - margin: 0px; - padding: 3px 6px; - border: 1px solid #ccc; - background: #ddd; +#browse_content { + position: relative; + .browse_show_list.button { + position: absolute; + left: $lineheight; + right: $lineheight; + bottom: -40px; + margin-bottom: 0; + } + a.more-details { + position: absolute; + top: 0; + right: $lineheight; + } + ul li { + margin-bottom: 0; + } } .browse_details { - margin: 0px; - padding: 0px 6px; + position: relative; } -/* Rules for export information which appears in the popout sidebar */ - -.export_heading { - margin: 0px; - padding: 2px 5px; - border-bottom: 1px solid #ccc; - font-weight: bold; +.browse_status { + display: none; } +/* Rules for export information which appears in the popout sidebar */ + .export_bounds { - width: 100%; text-align: center; } -.export_bound { - margin: 5px; +.export_area_inputs { + margin-bottom: $lineheight/2; } -.export_details { - padding: 2px 6px; +.export_bound { + margin: $lineheight/4; } -#export_osm { - display: none; +.export_details input[type="text"]#export_html_text { + width: 100%; } -#export_mapnik { - display: none; +#sidebar #marker_inputs li:last-child { + margin-bottom: $lineheight/2; } +#export_osm, +#export_mapnik, #export_osmarender { display: none; } -.export_hint { - padding: 0px 12px; - font-style: italic; -} - -.export_buttons { - width: 100%; - text-align: center; -} - /* Rules for the main content area */ #content { - padding: 10px; - margin: 0px; - position: absolute; - bottom: 0px; + padding: $lineheight; + position: relative; } -.site-index #content, .site-edit #content, +.site-index #content, .site-export #content { - border: 0px; - padding: 0px; + position: fixed; + padding: 0; + top: 30px; bottom: 0; + left: 184px; right: 0; + border-left: 1px solid #ccc; +} + +.wrapper { + margin-left: 184px; + border-left: 1px solid #ccc; + text-align: left; +} + +.site-edit #content { + top: 30px; +} + +#content.maximised { + top: 0; + left: 0; + right: 0; + bottom: 0; + border: 0; + z-index: 1000; } #slim_container { @@ -634,7 +801,7 @@ body.site-export #tabnav a#exportanchor { #slim_container_content { max-width: 50em; background-color: #FFFFFF; - margin: 10px auto; + margin: $lineheight/2 auto; padding: 3px; border-radius: 25px; -moz-border-radius: 25px; @@ -642,30 +809,64 @@ body.site-export #tabnav a#exportanchor { } #slim_content { - margin: 10px; - margin-top: 90px; + margin: $lineheight/2; + margin-top: 95px; max-width: 50em; + + .content-heading { + margin-bottom: 15px; + } } #slim_header { - margin: 10px; + margin: 30px $lineheight/2; position: absolute; top: 0px; + margin-right: $lineheight/4; + img { + vertical-align: middle; + margin-bottom: $lineheight/4; + margin-right: $lineheight/4; + } } -#slim_header img { - vertical-align: middle; - margin-bottom: 5px; +.content-heading { + position: relative; + padding: $lineheight; + background: $offwhite; + h1, h2 { + margin-bottom: $lineheight/2; + line-height: 100%; + &:last-child { + margin-bottom: 0; + } + } + p { + margin-top: $lineheight/2; + margin-bottom: 0px; + } } -/* Rules for text content pages */ +/* Rules for small maps in content areas */ -.wide-table { +.content_map { + position: relative; + width: 45%; + height: 400px; + border: 1px solid #ccc; + margin-bottom: $lineheight; + float: right; +} + +.content_map #small_map { + height: 100%; width: 100%; + margin-bottom: $lineheight; } /* Rules for the home page */ +.site-export #map, .site-index #map { position: absolute; top: 0px; @@ -674,14 +875,6 @@ body.site-export #tabnav a#exportanchor { right: 0px; } -.site-export #map { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; -} - /* Rules for the edit page */ .site-edit #map { @@ -695,264 +888,405 @@ body.site-export #tabnav a#exportanchor { /* Rules for the changeset list shown by the history tab etc */ -#changeset_list_container { - position: relative; +#changeset_list { + width: 100%; + ul { + padding: $lineheight/2 0; + margin-bottom: 0px; + border-top: 1px solid #ccc; + &:last-child { + border-bottom: 1px solid #ccc; + } + } + .selected { + background: #FFFFC0; + } + .date, + .user { + border-left: 1px solid #ccc; + padding-left: $lineheight/4; + margin-right: $lineheight/4; + } } -#changeset_list { +#changeset_list_map_wrapper { + position: absolute; width: 50%; - font-size: small; - border-collapse: collapse; - border-width: 0px; - margin-top: 1px; - margin-bottom: 1px; + height: 490px; + top: 0; + right: 0; } -#changeset_list td { - vertical-align: top; - padding: 3px; +#changeset_list_map_wrapper.scrolled { + position: fixed; } -#changeset_list .date { - white-space: nowrap; +#changeset_list_map { + position: absolute; + bottom: $lineheight; + top: $lineheight; + right: $lineheight; + left: $lineheight; + border: 1px solid #ccc; } -#changeset_list .user { - white-space: nowrap; +#changeset_list_map_wrapper.scrolled #changeset_list_map { + margin-left: 93px; } -#changeset_list .area { - white-space: nowrap; -} +/* Rules for the data browser */ -#changeset_list .selected { - background-color: rgb(255, 255, 160); - background-color: rgba(255, 255, 85, 0.5); +.browse-section { + border-top: 1px solid #ccc; + margin-top: $lineheight/2; + padding-top: $lineheight/2; + &:first-child { + margin-top: 0; + } + .warning { + background-color: #ffe0cc; + margin: 0px; + padding: 4px 6px; + max-width: 100%; + } + h4, p { + margin-bottom: $lineheight/4; + } + p, ul, .bbox, .geo { + display: inline-block; + vertical-align: top; + max-width: 65%; + } + ul p { + margin-left: 0; + margin-bottom: 0; + } + h4 { + width: 33.3333%; + display: inline-block; + vertical-align: top; + } } -#changeset_list_map { - position: absolute; - top: 0px; - bottom: 0px; - width: 49%; - min-height: 400px; - border: solid 1px black; +.bbox { + div { + width: 33.3333%; + text-align: center; + padding: $lineheight/4 0; + overflow: hidden; + text-overflow: ellipsis; + float: left; + } + .max_lat, + .min_lat { + margin-left: auto; + margin-right: auto; + width: 100%; + } } -/* Rules for the data browser */ - -#browse_navigation { - width: 250px; - text-align: center; +#browse_map .geolink { + display: none; } -table.browse_details th { - white-space: nowrap; +#browse_map .secondary-actions { + margin-bottom: $lineheight/2; } -td.browse_comments { - padding: 0px; -} +/* Rules for the trace list shown by the traces tab etc */ -td.browse_comments table { - border-collapse: collapse; +#trace_list { + font-size: $lineheight/2; + border-width: 0px; + text-align: right; + + .trace_summary { + font-size: 12px; + color: gray; + } + + .trace_pending { + color: red; + } + + .trace_public { + color: green; + } + + .trace_identifiable { + color: green; + } + + .trace_trackable { + color: red; + } + + .trace_private { + color: red; + } } -td.browse_comments table td { - padding-bottom: 10px; +/* Rules for the user profile page */ + +#userinformation { + min-height: 100px; + .userinformation-inner { + float: left; + } + h2 { + margin-top: 0; + } + .user-description { + width: 100%; + clear: both; + } + .deemphasize { + margin: 0; + } } -td.browse_comments table td span.by { - font-size: small; - color: #999999; +.admin-user-info small { + margin-bottom: $lineheight/2; + display: inline; + margin-right: $lineheight; } -#browse_map { - width: 250px; +.activity-block { + clear: left; + border-bottom: 1px solid #ccc; + padding-bottom: $lineheight; + float: left; + h3 { + margin-bottom: $lineheight/2; + } } -#browse_map #small_map { - width: 250px; - height: 300px; - border: solid 1px black; +.contact-activity { + margin-top: $lineheight; + width: 100%; } -#browse_map .geolink { - display: none; +.activity-details p { + margin-left: 72px; + margin-bottom: 0; } -/* Rules for the trace list shown by the traces tab etc */ +#friends-container .contact-activity ul { + margin-left: 72px; + } -#trace_list { - font-size: small; - border-collapse: collapse; - border-width: 0px; +.user-view { + p#no_home_location { + margin: $lineheight; + } + .user_thumbnail { + margin-top: $lineheight/4; + float: left; + } } -#trace_list .trace_summary { - font-size: 12px; - color: gray; -} +/* Rules for the user map */ -#trace_list .trace_pending { - color: red; +.content_map .leaflet-popup-content { + margin: $lineheight/2; + min-height: 50px; } -#trace_list .trace_public { - color: green; -} +/* Rules for user popups on maps */ -#trace_list .trace_identifiable { - color: green; -} +.user_popup { + min-width: 200px; -#trace_list .trace_trackable { - color: red; -} + p { + padding-top: 0; + padding-bottom: 5px; + margin-top: 0; + margin-bottom: 0; + margin-left: 60px; + font-size: 12px; + } -#trace_list .trace_private { - color: red; + img.user_thumbnail { + float: left; + margin: 0 $lineheight/2 0 0; + } } /* Rules for the user list */ #user_list { + font-size: $lineheight/2; width: 100%; - font-size: small; -} -#user_list tr { - vertical-align: middle; -} + tr { + vertical-align: middle; + } -#user_list p { - margin-top: 0px; - margin-bottom: 0px; + p { + margin-top: 0px; + margin-bottom: 0px; + } } #user_list_actions { - margin-top: 10px; + float: right; + margin-top: $lineheight/2; } -/* Rules for the new diary entry page */ +/* Rules for the diary list page */ -.diary_entry div#map { - position: relative; - width: 90%; - height: 400px; - border: 1px solid #ccc; - display: none; +.diary_entry-list img.user_thumbnail { + float: left; } -/* Rules for the login page */ - -#login_wrapper div { - margin: 5px; - padding: 15px; - border-radius: 15px; - -moz-border-radius: 15px; -} +.diary_post { + max-width: 740px; + position: relative; + margin-top: $lineheight/2; + padding-top: $lineheight; + border-top: 1px solid #ccc; -#login_login { - background-color: #f5f5ff; - border: 1px solid #f3f3ff; - border-radius: 15px; - -moz-border-radius: 15px; + &:first-child { + margin-top: 0; + border-top: 0; + padding-top: 0; + } + h1, h2 { + font-size: 21px; + line-height: 1; + } + small.deemphasize { + float: left; + display: block; + } + ul.secondary-actions { display: inline-block;} } -#login_login h1 { - margin-top: 5px; +.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div + display: inline; } -table#login_openid_buttons { - padding-bottom: 10px; +#content .post_heading { + margin-bottom: $lineheight; + h2 { + margin-top: 0; + margin-bottom: $lineheight/2; + font-size: 24px; + } } -#login_openid_buttons td { - padding-left: 10px; - padding-right: 10px; - padding-top: 5px; - padding-bottom: 5px; -} +/* Rules for the diary entry page */ -#login_openid_buttons img { - border: 0; +.diary_entry { + #map { + position: relative; + width: 90%; + height: 400px; + border: 1px solid #ccc; + display: none; + margin-bottom: $lineheight; + } + #newcomment { + border-top: 1px solid #ccc; + padding-top: $lineheight; + margin-top: $lineheight/2; + } + .comments { + max-width: 740px; + } + .diary-comment { + margin-top: $lineheight/2; + border-top: 1px dashed #ccc; + padding-top: $lineheight/2; + &:first-child { + margin-top: $lineheight; + padding-top: $lineheight; + border-top: 1px solid #ccc; + } + p { + margin-bottom: $lineheight/2; + } + .comment-heading { + margin-bottom: 0; + margin-top: 0; + } + } } -#login_signup form.button-to div { - margin: 0px; - padding: 0px; +.diary_entry-view img.user_thumbnail { + float: left; } -/* Rules for the account confirmation page */ - -div#contributorTerms { - border: 1px solid black; - padding: 4px; - overflow: auto; - width: 95%; - height: 400px; -} +/* Rules for the login page */ -div#slim_content div#contributorTerms { - width: auto; +#login_openid_buttons { + margin-bottom: 0; } -div#contributorTerms p#first { - margin-top: 0px; +#login_openid_buttons li { + float: left; + padding: $lineheight/4 $lineheight/2; } -div#contributorTerms p#last { - margin-bottom: 0px; -} +/* Rules for the account confirmation page */ -div#contributorTerms ol { - margin-bottom: 0px; -} +#terms { + .legale { + border: 1px solid #ccc; + padding: $lineheight; + margin-bottom: $lineheight; + overflow: auto; + height: 10em; -div#contributorTerms img { - display: block; - margin-left: auto; - margin-right: auto; - margin-top: 10%; -} + &:p#last { + margin-bottom: 0px; + } -form#termsForm { - width: 95%; - margin-bottom: 3em; -} + &:ol { + margin-bottom: 0px; + } -div#slim_content form#termsForm { - width: auto; -} + &:img { + display: block; + margin: $lineheight auto inherit auto; + } + } -p#contributorGuidance { - background-color: #f5f5ff; - border: 1px solid #f3f3ff; - border-radius: 15px; - -moz-border-radius: 15px; - padding: 10px; + form.sign { + input[type=submit] { + float: left; + } + #decline { + background: $grey; + &:hover { + background: darken($grey, $hovercolor); + } + } + } + fieldset { + margin-bottom: $lineheight; + } + #contributorGuidance { + background-color: $offwhite; + border-radius: 4px; + -moz-border-radius: 4px; + } + .signing-buttons { + height: 50px; + } } /* Rules for the account settings page */ -#accountForm { - margin-top: 20px; -} - -#accountForm td { - padding-bottom: 10px; -} - #accountForm .user_map { position: relative; width: 500px; - height: 400px; + height: 400px; border: 1px solid #ccc; } -#accountImage td { - padding-bottom: 0px; +.accountImage-options p { + margin-bottom: 0px; } .nohome .location { @@ -967,73 +1301,47 @@ p#contributorGuidance { display: inline !important; } -#accountForm input[type=submit] { - margin-top: 15px; -} - -/* Rules for the user view */ - -.user-view .user_map { - position: relative; - width: 400px; - height: 400px; - border: 1px solid #ccc; -} - -.user-view .user_map p#no_home_location { - position: absolute; - top: 0px; - bottom: 0px; - width: 90%; - height: 30%; - margin: auto 5% -} - -/* Rules for the user map */ - -.user_map .olControlSimplePanZoom { - display: none; -} - -.user_map .olControlZoom { - display: block; +.content_map.settings_map { + width: 50%; + float: none; } -/* Rules for user popups on maps */ +/* Rules for message in/out box page */ -.user_popup p { - padding-top: 3px; - padding-bottom: 3px; - margin-top: 0px; - margin-bottom: 0px; - margin-left: 55px; - margin-right: 2px; +.message #content { + max-width: 740px; } -.user_popup img.user_thumbnail { - float: left; -} - -/* Rules for message in/out box page */ - .messages { width: 100%; - border-collapse: collapse; - border-spacing: 0px; - border-width: 0px; -} + border: 1px solid #ddd; -.messages tbody tr { - border-top: 1px solid #ccc; -} + input[type="submit"] { + margin: auto; + } + tbody tr { + border-top: 1px solid #ccc; + } -.messages .inbox-row { - background: #eee; -} + .inbox-row { + background: #f8f8ff; + } + + .inbox-row-unread { + background:#CBEEA7; + } -.messages tr td, -.messages tr th { - padding: 0px 5px; + .right { + float: right; + } + + tr td, + tr th { + padding: $lineheight/4; + } + tr td { + border-right: 1px solid $keyline; + } } .inbox-row .inbox-mark-read { @@ -1041,61 +1349,43 @@ p#contributorGuidance { } .info-line { + margin-bottom: $lineheight; + padding: $lineheight/4 0px 4px 0px; border-bottom: 1px solid #ccc; - padding: 5px 0px 4px 0px; -} -.info-line form, -.info-line form div { - display: inline; + form, form div { + display: inline; + } } .info-line .user_thumbnail_tiny { vertical-align: middle; } -.right { - float: right; -} - .inbox-row-unread .inbox-mark-unread { display: none; } /* Rules for "flash" notice boxes shown at the top of the content area */ -#error { - border: 1px solid red; - padding: 7px; - background-color: #fff0f0; - margin-bottom: 20px; - border-radius: 5px; - -moz-border-radius: 5px; -} - -#warning { - border: 1px solid orange; - padding: 7px; - background-color: #fff6f0; - margin-bottom: 20px; - border-radius: 5px; - -moz-border-radius: 5px; -} - -#notice { - border: 1px solid green; - padding: 7px; - background-color: #f0fff0; - margin-bottom: 20px; - border-radius: 5px; - -moz-border-radius: 5px; +.flash { + padding: $lineheight; + &#error { + background-color: #ff7070; + } + &#warning { + background-color: #ffe0cc; + } + &#notice { + background-color: #CBEEA7; + } } /* Rules for highlighting fields with rails validation errors */ .field_with_errors { padding: 2px; - background-color: red; + background-color: #ff7070; display: table; } @@ -1103,43 +1393,63 @@ p#contributorGuidance { #errorExplanation { width: 400px; - border: 2px solid red; - padding: 7px; - padding-bottom: 12px; - margin-bottom: 20px; + border: 2px solid #ff7070; + padding: $lineheight/2; + margin-bottom: $lineheight; background-color: #f0f0f0; -} + h2 { + margin: -10px; + padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; + font-weight: bold; + font-size: 12px; + background-color: #c00; + color: #fff; + text-align: left; + } -#errorExplanation h2 { - font-weight: bold; - font-size: 12px; - margin: -7px; - background-color: #c00; - color: #fff; -} + p { + color: #333; + margin-bottom: 0px; + padding: $lineheight/4; + } -#errorExplanation p { - color: #333; - margin-bottom: 0px; - padding: 5px; -} + ul li { + font-size: 12px; + list-style: disc; + } -#errorExplanation ul li { - font-size: 12px; - list-style: square; } /* Rules for forms */ -.fieldName { - vertical-align: top; - font-weight: bold; - font-size: 12px; - line-height: 20px; +.standard-form { + fieldset { + margin-bottom: $lineheight; + } + label { + display: block; + width: 300px; + margin-bottom: $lineheight/4; + font-size: $typeheight; + font-weight: bold; + line-height: 1.5; + } + .form-section { + margin-top: $lineheight; + padding-top: $lineheight; + border-top: 1px solid $keyline; + } + .form-row { + margin-bottom: $lineheight/2; + } + input[name=remember_me], + input[name=remember_me_openid] { + float: left; + } } -.minorNote { - font-size: 0.8em; +#remember_me_openid { + display: block; } input[type="text"], @@ -1148,6 +1458,12 @@ input[type="url"], input[type="password"], textarea { border: 1px solid #ccc; + padding: 2px 5px; + margin: 0; +} + +textarea { + padding: 5px; } /* Rules for user images */ @@ -1156,12 +1472,16 @@ img.user_image { max-width: 100px; max-height: 100px; border: 1px solid #ccc; + margin-bottom: $lineheight; + float: left; + margin-right: $lineheight; } img.user_thumbnail { max-width: 50px; - max-height: 100px; + max-height: 50px; border: 1px solid #ccc; + margin-right: $lineheight; } img.user_thumbnail_tiny { @@ -1186,16 +1506,113 @@ abbr.geo { .rsssmall { position: relative; - top: 4px; + top: 5px; +} + +/* General styles for action lists / subnavs / pager navs */ + +ul.secondary-actions { + font-style: normal; + margin-bottom: 0; + margin-left: 0; + &.pager { + display: inline-block; + margin-right: 60px; + } + li { + display: block; + float: left; + list-style: none; + border-left: 1px solid #ccc; + padding-left: $lineheight/4; + margin-right: $lineheight/4; + &:first-child { + border-left: 0; + padding-left: 0; + } + &:last-child { + margin-right: 0px; + } + } +} + +/* Utility for managing inner content areas */ + +.inner22 { padding: $lineheight;} + +.inner12 { padding: $lineheight/2 $lineheight;} + +.inner02 { padding: 0 $lineheight;} + +/* Utility for general button styles */ + +input[type="button"], +input[type="submit"], +input[type="reset"], +a.button { + cursor: pointer; + border: 0; + display: block; + padding: $lineheight/4; + min-width: 120px; + margin: 0 0 $lineheight/2 0; + color: white; + background: $blue; + text-align: center; + border-radius: 2px; + -moz-border-radius: 2px; + &:hover { + background: darken($blue, $hovercolor); + text-decoration: none; + } + &:last-child { + margin-bottom: 0; + } +} + +a.button.submit { + background-color: #cbeea7; + &:hover { + background-color: #9ed485; + } +} + +.buttons { + min-width: 200px; + + input[type="submit"], + .button { + box-sizing: border-box; + display: inline-block; + margin-bottom:0; + width:50%; + min-width: 0; + max-width: 150px; + margin-left: 2px; + margin-right: 2px; + } + input:first-child, + .button:first-child { + border-radius:2px 0 0 2px; + border-right:1px solid white; + margin-left: 0px; + } + input:last-child, + .button:last-child { + border-radius:0 2px 2px 0; + margin-right: 0px; + } } /* Rules for doing distinct colour of alternate table rows */ -.table0 { - background: #f6f6f6; +.table0, +.item0 { + background: $offwhite; } -.table1 { +.table1, +.item1 { background: #fff; } @@ -1206,22 +1623,95 @@ abbr.geo { border: 0; } +/* Rules for rich text */ + +.richtext { + h1, h2 { + padding-bottom: $lineheight/2; + border-bottom: 1px dashed #cccccc; + margin-bottom: $lineheight/2; + } + + h1 { + font-size: 24px; + } + + h2 { + font-size: 18px; + } + + h3 { + font-size: $typeheight; + } + + code { + font-size: 13px; + background: #e8e8e8; + padding: 2px 3px; + } + + pre { + font-size: 13px; + background: #e8e8e8; + padding: 2px 3px; + + code { + padding: 0; + } + } + + img { + padding: $lineheight; + background-color: $offwhite; + display: block; + max-width: 100%; + margin: auto; + } + + blockquote { + border-left: $lineheight solid $offwhite; + padding-left: $lineheight; + margin: 0; + color: #7E7E7E; + } + + ul, ol { + font-style: italic; + padding-left: $lineheight; + margin-bottom: $lineheight; + margin-left: $lineheight; + } + + ul li { + list-style: disc; + } + + ol li { + list-style: decimal; + } +} + +.diary_post .richtext { + margin-top: $lineheight; + } + +.comments .richtext { + margin-left: 70px; + margin-top: 0; +} + /* Rules for rich text editors */ .richtext_container { - white-space: nowrap; - .richtext_content { display: inline-block; vertical-align: top; .richtext_preview { display: inline-block; - margin-top: 1px; - margin-bottom: 1px; - border: 4px solid #eee; - background-color: #eee; - white-space: normal; + padding: $lineheight; + background-color: $offwhite; + overflow-x: auto; &.loading { background-image: image-url("loading.gif"); @@ -1238,41 +1728,146 @@ abbr.geo { .richtext_help { display: inline-block; vertical-align: top; - background-color: #ddd; - padding: 5px 10px 10px 10px; - font-size: 12px; + margin-left: 15px; + background-color: #f8f8ff; + padding: $lineheight/2; + width: 300px; + max-width: 450px; + + ul { + margin-bottom: 0; + } - p { - margin: 0px; + h4.heading, li { + border-bottom: 1px solid #ccc; + margin-bottom: $lineheight/4; + padding-bottom: $lineheight/4; } - th { + li h4, li span, li p { + display: inline-block; vertical-align: top; + font-size: 11px; } - td { - font-family: fixed; - line-height: 16px; - padding: 0px !important; + li h4 { + width: 35%; + margin: 0; } - input.richtext_doedit { - margin-top: 5px !important; + li span, li p { + width: 60%; + margin-left: $lineheight/2; + margin-bottom: $lineheight/4; + white-space: nowrap; } + } +} - input.richtext_dopreview { - margin-top: 5px !important; - } +/* Rules for the user notes list */ + +.note_list { + tr.creator { + background-color: #eeeeee; + } + + td { + padding: 3px; + } + + p { + margin-bottom: 0px; } } /* Rules for the notes interface */ .note { - width: 300px; + padding-top: $lineheight/2; +} + +.note { + h2 { + margin-bottom: $lineheight/2; + } + + div { + margin-top: $lineheight/2; + } + + .permalink { + position: absolute; + top: $lineheight/4; + left: $lineheight/4; + min-width: 15px; + min-height: 15px; + background: image-url("sprite.png") 0 -45px no-repeat; + } + + .permalink span { + display: none; + padding-left: $lineheight; + } + + .permalink:hover span { + display: block; + } + + .warning { + display: block; + background-color: #ffe0cc; + padding: 4px 6px; + margin-bottom: $lineheight/2; + } + + .comment_body { + margin-top: 2px; + margin-bottom: 2px; + + p { + margin-top: 0px; + margin-bottom: 0px; + } + } + + .comment { + width: 100%; + height: 100px; + } .buttons { - margin-top: 5px; + margin-top: $lineheight/4; text-align: right; } } + +/* + * Rules for the iD editor + */ +.id-embed { + width: 100%; + height: 100%; +} + +/* Rules for rotating sidebar ads */ +.ad-container { + display: block; + height: 120px; + overflow: hidden; + position: relative; + border-bottom: 1px solid #ccc; +} + +.ads { + width: 370px; + position: absolute; + left: 0%; +} + +.ad { + float: left; + height: 120px; + padding: $lineheight/2; + border: 0px; + background: #fff; +}