X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/17db0b2d5566ec4dbf0f279ad3ad7dc754b1dfb5..d359cd70f1527b372b71c2f927e3f45fb0fcf509:/app/assets/stylesheets/common.css.scss diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index 42467adb3..dc8c12b70 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -5,9 +5,14 @@ $typeheight: 14px; $offwhite: #f4f4ff; $blue: #7092FF; $lightblue: #B8C5F0; -$grey: #AAA; -$lightgrey: #CCC; +$green: #7ebc6f; +$grey: #CCC; +$lightgrey: #EEE; +$darkgrey: #AAA; $hovercolor: 20%; +$headerHeight: 75px; +$sidebarWidth: 350px; +$keyline: 1px solid $grey; /* Styles common to large and small screens */ @@ -88,6 +93,7 @@ abbr, acronym { .margin12 { margin-left:100.0000%; } .fillL { background-color: white; } + /* Default rules for the body of every page */ * { @@ -112,35 +118,19 @@ body.slim { } 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; +h1 { + font-size: 18px; } -h4,h5,h6 { - font-size: $typeheight; - margin-top: $lineheight/2; - margin-bottom: $lineheight/2; - font-weight: bold; - line-height: 1.5; +h2, h3 { + font-size: 16px; } -p, ul { +p { margin-bottom: $lineheight; } @@ -242,196 +232,42 @@ table { } } -/* Rules for the whole left sidebar, including the logo */ - -#left { - position: absolute; - height: 100%; - width: 185px; - font-size: 11px; - 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: $lineheight $lineheight/4; - text-align: center; - margin: auto; -} - -#logo h1 { - font-size: 18px; - line-height: 1; - text-align: center; - margin: 0; -} - -#logo h2 { - font-size: $lineheight/2; - line-height: 15px; - margin: 0; -} - -/* Rules for the site name */ - -#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: $lineheight/4 $lineheight/2; - p { - margin: $lineheight/4 0; - } -} -.sidebar-copy.intro { - border-top: 1px solid #ccc; -} - -/* - * Rules for alert boxes shown in the left sidebar when important - * information needs to be conveyed such as when the site is - * undergoing maintenance. - */ - -.sidebar-alert { - padding: $lineheight/4; - border-top: 1px solid #ccc; - margin-top: 4px; - margin-bottom: -5px; - background: #e00; - font-size: 12px; - font-weight: bold; - p { - margin: $lineheight/4; - } -} - -/* - * Rules for notice boxes shown in the left sidebar when important, but - * non-critical information needs to be conveyed such as notices about - * donation drives. - */ - -.sidebar-notice { - padding: $lineheight/4; - border-top: 1px solid #ccc; - margin-top: 4px; - margin-bottom: -5px; - background: #ea0; - font-size: 12px; - p { - margin: $lineheight/4; - } -} - -/* Rules for the menu displayed in the left sidebar */ - -.left_menu { - left: 0px; - margin: 0; - 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; - img { - margin: $lineheight/2 0px; - } - - ul { - padding: 0; - margin: 0; - } - - li { - list-style-type: none; - padding: 0; - margin: 0; - } - - h4 { - padding: $lineheight/4 0 $lineheight/4 0; - font-size: 12px; - margin: 0; - } -} - -/* - * Rules for "optional boxes" which appear in the left sidebar on - * certain pages. Current users are the seach box on the main page - * and the tag cloud on the traces pages. - */ - -.optionalbox { - left: 0px; - padding: $lineheight/4 $lineheight/2; - margin: $lineheight/4 0; - text-align: left; -} - /* Rules for the search box */ -#search_field { +#search_form { position: relative; + padding: $lineheight; + background-color: $lightgrey; + border-bottom: $keyline; - form { - width: 165px; + #query_wrapper { + overflow: hidden; } - 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; + input { + width: 100%; + height: 30px; + border-right: none; + border-radius: 2px 0 0 2px; transition: 300ms linear; -webkit-transition: 300ms linear; -moz-transition: 300ms linear; } - input[type="text"]:focus { - box-shadow: 0px 0px 7px #9ED485; + input:focus { outline: none; + box-shadow: 0px 0px 7px #9ED485; } - input[type="submit"] { - border: 0; - margin: 0; - padding: 0; - width: 15px; - height: 15px; + input[type=submit] { + float: right; + width: auto; 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; + border-radius: 0 2px 2px 0; } } -.search_help { - margin: $lineheight/4 0 0 0; -} - /* Utility for de-emphasizing content */ .deemphasize { @@ -454,7 +290,7 @@ a.donate { text-align: center; border-radius: 2px; color: #222; - margin: $lineheight/2 $lineheight/2 0px $lineheight/2; + margin: $lineheight/2 auto; &:hover { background: #9ed485; @@ -462,63 +298,65 @@ a.donate { } } -/* Rules for Creative Commons logo button */ - -#cclogo { - margin: $lineheight/2 0; - float: right; -} - -/* Rules for tabbed navigation bar */ +/* Rules for the header */ -#top-bar { +header { + height: $headerHeight; position: relative; - margin-left: 185px; - height: 30px; - border-bottom: 1px solid #ccc; - background: white; + border-bottom: $keyline; z-index: 1001; - .caret { - margin-top: 10px; + h1, nav, nav > ul, nav > ul > li, .dropdown { + display: inline-block; } -} -.site-edit #top-bar, -.site-index #top-bar, -.site-export #top-bar { - position: fixed; - top: 0; - left: 0; - right: 0; -} - -#tabnav { - height: 29px; - margin-bottom: 0; + > * { + height: 100%; + padding: $lineheight; + } - > li { + h1, nav.primary { float: left; + } - > * { - padding: 3px $lineheight/2; - } + img.logo { + width: 30px; + height: 30px; + vertical-align: middle; + } + + h1 { + margin: 0; + border-right: $keyline; + } +} + +nav.primary { + > ul { + border: 1px solid darken($green, 20%); + border-radius: 4px; } a.tab { display: inline-block; font-weight: bold; text-decoration: none; - color: #333; + color: $green; + padding: 5px 15px; + border-right: 1px solid darken($green, 20%); + } - -webkit-transition: color 200ms ease-in; - -moz-transition: color 200ms ease-in; - -o-transition: color 200ms ease-in; - transition: color 200ms ease-in; + #edit_tab a.tab { + border-right: 1px solid lighten($green, 20%); + } - &:hover { - text-decoration: underline; - } + .dropdown-toggle { + display: inline-block; + padding: 6px 10px 4px 10px; + } + + .caret { + border-top-color: $green; } .disabled a { @@ -533,68 +371,65 @@ a.donate { border-top-color: #ccc; } } - - .dropdown { - height: 29px; - } } .site-index #view_tab, -.site-edit #edit_tab, -.changeset-list #history_tab { - background: #9ed485; - color: #000; -} +.changeset-list #history_tab, +.site-export #export_tab, +.site-edit #edit_tab { + background-color: $green; -/* Utility for styling notification numbers */ + .tab { + color: #fff; + } -.count-number { - padding: 2px $lineheight/4; - border-radius: 2px; - background: #d7d7ff; - margin: 0 2px; - font-size: 11px; - color: #333; + .caret { + border-top-color: #fff; + } } -/* Rules for greeting bar in the top right corner */ +nav.secondary { + position: absolute; + right: 0; -#greeting { - float: right; - height: 100%; + > ul { + margin-right: 10px; + } - &.secondary-actions { - padding: 3px $lineheight/2; + > ul a, + .dropdown-toggle { + display: inline-block; + font-weight: bold; + text-decoration: none; + color: $darkgrey; + padding: 5px 5px; } - &.dropdown { - background-color: #EEE; - &:hover { - background-color: #CCC; - } + .dropdown { + border: 1px solid $grey; + border-radius: 4px; } - img { + .caret { + border-top-color: $grey; + margin-top: 10px; + margin-right: 5px; + } + + img.user_thumbnail_tiny { + border: 0; vertical-align: top; + margin: 2px 0 0 3px; border-radius: 2px 0 0 2px; - margin-right: 5px; } #inboxanchor { display: inline-block; - position: relative; + vertical-align: top; height: 20px; - top: -2px; - margin: 0 2px 0 0; - padding: 0 5px 0 0; - border-radius: 2px; - } - - .dropdown-toggle { - display: block; - padding: 3px 7px; - color: #000; - text-decoration: none; + margin: 2px 7px 0 0; + background-color: $grey; + border-radius: 0 2px 2px 0; } .dropdown-menu { @@ -609,6 +444,17 @@ a.donate { } } +/* Utility for styling notification numbers */ + +.count-number { + padding: 2px $lineheight/4; + border-radius: 2px; + background: #d7d7ff; + margin: 0 2px; + font-size: 11px; + color: #333; +} + /* Rules for the message shown in place of the map when javascript is disabled */ #noscript { @@ -740,13 +586,12 @@ a.donate { border-radius: 4px 0 0 0; } -.site .leaflet-control .zoomout, +.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; @@ -754,9 +599,7 @@ a.donate { /* Rules for the home page */ -.site-export #map, -.site-index #map, -.site-edit #map { +#map { height: 100%; overflow: hidden; } @@ -768,7 +611,6 @@ a.donate { width: 250px; height: 100%; background: white; - border-left: 1px solid #CCC; overflow: auto; .section { @@ -876,7 +718,7 @@ a.donate { } .leaflet-top.leaflet-right { - top: $lineheight/2 !important; + top: $lineheight !important; .leaflet-control { margin-right: 0px !important; margin-top: 0px !important; @@ -896,15 +738,6 @@ a.donate { /* Rules for edit menu */ -.menuicon { - padding: 0 $lineheight/4; - font-weight: normal; - display: inline-block; - &:hover { - text-decoration: none !important; - } -} - .menu { display: none; z-index: 10000; @@ -937,25 +770,44 @@ a.donate { text-align: center; } -/* Rules for the popout map sidebar */ +/* Rules for the sidebar */ #sidebar { - display: none; - position: relative; - float: left; - border-right: 1px solid $lightgrey; - width: 33.3333%; - height: 100%; - ul { - margin-bottom: 0; - &:last-child { - border-bottom: 1px solid #ccc; - } - li { - margin-bottom: $lineheight/4; - &:last-child { - margin-bottom: 0; - } + border-right: $keyline; + + .alert { + background: #e00; + } + + h2, h3, h4 { + padding: $lineheight; + border-bottom: $keyline; + } + + h4 { + font-weight: normal; + } + + .icon.close { + position: absolute; + right: $lineheight; + } + + p { + margin: 0; + } + + .footer { + position: absolute; + bottom: 0; + } + + p.credits { + font-size: 11px; + color: #999; + + a { + color: #666; } } } @@ -980,17 +832,11 @@ a.donate { } #sidebar_content { - position: relative; - margin-bottom: 20px; - overflow: auto; - height: 100%; + position: absolute; + top: 72px; + bottom: 0; width: 100%; - h4 { - padding: 0 $lineheight $lineheight/2 $lineheight; - margin-top: $lineheight/2; - margin-bottom: 0; - border-bottom: 1px solid #ddd; - } + overflow-y: auto; } /* Rules for the map key which appears in the popout sidebar */ @@ -1014,7 +860,16 @@ a.donate { } .search_results_entry { - margin-bottom: 0; + .search_searching { + text-align: center; + margin: $lineheight auto; + width: $lineheight; + display: block; + } + + ul li { + border-bottom: 1px solid #ccc; + } .search_details { display: block; @@ -1025,15 +880,6 @@ a.donate { } } -.search_results_entry .search_searching { - text-align: center; - margin: $lineheight auto; - width: $lineheight; - display: block; -} - -ul.results-list li { border-bottom: 1px solid #ccc; } - .search_results_error { color: #f00; } @@ -1085,34 +931,45 @@ ul.results-list li { border-bottom: 1px solid #ccc; } margin: $lineheight/4; } -/* Rules for the main content area */ +/* Rules for the sidebar and main content area */ + +.site-index, +.site-export, +.site-edit, +.changeset-list, +.browse { + #content { + position: absolute; + top: $headerHeight; + bottom: 0; + width: 100%; + } + + #sidebar, #map { + position: relative; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + } + + #sidebar { + float: left; + width: $sidebarWidth; + } +} -#content { +.content-heading { position: relative; padding: $lineheight; + background: $lightgrey; + border-bottom: $keyline; } -.site-edit #content, -.site-index #content, -.site-export #content { - position: fixed; - padding: 0; - top: 30px; bottom: 0; - left: 184px; right: 0; - border-left: 1px solid #ccc; +.content-body { + padding: $lineheight; } /* 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, @@ -1126,7 +983,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .user-new, .user-create, .user-terms { - #content { + .content-body { padding: 0; } } @@ -1163,14 +1020,13 @@ ul.results-list li { border-bottom: 1px solid #ccc; } @media only screen and (max-width:900px) { .header-illustration.new-user-arm { display: none;} -} - .wrapper { - margin-left: 184px; - border-left: 1px solid #ccc; + margin-left: $sidebarWidth; text-align: left; } +} + #content.maximised { top: 0; left: 0; @@ -1216,24 +1072,6 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } } -.content-heading { - position: relative; - padding: $lineheight; - background: $offwhite; - z-index: 2; - h1, h2 { - margin-bottom: $lineheight/2; - line-height: 100%; - &:last-child { - margin-bottom: 0; - } - } - p { - margin-top: $lineheight/2; - margin-bottom: 0px; - } -} - /* Rules for small maps in content areas */ .content_map { @@ -1245,115 +1083,86 @@ ul.results-list li { border-bottom: 1px solid #ccc; } float: right; } -.content_map #small_map { - height: 100%; - width: 100%; - margin-bottom: $lineheight; -} - -/* Rules for the changeset list shown by the history tab etc */ +/* Rules for the changeset list shown by the history tab */ -#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; +#sidebar .changesets { + li { + padding: $lineheight; + border-bottom: $keyline; } - .date, - .user { - border-left: 1px solid #ccc; - padding-left: $lineheight/4; - margin-right: $lineheight/4; + + p { + padding: 0; } } -#changeset_list_map_wrapper { - position: absolute; - width: 50%; - height: 490px; - top: 0; - right: 0; -} +/* Rules for the data browser */ -#changeset_list_map_wrapper.scrolled { - position: fixed; -} +body.browse #sidebar_content { + .browse-section { + padding: 20px; + border-bottom: 1px solid #CCC; -#changeset_list_map { - position: absolute; - bottom: $lineheight; - top: $lineheight; - right: $lineheight; - left: $lineheight; - border: 1px solid #ccc; -} + ul { + margin: 0; + } + } -#changeset_list_map_wrapper.scrolled #changeset_list_map { - margin-left: 93px; -} + .browse-field { + margin-bottom: 10px; -/* Rules for the data browser */ + h4 { + margin: 0; + padding: 5px 0 5px 10px; + font-size: 12px; + border: 1px solid #CCC; + border-radius: 4px 4px 0 0; + background-color: #F6F6F6; + } -.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; - } - ul, .bbox, .geo { - display: inline-block; - vertical-align: top; - max-width: 65%; - } - ul p { - margin-left: 0; - margin-bottom: 0; - } - h4 { - float: left; - width: 33.3333%; - display: inline-block; - vertical-align: top; + p { + margin: 0; + padding: 7px 10px; + font-size: 12px; + background-color: #FFF; + border: 1px solid #CCC; + border-top: 0; + border-radius: 0 0 4px 4px; + } } -} -.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%; - } -} + .browse-tag-list { + border: 1px solid #CCC; + border-radius: 4px; + font-size: 12px; -#browse_map .secondary-actions { - display: none; - margin-bottom: $lineheight/2; + li { + border-bottom: 1px solid #CCC; + } + + li:last-child { + border-bottom: 0; + } + + .browse-tag-k, + .browse-tag-v { + display: inline-block; + width: 50%; + height: 30px; + float: left; + padding: 9px 10px; + } + + .browse-tag-k { + font-weight: bold; + background-color: #F6F6F6; + border-radius: 4px 0 0 4px; + } + + .browse-tag-v { + border-left: 1px solid #CCC; + } + } } /* Rules for the trace list shown by the traces tab etc */ @@ -2309,29 +2118,6 @@ a.button { * 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%; @@ -2341,15 +2127,22 @@ a.button { .ad-container { display: block; height: 120px; + margin: auto; overflow: hidden; position: relative; border-bottom: 1px solid #ccc; -} -.ad { - height: 100px; - border: 0; - background: #fff; + a { + display: block; + width: 165px; + margin: auto; + } + + .ad { + height: 100px; + border: 0; + background: #fff; + } } /* Rules for dropdown menus */ @@ -2437,7 +2230,7 @@ a.button { .dropdown-submenu:focus > a { color: #ffffff; text-decoration: none; - background-color: #0081c2; + background-color: $green; } .dropdown-menu > .active > a, @@ -2445,7 +2238,7 @@ a.button { .dropdown-menu > .active > a:focus { color: #ffffff; text-decoration: none; - background-color: #0081c2; + background-color: $green; outline: 0; } @@ -2559,3 +2352,142 @@ a.button { border-radius: 4px; } } + +.site-about #content { + background-color: #000; + background-position: 50% 50%; + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; + + &.photo-0 { background-image: image-url('about/0.jpg'); .photo-0 { display: block; } } + &.photo-1 { background-image: image-url('about/1.jpg'); .photo-1 { display: block; } } + &.photo-2 { background-image: image-url('about/2.jpg'); .photo-2 { display: block; } } + &.photo-3 { background-image: image-url('about/4.jpg'); .photo-3 { display: block; } } + &.photo-4 { background-image: image-url('about/4.jpg'); .photo-4 { display: block; } } + &.photo-5 { background-image: image-url('about/5.jpg'); .photo-5 { display: block; } } + + .caption { + max-width: 200px; + font: italic 14px/20px 'Times New Roman', serif; + position: fixed; + text-align: right; + right: 20px; + bottom: 60px; + text-shadow: #000 0px 1px 5px; + color: #fff; + display: none; + } + + .caption a { + color: white; + white-space: nowrap; + text-decoration: none; + } + + a.next { + display: block; + position: fixed; + right: 10px; + bottom: 10px; + width: 40px; + height: 40px; + border-radius: 5px; + text-indent: -9999px; + overflow: hidden; + background: image-url('about/sprite.png') -120px 0px no-repeat; + background-color: #000; + background-color: rgba(0, 0, 0, 0.5); + } + + #content-body { + display: block; + position: relative; + margin: auto; + color: #333; + width: 50%; + min-width: 320px; + max-width: 640px; + + .section { + margin-bottom: 30px; + } + + .section:last-child { + margin-bottom: 0; + } + } + + .text { + background: white; + padding: 40px; + } + + .attr { + position: relative; + padding: 170px 20px 20px 20px; + background: #333; + background: rgba(0, 0, 0, .8); + margin-bottom: 0; + + strong { + display: block; + color: white; + font-size: 25px; + span { + color: #76c551; + } + } + + .user-image { + position: absolute; + top: 0px; + right: 240px; + left: 0px; + height: 150px; + background-position: 0 50%; + background-repeat: no-repeat; + background-image: image-url('about/osm.png'); + background-size: cover; + background-color: #76c551; + } + + .byosm { + position: absolute; + top: 0px; + right: 0px; + z-index: 1; + width: 240px; + height: 150px; + padding: 20px 20px 20px 40px; + font: bold 24px/25px Helvetica, Arial, sans-serif; + white-space: nowrap; + color: #fff; + background: #76c551 + } + + .byosm span { + display: inline-block; + width: 25px; + margin-left: -25px; + } + } + + h2 { + margin-bottom: 10px; + } + + .icon { + width: 30px; + height: 30px; + margin-right: 10px; + vertical-align: middle; + background: 40px 40px image-url('about/sprite.png') no-repeat; + + &.local { background-position: 0px 0px; } + &.community { background-position: 0px -40px; } + &.open { background-position: 0px -80px; } + &.contributors { background-position: 0px -120px; } + &.infringement { background-position: 0px -160px; } + } +}