X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/67124b8d576d26583ee7850f2d47c94afa1edeb6..4afcc5404f642bcb16d71daf27184d9f816f0476:/app/assets/stylesheets/common.css.scss diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index 486866602..d1983fb8a 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -1,8 +1,19 @@ +/* Parameters */ +$lineheight: 20px; +$typeheight: 14px; + +$offwhite: #f4f4ff; +$blue: #7092FF; +$lightblue: #B8C5F0; +$grey: #AAA; +$lightgrey: #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 { +html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p, input { margin: 0; padding: 0; border: 0; @@ -27,7 +38,7 @@ li { list-style: none; } input, select, textarea, -body { font: 14px/20px "Helvetica Neue",Arial,sans-serif; } +body { font: #{$typeheight}/#{$lineheight} "Helvetica Neue",Arial,sans-serif; } abbr, acronym { border-bottom: .1em dotted; @@ -46,6 +57,37 @@ abbr, acronym { clear: both; } +/* Basic grid */ + +.col0 { float:left; width:04.1666%; } +.col1 { float:left; width:08.3333%; } +.col2 { float:left; width:16.6666%; } +.col3 { float:left; width:25.0000%; } +.col4 { float:left; width:33.3333%; } +.col5 { float:left; width:41.6666%; } +.col6 { float:left; width:50.0000%; } +.col7 { float:left; width:58.3333%; } +.col8 { float:left; width:66.6666%; } +.col9 { float:left; width:75.0000%; } +.col10 { float:left; width:83.3333%; } +.col11 { float:left; width:91.6666%; } +.col12 { width:100%; } + +.margin0 { margin-left:04.1666%; } +.margin1 { margin-left:08.3333%; } +.margin2 { margin-left:16.6666%; } +.margin3 { margin-left:25.0000%; } +.margin4 { margin-left:33.3333%; } +.margin5 { margin-left:41.6666%; } +.margin6 { margin-left:50.0000%; } +.margin7 { margin-left:58.3333%; } +.margin8 { margin-left:66.6666%; } +.margin9 { margin-left:75.0000%; } +.margin10 { margin-left:83.3333%; } +.margin11 { margin-left:91.6666%; } +.margin12 { margin-left:100.0000%; } + +.fillL { background-color: white; } /* Default rules for the body of every page */ * { @@ -56,7 +98,7 @@ abbr, acronym { body { font-family: 'Helvetica Neue',Arial,sans-serif; - font-size: 14px; + font-size: $typeheight; line-height: 1.6666; color: #222; background-color: #fff; @@ -70,8 +112,8 @@ body.slim { } h1, h2, h3 { - margin-top: 10px; - margin-bottom: 20px; + margin-top: $lineheight/2; + margin-bottom: $lineheight; font-weight: bold; line-height: 1.2; } @@ -86,20 +128,20 @@ h1, h2 { h3 { font-size: 21px; - margin-top: 10px; - margin-bottom: 20px; + margin-top: $lineheight/2; + margin-bottom: $lineheight; } h4,h5,h6 { - font-size: 14px; - margin-top: 10px; - margin-bottom: 10px; + font-size: $typeheight; + margin-top: $lineheight/2; + margin-bottom: $lineheight/2; font-weight: bold; line-height: 1.5; } p, ul { - margin-bottom: 20px; + margin-bottom: $lineheight; } p > img { @@ -122,14 +164,45 @@ h6:first-child { .column-1 { width: 50%; - margin-bottom: 10px; + margin: 0 0 $lineheight/2 0; } .small_icon { vertical-align: middle; - margin-right: 5px; + margin-right: $lineheight/4; } +/* Rules for icons */ + +.icon { + display:inline-block; + vertical-align:top; + width:20px; + height:20px; + background:transparent image-url("sprite.png") no-repeat 0 0; + text-indent:-9999px; + overflow:hidden; + } + +.icon-pre-text { + margin-right: 5px; +} + +.icon.search { background-position: 0 0; } +.icon.donate { background-position: -20px 0; } +.icon.zoomin { background-position: -40px 0; } +.icon.zoomout { background-position: -60px 0; } +.icon.geolocate { background-position: -80px 0; } +.active .icon.geolocate { background-position: -80px -20px; } +.icon.layers { background-position: -100px 0; } +.icon.key { background-position: -120px 0; } +.icon.share { background-position: -140px 0; } +.icon.clipboard { background-position: -160px 0; } +.icon.link { background-position: -180px 0; } +.icon.close { background-position: -200px 0; } +.icon.check { background-position: -220px 0; } +.icon.note { background-position: -240px 0; } + /* Rules for links */ a { @@ -153,11 +226,11 @@ hr { table { width: 100%; - margin-bottom: 20px; + margin-bottom: $lineheight; th, td { text-align: left; - padding: 5px; - line-height: 20px; + padding: $lineheight/4; + line-height: $lineheight; } th { font-weight: bold; @@ -186,7 +259,7 @@ table { display: block; width: 170px; min-width: 170px; - padding: 20px 5px; + padding: $lineheight $lineheight/4; text-align: center; margin: auto; } @@ -199,7 +272,7 @@ table { } #logo h2 { - font-size: 10px; + font-size: $lineheight/2; line-height: 15px; margin: 0; } @@ -208,18 +281,20 @@ table { #small-title { display: none; + + img { + vertical-align: text-bottom; + } } /* Rules for the introductory text displayed in the left sidebar to new users */ .sidebar-copy { - padding: 5px 10px; -} - -.sidebar-copy p { - margin: 5px 0; + padding: $lineheight/4 $lineheight/2; + p { + margin: $lineheight/4 0; + } } - .sidebar-copy.intro { border-top: 1px solid #ccc; } @@ -231,7 +306,7 @@ table { */ .sidebar-alert { - padding: 5px; + padding: $lineheight/4; border-top: 1px solid #ccc; margin-top: 4px; margin-bottom: -5px; @@ -239,7 +314,7 @@ table { font-size: 12px; font-weight: bold; p { - margin: 5px; + margin: $lineheight/4; } } @@ -250,14 +325,14 @@ table { */ .sidebar-notice { - padding: 5px; + padding: $lineheight/4; border-top: 1px solid #ccc; margin-top: 4px; margin-bottom: -5px; background: #ea0; font-size: 12px; p { - margin: 5px; + margin: $lineheight/4; } } @@ -266,51 +341,32 @@ table { .left_menu { left: 0px; margin: 0; - padding: 5px 10px; + padding: $lineheight/4 $lineheight/2 $lineheight/2 $lineheight/2; font-size: 12px; line-height: 1.25; list-style-type: none; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; -} - -.left_menu img { - margin: 10px 0px; -} - -.left_menu ul { - padding: 0; - margin: 0; -} - -.left_menu li { - list-style-type: none; - padding: 0; - margin: 0; -} - -.left_menu h4 { - padding: 5px 0 5px 0; - font-size: 12px; - margin: 0; -} - -.left_menu li:last-child h4 { - padding-top: 0; -} + img { + margin: $lineheight/2 0px; + } -/* Rules for SOTM advert */ + ul { + padding: 0; + margin: 0; + } -#sotm { - width: 165px; - margin: 10px; - padding: 0px; - border: 0px; - background: #fff; -} + li { + list-style-type: none; + padding: 0; + margin: 0; + } -#sotm img { - width: 165px; + h4 { + padding: $lineheight/4 0 $lineheight/4 0; + font-size: 12px; + margin: 0; + } } /* @@ -321,54 +377,54 @@ table { .optionalbox { left: 0px; - padding: 5px 10px; - margin: 5px 0; + padding: $lineheight/4 $lineheight/2; + margin: $lineheight/4 0; text-align: left; } /* Rules for the search box */ -#search_field form { - width: 165px; -} - #search_field { position: relative; -} -#search_field input[type="text"] { - width: 165px; - padding: 3px; - font-size: 14px; - line-height: 1.1; - height: 25px; - padding: 2px 0px 2px 5px; - box-shadow: inset #DDD 0px 1px 3px; -} + 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"] { - border: 0; - margin: 0; - padding: 0; - width: 15px; - height: 15px; - min-width: 15px; - text-indent: -1000px; - overflow: hidden; - background: image-url("sprite.png") 0 0 no-repeat; - position: absolute; - top: 5px; - right: 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") -2px -2px no-repeat; + position: absolute; + top: $lineheight/4; + right: $lineheight/4; + cursor: pointer; + } } .search_help { - margin: 5px 0 0 0; + margin: $lineheight/4 0 0 0; } /* Utility for de-emphasizing content */ @@ -376,40 +432,35 @@ table { .deemphasize { color: #999; a { - color: #7092FF; + color: $blue; } } /* Rules for donation request box */ -.donate { +a.donate { display: block; - width: 164px; - padding: 5px; + width: 163px; + padding: $lineheight/4; border: 1px solid #AED1A0; background: #cbeea7; - font-size: 14px; + font-size: $typeheight; line-height: 1.4; text-align: center; border-radius: 2px; color: #222; - margin: 10px 10px 0px 10px; + margin: $lineheight/2 $lineheight/2 0px $lineheight/2; &: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: 10px 0; + margin: $lineheight/2 0; float: right; } @@ -428,38 +479,36 @@ table { .site-index #top-bar, .site-export #top-bar { position: fixed; + top: 0; left: 0; right: 0; } #tabnav { - height: 30px; + height: 29px; margin-bottom:0; overflow: hidden; -} - -#tabnav li { - display: inline; -} - -#tabnav a, #tabnav a:link, #tabnav a:visited { - float: left; - font-weight: bold; - padding: 3px 10px; - 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; + 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; + } } .site-index #tabnav a#viewanchor, .site-edit #tabnav a#editanchor, -.changeset-list #tabnav a#historyanchor, -.site-export #tabnav a#exportanchor { +.changeset-list #tabnav a#historyanchor { border-bottom: 1px solid #aaa; background: #9ed485; color: #000; @@ -475,20 +524,16 @@ table { #tabnav a:visited:hover.disabled { color: #ccc; cursor: default; -} - -#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; + &:hover { + text-decoration: none; + } } /* Utility for styling notification numbers */ .count-number { - padding: 2px 5px; - border-radius: 3px; + padding: 2px $lineheight/4; + border-radius: 2px; background: #d7d7ff; margin: 0 2px; font-size: 11px; @@ -500,7 +545,7 @@ table { #greeting { float: right; padding-top: 3px; - margin-right: 5px; + margin-right: $lineheight/4; } .greeting-bar-unread { @@ -516,40 +561,273 @@ table { left: 15px; } +/* Rules for bootstrap tooltips */ + +.tooltip { + position: absolute; + display: none; + color: #333; + text-align: left; + font-size: 12px; + max-width: 250px; +} + +.tooltip.in { + opacity: 0.8; + z-index: 1030; + height: auto; + display: block; +} + +.tooltip.top { + margin-top: -10px; + text-align: center; +} + +.tooltip.right { + margin-left: 10px; +} + +.tooltip.bottom { + margin-top: 10px; + text-align: center; +} + +.tooltip.left { + margin-left: -10px; + text-align: right; +} + +.tooltip-inner { + display: inline-block; + padding: 10px; + font-weight: normal; + background-color: white; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: -5px; + left: 50%; + margin-left: -5px; + border-top-color: white; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: -5px; + margin-top: -5px; + border-right-color: white; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: -5px; + margin-top: -5px; + border-left-color: white; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: -5px; + left: 50%; + margin-left: -5px; + border-bottom-color: white; + border-width: 0 5px 5px; +} + /* Rules for Leaflet maps */ -.leaflet-control-attribution { - a.disabled { - color: #99c9dc; +.leaflet-control .control-button { + display: block; + height: 40px; + width: 40px; + background-color: #333; + background-color: rgba(0,0,0,.6); + -bottom: 1px solid #333; + border-radius: 4px 0 0 4px; + margin-bottom: 10px; + outline: none; + + &:hover { + background-color: black; + } + + &.active { + background-color: #9ed485; + } + + &.disabled { + background-color: #333; + background-color: rgba(0,0,0,.5); cursor: default; - text-decoration: none; } - ul.secondary-actions { - float: left; - margin-right: 5px; + .icon { + margin: 10px; + } +} - &:only-child { - margin-right: 0px; +.leaflet-control .zoomin, +.control-layers .control-button { + margin-bottom: 0px; + border-radius: 4px 0 0 0; +} + +.site .leaflet-control .zoomout, +.control-key .control-button { + margin-bottom: 0; + border-radius: 0; +} + +.leaflet-control .zoomout, // For non-main page maps +.control-locate .control-button, +.control-share .control-button { + border-radius: 0 0 0 4px; +} + +/* Rules for the home page */ + +.site-export #map, +.site-index #map, +.site-edit #map { + height: 100%; + overflow: hidden; +} + +#map-ui { + display: none; + position: relative; + float: right; + width: 250px; + height: 100%; + background: white; + border-left: 1px solid #CCC; + overflow: auto; + + .section { + border-bottom: 1px solid #DDD; + padding: 15px; + } + + a.close-button { + float: right; + padding:5px; + font-size:20px; + line-height:10px; + color:#222; + border:1px solid #ddd; + } +} + +.layers-ui, +.share-ui { + ul, li:last-child, p:last-child { + margin-bottom: 0; + } +} + +.layers-ui { + li { + border-radius: 4px; + overflow: hidden; + margin-bottom: 10px; + } + + label { + display: block; + padding: 5px 5px 5px 7px; + background-color: #eee; + cursor: pointer; + } + + li.active label { + background-color: #ccc; + } + + .base-layers { + .leaflet-container { + width: 100%; + height: 50px; + cursor: pointer; } } } -.site-index .leaflet-top, -.site-export .leaflet-top { - top: 10px !important; - .leaflet-control { - margin-top: 0px !important; +.share-ui { + .share-tabs { + margin-bottom: 10px; + + a { + color: #fff; + text-decoration: none; + background-color: $lightblue; + padding: 5px 10px; + } + + a:first-child { + border-right: 1px solid #fff; + border-radius: 4px 0 0 4px; + } + + a:last-child { + border-left: 1px solid #fff; + border-radius: 0 4px 4px 0; + } + + a.active { + background-color: $blue; + } + } + + .share-tab { + display: none; + } + + .share-link { + input[type=text], + textarea { + width: 100%; + font-family: monospace; + font-size: small; + line-height: 1.3; + } + } + + .share-image { + label { + margin-right: 10px; + } + } + + #embed_html { + resize: vertical; + } + + #mapnik_scale { + width: 100px; } } -.site-index #map .olControlScaleLine, -.site-export #map .olControlScaleLine { - left: 10px !important; +.leaflet-top.leaflet-right { + top: $lineheight/2 !important; + .leaflet-control { + margin-right: 0px !important; + margin-top: 0px !important; + } } .leaflet-popup-scrolled { - padding-right: 20px; + padding-right: $lineheight; border-bottom: 0px !important; border-top: 0px !important; } @@ -562,7 +840,7 @@ table { /* Rules for edit menu */ .menuicon { - padding: 0 5px; + padding: 0 $lineheight/4; font-weight: normal; display: inline-block; &:hover { @@ -575,18 +853,16 @@ table { z-index: 10000; position: absolute; background-color: #ffffff; - border: 1px solid #cccccc; + border: 1px solid $lightgrey; border-top: 0px; -} - -.menu ul { - margin: 0px; -} - -.menu li { - padding: 2px 5px; - 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 */ @@ -608,27 +884,18 @@ table { #sidebar { display: none; - position: absolute; - overflow: auto; - top: 0px; - bottom: 0px; - left: 0px; - border-right: 1px solid #ccc; + position: relative; + float: left; + border-right: 1px solid $lightgrey; width: 33.3333%; - .sidebar_heading { - position: relative; - padding: 10px 20px; - z-index: 9999; - background: #F4F4FF; - border-bottom: 1px solid #ccc; - } - h4 { - margin: 0; - } + height: 100%; ul { margin-bottom: 0; + &:last-child { + border-bottom: 1px solid #ccc; + } li { - margin-bottom: 5px; + margin-bottom: $lineheight/4; &:last-child { margin-bottom: 0; } @@ -636,22 +903,35 @@ table { } } -#sidebar_close { +.sidebar_heading { + position: relative; + padding: $lineheight/2 $lineheight; + z-index: 9999; + background: $offwhite; + border-bottom: 1px solid #ccc; + h4 { + margin: 0; + } +} + +.sidebar_close { position: absolute; - height: 20px; + height: $lineheight; top: 0px; bottom: 0; - right: 20px; + right: $lineheight; margin: auto; } #sidebar_content { position: relative; - bottom: 0; + margin-bottom: 20px; + overflow: auto; + height: 100%; width: 100%; h4 { - padding: 0 20px 10px 20px; - margin-top: 10px; + padding: 0 $lineheight $lineheight/2 $lineheight; + margin-top: $lineheight/2; margin-bottom: 0; border-bottom: 1px solid #ddd; } @@ -660,24 +940,21 @@ table { /* Rules for the map key which appears in the popout sidebar */ #mapkey { - padding: 20px; -} - -#mapkey .mapkey-table-key img { - display: block; - margin-left: auto; - margin-right: auto; -} - -#mapkey td { - padding: 0 5px 5px 5px; + .mapkey-table-key img { + display: block; + margin-left: auto; + margin-right: auto; + } + td { + padding: 0 $lineheight/4 $lineheight/4 $lineheight/4; + } } /* Rules for search results which appear in the popout sidebar */ .search_searching { - margin-top: 5px; - margin-bottom: 5px; + margin-top: $lineheight/4; + margin-bottom: $lineheight/4; } .search_results_entry { @@ -691,8 +968,8 @@ table { .search_results_entry .search_searching { text-align: center; - margin: 20px auto; - width: 20px; + margin: $lineheight auto; + width: $lineheight; display: block; } @@ -708,15 +985,15 @@ ul.results-list li { border-bottom: 1px solid #ccc; } position: relative; .browse_show_list.button { position: absolute; - left: 20px; - right: 20px; + left: $lineheight; + right: $lineheight; bottom: -40px; margin-bottom: 0; } a.more-details { position: absolute; top: 0; - right: 20px; + right: $lineheight; } ul li { margin-bottom: 0; @@ -738,37 +1015,22 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .export_area_inputs { - margin-bottom: 10px; + margin-bottom: $lineheight/2; + input[type="text"] { + width: 80px; + margin-bottom: 5px; + } } .export_bound { - margin: 5px; -} - -.export_details input[type="text"]#export_html_text { - width: 100%; -} - -#sidebar #marker_inputs li:last-child { - margin-bottom: 10px; -} - -#export_osm, -#export_mapnik, -#export_osmarender { - display: none; -} - -.export_buttons { - width: 100%; - text-align: center; + margin: $lineheight/4; } /* Rules for the main content area */ #content { - padding: 20px; position: relative; + padding: $lineheight; } .site-edit #content, @@ -781,16 +1043,75 @@ ul.results-list li { border-bottom: 1px solid #ccc; } border-left: 1px solid #ccc; } +/* Overrides for pages that use new layout conventions */ +.user-new, +.user-create, +.user-terms, +.user-confirm, +.site-copyright, +.site-welcome { + #content { + max-width: 740px; + } +} + +.user-new, +.user-create, +.user-terms, +.user-confirm { + .content-heading { + height: 200px; + } +} + +.user-new, +.user-create, +.user-terms { + #content { + padding: 0; + } +} + +.header-illustration { + background-position: 0 0; + background-repeat: no-repeat; + position: absolute; + height: 200px; + width: 100%; + left: 0; + bottom: 0; + + &.new-user-main { + background-image: image-url("sign-up-illustration.png"); + } + + &.confirm-main { + background-image: image-url("confirm-illustration.png"); + } + + &.new-user-terms { + background-image: image-url("terms-illustration.png"); + } + + &.new-user-arm { + height: 110px; + width: 130px; + left: 260px; + top: 160px; + background-image: image-url("sign-up-illustration-arm.png"); + } +} + +@media only screen and (max-width:770px) { + .header-illustration.new-user-arm { display: none;} +} + .wrapper { margin-left: 184px; border-left: 1px solid #ccc; text-align: left; } -.site-edit #content { - top: 30px; -} - #content.maximised { top: 0; left: 0; @@ -807,7 +1128,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #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; @@ -815,7 +1136,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } #slim_content { - margin: 10px; + margin: $lineheight/2; margin-top: 95px; max-width: 50em; @@ -825,31 +1146,31 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } #slim_header { - margin: 30px 10px; + margin: 30px $lineheight/2; position: absolute; top: 0px; - margin-right: 5px; -} - -#slim_header img { - vertical-align: middle; - margin-bottom: 5px; - margin-right: 5px; + margin-right: $lineheight/4; + img { + vertical-align: middle; + margin-bottom: $lineheight/4; + margin-right: $lineheight/4; + } } .content-heading { position: relative; - padding: 20px; - background: #F4F4FF; + padding: $lineheight; + background: $offwhite; + z-index: 2; h1, h2 { - margin-bottom: 10px; + margin-bottom: $lineheight/2; line-height: 100%; &:last-child { margin-bottom: 0; } } p { - margin-top: 10px; + margin-top: $lineheight/2; margin-bottom: 0px; } } @@ -861,36 +1182,14 @@ ul.results-list li { border-bottom: 1px solid #ccc; } width: 45%; height: 400px; border: 1px solid #ccc; - margin-bottom: 20px; + margin-bottom: $lineheight; float: right; } .content_map #small_map { height: 100%; width: 100%; - margin-bottom: 20px; -} - -/* Rules for the home page */ - -.site-export #map, -.site-index #map { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; -} - -/* Rules for the edit page */ - -.site-edit #map { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; - overflow: hidden; + margin-bottom: $lineheight; } /* Rules for the changeset list shown by the history tab etc */ @@ -898,7 +1197,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #changeset_list { width: 100%; ul { - padding: 10px 0; + padding: $lineheight/2 0; margin-bottom: 0px; border-top: 1px solid #ccc; &:last-child { @@ -911,8 +1210,8 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .date, .user { border-left: 1px solid #ccc; - padding-left: 5px; - margin-right: 5px; + padding-left: $lineheight/4; + margin-right: $lineheight/4; } } @@ -930,10 +1229,10 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #changeset_list_map { position: absolute; - bottom: 20px; - top: 20px; - right: 20px; - left: 20px; + bottom: $lineheight; + top: $lineheight; + right: $lineheight; + left: $lineheight; border: 1px solid #ccc; } @@ -945,8 +1244,8 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .browse-section { border-top: 1px solid #ccc; - margin-top: 10px; - padding-top: 10px; + margin-top: $lineheight/2; + padding-top: $lineheight/2; &:first-child { margin-top: 0; } @@ -957,9 +1256,9 @@ ul.results-list li { border-bottom: 1px solid #ccc; } max-width: 100%; } h4, p { - margin-bottom: 5px; + margin-bottom: $lineheight/4; } - p, ul, .bbox, .geo { + ul, .bbox, .geo { display: inline-block; vertical-align: top; max-width: 65%; @@ -969,6 +1268,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } margin-bottom: 0; } h4 { + float: left; width: 33.3333%; display: inline-block; vertical-align: top; @@ -979,7 +1279,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } div { width: 33.3333%; text-align: center; - padding: 5px 0; + padding: $lineheight/4 0; overflow: hidden; text-overflow: ellipsis; float: left; @@ -997,45 +1297,46 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } #browse_map .secondary-actions { - margin-bottom: 10px; + margin-bottom: $lineheight/2; } /* Rules for the trace list shown by the traces tab etc */ #trace_list { - font-size: 10px; + font-size: $lineheight/2; border-width: 0px; text-align: right; -} -#trace_list .trace_summary { - font-size: 12px; - color: gray; -} + .trace_summary { + font-size: 12px; + color: gray; + } -#trace_list .trace_pending { - color: red; -} + .trace_pending { + color: red; + } -#trace_list .trace_public { - color: green; -} + .trace_public { + color: green; + } -#trace_list .trace_identifiable { - color: green; -} + .trace_identifiable { + color: green; + } -#trace_list .trace_trackable { - color: red; -} + .trace_trackable { + color: red; + } -#trace_list .trace_private { - color: red; + .trace_private { + color: red; + } } /* Rules for the user profile page */ #userinformation { + min-height: 100px; .userinformation-inner { float: left; @@ -1053,48 +1354,49 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .admin-user-info small { - margin-bottom: 10px; + margin-bottom: $lineheight/2; display: inline; - margin-right: 20px; + margin-right: $lineheight; } .activity-block { clear: left; border-bottom: 1px solid #ccc; - padding-bottom: 20px; + padding-bottom: $lineheight; float: left; h3 { - margin-bottom: 10px; + margin-bottom: $lineheight/2; } } .contact-activity { - margin-top: 20px; + margin-top: $lineheight; width: 100%; } .activity-details p { - margin-left: 72px; + margin-left: 70px; margin-bottom: 0; } #friends-container .contact-activity ul { - margin-left: 72px; - } - -.user-view p#no_home_location { - margin: 20px; + margin-left: 70px; } -.user-view .user_thumbnail { - margin-top: 5px; - float: left; +.user-view { + p#no_home_location { + margin: $lineheight; + } + .user_thumbnail { + margin-top: $lineheight/4; + float: left; + } } /* Rules for the user map */ .content_map .leaflet-popup-content { - margin: 10px; + margin: $lineheight/2; min-height: 50px; } @@ -1102,46 +1404,36 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .user_popup { min-width: 200px; -} - -.user_popup p { - padding-top:0; - padding-bottom: 5px; - margin-top: 0; -} - -.user_popup img.user_thumbnail { - float: left; - margin: 0 10px 0 0; -} - -/* Rules for user popups on maps */ - -.user_popup p { - margin-bottom: 0; - margin-left: 60px; - font-size: 12px; + p { + padding: 0 0 5px 0; + margin-top: 0 0 0 60px; + font-size: 12px; + } + img.user_thumbnail { + float: left; + margin: 0 $lineheight/2 0 0; + } } /* Rules for the user list */ #user_list { - font-size: 10px; + font-size: $lineheight/2; width: 100%; -} -#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 { float: right; - margin-top: 10px; + margin-top: $lineheight/2; } /* Rules for the diary list page */ @@ -1153,8 +1445,8 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .diary_post { max-width: 740px; position: relative; - margin-top: 10px; - padding-top: 20px; + margin-top: $lineheight/2; + padding-top: $lineheight; border-top: 1px solid #ccc; &:first-child { @@ -1164,7 +1456,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } h1, h2 { font-size: 21px; - line-height: 1; + line-height: 1em; } small.deemphasize { float: left; @@ -1178,10 +1470,10 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } #content .post_heading { - margin-bottom: 20px; + margin-bottom: $lineheight; h2 { margin-top: 0; - margin-bottom: 10px; + margin-bottom: $lineheight/2; font-size: 24px; } } @@ -1195,27 +1487,27 @@ ul.results-list li { border-bottom: 1px solid #ccc; } height: 400px; border: 1px solid #ccc; display: none; - margin-bottom: 20px; + margin-bottom: $lineheight; } #newcomment { border-top: 1px solid #ccc; - padding-top: 20px; - margin-top: 10px; + padding-top: $lineheight; + margin-top: $lineheight/2; } .comments { max-width: 740px; } .diary-comment { - margin-top: 10px; + margin-top: $lineheight/2; border-top: 1px dashed #ccc; - padding-top: 10px; + padding-top: $lineheight/2; &:first-child { - margin-top: 20px; - padding-top: 20px; + margin-top: $lineheight; + padding-top: $lineheight; border-top: 1px solid #ccc; } p { - margin-bottom: 10px; + margin-bottom: $lineheight/2; } .comment-heading { margin-bottom: 0; @@ -1228,63 +1520,47 @@ ul.results-list li { border-bottom: 1px solid #ccc; } float: left; } -/* Rules for the login page */ +/* Rules for the log in page */ #login_openid_buttons { - height: 56px; + margin-bottom: 0; } #login_openid_buttons li { float: left; - padding: 5px 10px; + padding: $lineheight/4 $lineheight/2; } /* Rules for the account confirmation page */ -#terms { +.user-terms { .legale { border: 1px solid #ccc; - padding: 20px; - margin-bottom: 20px; + padding: $lineheight; + margin-bottom: $lineheight; overflow: auto; height: 10em; - + &:p#last { margin-bottom: 0px; } - + &:ol { margin-bottom: 0px; } - + &:img { display: block; - margin: 20px auto inherit auto; + margin: $lineheight auto inherit auto; } } - - form.sign { - input[type=submit] { - float: left; - } - #decline { - background: #AAA; - &:hover { - background: #777; - } + + #decline { + background: $lightblue; + &:hover { + background: darken($lightblue, $hovercolor); } } - fieldset { - margin-bottom: 20px; - } - #contributorGuidance { - background-color: #f4f4ff; - border-radius: 4px; - -moz-border-radius: 4px; - } - .signing-buttons { - height: 50px; - } } /* Rules for the account settings page */ @@ -1296,9 +1572,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } border: 1px solid #ccc; } -.accountImage-options { - width: 50%; - display: inline-block; +#accountForm .user_image { + margin-bottom: 0; +} + +#accountForm #user_image { + margin-left: 20px; +} + +#accountForm ul.accountImage-options { + margin-left: 120px; } .nohome .location { @@ -1314,36 +1597,60 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .content_map.settings_map { - float: none; width: 50%; + float: none; +} + +/* Rules for the oauth settings page */ + +.oauth_clients .buttons .oauth-edit { + border-radius: 2px 0 0 2px; +} + +.oauth_clients .buttons .oauth-delete { + border-radius: 0 2px 2px 0; } -/* Rules for message in/out box page */ +/* Rules for messages pages */ .messages { width: 100%; 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: #f8f8ff; -} + .inbox-row { + background: #f8f8ff; + } -.messages .inbox-row-unread { - background:#CBEEA7; -} + .inbox-row-unread { + background:#CBEEA7; + } -.right { - float: right; -} + .right { + float: right; + } -.messages tr td, -.messages tr th { - padding: 5px; + tr td, + tr th { + padding: $lineheight/4; + } + p:last-child, + h2:last-child, + h3:last-child, + ol:last-child, + ul:last-child { + margin-bottom:0; + } + tr td { + height: 30px; + border-right: 1px solid $lightgrey; + } } .inbox-row .inbox-mark-read { @@ -1351,28 +1658,43 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .info-line { - margin-bottom: 20px; - padding: 5px 0px 4px 0px; + margin-bottom: $lineheight; + padding: $lineheight/4 0px 4px 0px; border-bottom: 1px solid #ccc; -} -.info-line form, -.info-line form div { - display: inline; + form, form div { + display: inline; + } } .info-line .user_thumbnail_tiny { vertical-align: middle; } +.inbox-mark-unread, +.inbox-mark-read, +.inbox-delete { + width: 1%; +} + .inbox-row-unread .inbox-mark-unread { display: none; } +.message-read .message-buttons { + margin-top: $lineheight; + padding-top: $lineheight; + border-top: 1px solid $lightgrey; +} + +.message-read .buttons .mark-unread-button { + border-radius: 0; +} + /* Rules for "flash" notice boxes shown at the top of the content area */ .flash { - padding: 20px; + padding: $lineheight; &#error { background-color: #ff7070; } @@ -1389,7 +1711,17 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .field_with_errors { padding: 2px; background-color: #ff7070; - display: table; + display: inline-block; +} + +.formError { + display: inline-block; + padding: 5px 10px; + margin-top: 5px; + border-radius: 4px; + font-size: 12px; + color: #fff; + background-color: #ff7070; } /* Rules for rails validation error boxes */ @@ -1397,57 +1729,92 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #errorExplanation { width: 400px; border: 2px solid #ff7070; - padding: 10px; - margin-bottom: 20px; + padding: 0 $lineheight/2; + margin-bottom: $lineheight; background-color: #f0f0f0; -} -#errorExplanation h2 { - margin: -10px; - padding: 5px 5px 5px 15px; - font-weight: bold; - font-size: 12px; - background-color: #c00; - color: #fff; - text-align: left; -} + h2 { + margin: 0 -10px 10px -10px; + padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; + font-weight: bold; + font-size: 12px; + background-color: #c00; + color: #fff; + text-align: left; + } -#errorExplanation p { - color: #333; - margin-bottom: 0px; - padding: 5px; -} + p { + color: #333; + margin-bottom: 0px; + padding: $lineheight/4; + } -#errorExplanation ul li { - font-size: 12px; - list-style: disc; + ul { + padding-left: $lineheight; + + li { + font-size: 12px; + list-style: disc; + } + } } /* Rules for forms */ -.standard-form fieldset { - margin-bottom: 20px; +.standard-form { + fieldset { + margin-bottom: $lineheight; + } + label.standard-label { + display: block; + margin-bottom: $lineheight/4; + font-size: $typeheight; + font-weight: bold; + line-height: 1.5; + } + label.standard-label.secondary { + display: inline-block; + font-weight: normal; + } + .form-help { + font-weight: normal; + } + .form-column { + float: left; + margin-right: 20px; + } + .form-divider { + margin-top: $lineheight; + padding-top: $lineheight; + border-top: 1px solid $lightgrey; + } + .horizontal-list .form-row { + float: left; + padding-right: 10px; + } + .form-row { + margin-bottom: $lineheight/2; + } + .form-list { + margin-bottom: 0; + } + .form-list li { + margin-bottom: 5px; + } + input[type="checkbox"], + input[type="radio"] { + float: left; + margin-top: 5px; + } } -.standard-form label { +#remember_me_openid { display: block; - width: 300px; - margin-right: 10px; - font-size: 14px; - font-weight: bold; - line-height: 1.5; -} - -.standard-form .form-row { - margin-bottom: 10px; } -.standard-form input[name=remember_me] { - float: left; -} - -#remember_me_openid { - display: block; +input[type="checkbox"], +input[type="radio"] { + margin-right: 5px; } input[type="text"], @@ -1456,6 +1823,14 @@ input[type="url"], input[type="password"], textarea { border: 1px solid #ccc; + padding: 2px 5px; + margin: 0; + width: 200px; +} + +textarea { + padding: 5px; + width: 100%; } /* Rules for user images */ @@ -1464,16 +1839,16 @@ img.user_image { max-width: 100px; max-height: 100px; border: 1px solid #ccc; - margin-bottom: 20px; + margin-bottom: $lineheight; float: left; - margin-right: 20px; + margin-right: $lineheight; } img.user_thumbnail { max-width: 50px; max-height: 50px; border: 1px solid #ccc; - margin-right: 20px; + margin-right: $lineheight; } img.user_thumbnail_tiny { @@ -1516,8 +1891,8 @@ ul.secondary-actions { float: left; list-style: none; border-left: 1px solid #ccc; - padding-left: 5px; - margin-right: 5px; + padding-left: $lineheight/4; + margin-right: $lineheight/4; &:first-child { border-left: 0; padding-left: 0; @@ -1530,11 +1905,15 @@ ul.secondary-actions { /* Utility for managing inner content areas */ -.inner22 { padding: 20px;} +.inner22 { padding: $lineheight;} + +.inner12 { padding: $lineheight/2 $lineheight;} -.inner12 { padding: 10px 20px;} +.inner11 { padding: $lineheight/2;} -.inner02 { padding: 0 20px;} +.inner20 { padding: $lineheight 0;} + +.inner02 { padding: 0 $lineheight;} /* Utility for general button styles */ @@ -1544,28 +1923,82 @@ input[type="reset"], a.button { cursor: pointer; border: 0; - display: block; - padding: 5px; + display: inline-block; + line-height: 20px; + padding: $lineheight/4 $lineheight/2; + min-height: 20px + $lineheight/2; min-width: 120px; - margin-bottom: 10px; + margin: 0 0 $lineheight/2 0; color: white; - background: #7092FF; + background: $blue; text-align: center; border-radius: 2px; -moz-border-radius: 2px; &:hover { - background: blue; + background: darken($blue, $hovercolor); text-decoration: none; } + &.deemphasize { + background: $lightblue; + &:hover { + background: darken($lightblue, $hovercolor); + } + } + &:disabled { + background: $lightgrey; + &:hover { + background: $lightgrey; + } + } &:last-child { margin-bottom: 0; } } -a.button.submit { - background-color: #cbeea7; - &:hover { - background-color: #9ed485; +.buttons { + min-width: 200px; + input[type="submit"], + input[type="button"], + input[type="reset"], + .button { + box-sizing: border-box; + float: left; + border-radius: 0; + margin:0; + min-width: 100px; + max-width: 180px; + border-right:1px solid white; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + input:first-child, + .button:first-child { + border-radius:2px 0 0 2px; + } + input:last-child, + .button:last-child { + border-radius:0 2px 2px 0; + border-right-width: 0; + } + input:only-child, + .button:only-child, + *[value="Hide"] + input:last-child, + *[value="Hide"] + .button:last-child { + border-radius:2px; + border-right-width: 0; + } + /* if a 3-button set has a hidden middle button */ + *[value="Hide"] + input:nth-child(3), + *[value="Hide"] + .button:nth-child(3) { + border-radius:0 2px 2px 0; + border-right-width: 0; + } + /* if a 3-button set starts with a hidden button */ + *[value="Hide"] + input:nth-child(2):not(:last-child), + *[value="Hide"] + .button:nth-child(2):not(:last-child) { + border-radius:2px 0 0 2px; + border-right-width: 1px solid white; } } @@ -1573,7 +2006,7 @@ a.button.submit { .table0, .item0 { - background: #F4F4FF; + background: $offwhite; } .table1, @@ -1590,11 +2023,12 @@ a.button.submit { /* Rules for rich text */ -.richtext { +.richtext, +.prose { h1, h2 { - padding-bottom: 10px; + padding-bottom: $lineheight/2; border-bottom: 1px dashed #cccccc; - margin-bottom: 10px; + margin-bottom: $lineheight/2; } h1 { @@ -1606,7 +2040,7 @@ a.button.submit { } h3 { - font-size: 14px; + font-size: $typeheight; } code { @@ -1626,25 +2060,24 @@ a.button.submit { } img { - padding: 20px; - background-color: #f4f4ff; + padding: $lineheight; + background-color: $offwhite; display: block; max-width: 100%; margin: auto; } blockquote { - border-left: 20px solid #f4f4ff; - padding-left: 20px; + border-left: $lineheight solid $offwhite; + padding-left: $lineheight; margin: 0; color: #7E7E7E; } ul, ol { - font-style: italic; - padding-left: 20px; - margin-bottom: 20px; - margin-left: 20px; + padding-left: $lineheight; + margin-bottom: $lineheight; + margin-left: $lineheight; } ul li { @@ -1657,7 +2090,7 @@ a.button.submit { } .diary_post .richtext { - margin-top: 20px; + margin-top: $lineheight; } .comments .richtext { @@ -1668,14 +2101,17 @@ a.button.submit { /* Rules for rich text editors */ .richtext_container { + margin-bottom: $lineheight; + .richtext_content { + width: 50%; display: inline-block; vertical-align: top; .richtext_preview { display: inline-block; - padding: 20px; - background-color: #f4f4ff; + padding: $lineheight; + background-color: $offwhite; overflow-x: auto; &.loading { @@ -1695,9 +2131,8 @@ a.button.submit { vertical-align: top; margin-left: 15px; background-color: #f8f8ff; - padding: 10px; - width: 300px; - max-width: 450px; + padding: $lineheight/2; + width: 220px; ul { margin-bottom: 0; @@ -1705,8 +2140,8 @@ a.button.submit { h4.heading, li { border-bottom: 1px solid #ccc; - margin-bottom: 5px; - padding-bottom: 5px; + margin-bottom: $lineheight/4; + padding-bottom: $lineheight/4; } li h4, li span, li p { @@ -1716,21 +2151,16 @@ a.button.submit { } li h4 { - width: 35%; + width: 40%; margin: 0; } li span, li p { - width: 60%; - margin-left: 10px; - margin-bottom: 5px; + width: 50%; + margin-left: $lineheight/2; + margin-bottom: $lineheight/4; white-space: nowrap; } - - input.richtext_doedit, - input.richtext_dopreview { - margin-right: 10px; - } } } @@ -1752,31 +2182,30 @@ a.button.submit { /* Rules for the notes interface */ -.note { - padding-top: 10px; +.leaflet-popup-content .note { + padding-top: $lineheight/2; } -.note { +.leaflet-popup-content .note { h2 { - margin-bottom: 10px; + margin-bottom: $lineheight/2; } div { - margin-top: 10px; + margin-top: $lineheight/2; } .permalink { position: absolute; - top: 5px; - left: 5px; + 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: 20px; + padding-left: $lineheight; } .permalink:hover span { @@ -1787,7 +2216,7 @@ a.button.submit { display: block; background-color: #ffe0cc; padding: 4px 6px; - margin-bottom: 10px; + margin-bottom: $lineheight/2; } .comment_body { @@ -1806,7 +2235,7 @@ a.button.submit { } .buttons { - margin-top: 5px; + margin-top: $lineheight/4; text-align: right; } } @@ -1814,6 +2243,30 @@ a.button.submit { /* * Rules for the iD editor */ + +.site-edit-id { + #left, + #large-title { + display: none; + } + + #small-title { + display: inline-block; + width: 185px; + height: 30px; + font-size: 14px; + margin: 0; + background-color: #eee; + border-bottom: 1px solid #ccc; + text-align: center; + padding-top: 7px; + } + + #content { + left: 0; + } +} + .id-embed { width: 100%; height: 100%; @@ -1828,16 +2281,88 @@ a.button.submit { border-bottom: 1px solid #ccc; } -.ads { - width: 370px; - position: absolute; - left: 0%; -} - .ad { - float: left; - height: 120px; - padding: 10px; - border: 0px; + height: 100px; + border: 0; background: #fff; } + +/* Rules for the "Welcome" page */ +.site-welcome { + .center { + text-align: center; + .sprite { + float: none; + margin: auto; + } + } + + .sprite { + background-image: image-url("welcome-sprite.png"); + background-size: 500px 250px; + display: block; + float: left; + } + + .icon-list { + padding-bottom: 20px; + div { + margin-bottom: 10px; + p { + padding-top: 10px; + } + } + } + .sprite.small { + width: 50px; + height: 50px; + } + + .sprite.x { + background-position: -50px 0; + } + + .sprite.term { + margin-right: 10px; + vertical-align: middle; + } + + .sprite.node { + background-position: -100px 0; + } + + .sprite.way { + background-position: -150px 0; + } + + .sprite.tag { + background-position: -200px 0; + } + + .sprite.editor { + background-position: -250px 0; + } + + .sprite.question { + background-position: -300px 0; + } + + .start-mapping { + margin: auto; + cursor: pointer; + border: none; + padding: 20px 40px; + font-size: 30px; + text-decoration: none; + } + + .note-box { + margin-top: 20px; + background-color: $offwhite; + } + + .icon.note { + background-color: #333; + border-radius: 4px; + } +}