X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/549372323700eff5855baffecdfd095d2f8a4555..080236a2422c343842ad549c144108b7c51dff84:/app/assets/stylesheets/common.css.scss diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index 57ac0f17e..bfbe971dd 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -10,9 +10,10 @@ $grey: #CCC; $lightgrey: #EEE; $darkgrey: #AAA; $hovercolor: 20%; -$headerHeight: 75px; -$sidebarWidth: 350px; -$keyline: 1px solid $grey; +$headerHeight: 54px; +$sidebarWidth: 300px; +$keyline: 1px solid $lightgrey; +$border-radius: 3px; /* Styles common to large and small screens */ @@ -97,9 +98,9 @@ abbr, acronym { /* Default rules for the body of every page */ * { - -moz-box-sizing: border-box; -webkit-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } body { @@ -118,7 +119,7 @@ body.slim { } h1, h2, h3 { - font-weight: bold; + font-weight: 500; line-height: 1.2; } @@ -130,10 +131,6 @@ h2, h3 { font-size: 16px; } -p { - margin-bottom: $lineheight; -} - p > img { width: auto; max-width: 100%; @@ -143,15 +140,6 @@ 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; @@ -172,10 +160,6 @@ h6:first-child { 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; } @@ -199,6 +183,8 @@ h6:first-child { a { color: #00f; text-decoration: none; + -webkit-appearance: none; + outline: 0; &:hover { text-decoration: underline; } @@ -224,7 +210,7 @@ table { line-height: $lineheight; } th { - font-weight: bold; + font-weight: 500; vertical-align: top; } td { @@ -232,51 +218,6 @@ table { } } -/* Rules for the search box */ - -#search_form { - position: relative; - padding: $lineheight; - background-color: $lightgrey; - border-bottom: $keyline; - - #query_wrapper { - position: relative; - overflow: hidden; - } - - 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:focus { - outline: none; - box-shadow: 0px 0px 7px #9ED485; - } - - input[type=submit] { - float: right; - width: auto; - min-width: 0; - border-radius: 0 2px 2px 0; - } - - #describe_location { - position: absolute; - top: 6px; - right: 6px; - font-size: 10px; - color: $blue; - } -} - /* Utility for de-emphasizing content */ .deemphasize { @@ -286,34 +227,14 @@ table { } } -/* Rules for donation request box */ - -a.donate { - display: block; - width: 163px; - padding: $lineheight/4; - border: 1px solid #AED1A0; - background: #cbeea7; - font-size: $typeheight; - line-height: 1.4; - text-align: center; - border-radius: 2px; - color: #222; - margin: $lineheight/2 auto; - - &:hover { - background: #9ed485; - text-decoration: none; - } -} - /* Rules for the header */ header { height: $headerHeight; position: relative; - border-bottom: $keyline; + // border-bottom: $keyline; z-index: 1001; + font-size: 13px; h1, nav, nav > ul, nav > ul > li, .dropdown { display: inline-block; @@ -321,7 +242,7 @@ header { > * { height: 100%; - padding: $lineheight; + padding: $lineheight/2 $lineheight; } h1, nav.primary { @@ -333,14 +254,15 @@ header { } img.logo { - width: 40px; - height: 40px; + width: 30px; + height: 30px; + margin-top: -4px; vertical-align: middle; } h1 { margin: 0; - border-right: $keyline; + padding: ($lineheight - 3) $lineheight ($lineheight + 3); a { color: #000; @@ -350,45 +272,49 @@ header { nav.primary { > ul { - $border: 1px solid darken($green, 20%); + $border: 1px solid $green; border: $border; - border-radius: 4px; + border-radius: $border-radius; > li { border-right: $border; - &:last-child { border-right: 0; } + &:last-child { + border-right: 0; + > a { border-radius: 0 $border-radius $border-radius 0; } + } + &:first-child > a { border-radius: $border-radius 0 0 $border-radius; } + > a:hover { background: lighten($green, 30%); } + &.current > a:hover { background: $green; } + &.disabled > a:hover { background: lighten($green, 38%); } + &.dropdown { + > a.tab { border-right: 1px solid lighten($green, 30%); } + &.current > a.tab { border-right: 1px solid lighten($green, 10%); } + } } } a.tab, .dropdown-toggle { display: inline-block; - font-weight: bold; + font-weight: 500; color: $green; padding: 5px 15px; } .dropdown-toggle { - padding: 5px 10px; - } - - #edit_tab a.tab { - border-right: 1px solid lighten($green, 20%); + padding: 5px 6px; } .caret { border-top-color: $green; + margin-top: 10px; } .disabled a { color: #ccc; cursor: default; - &:hover { - text-decoration: none; - } - .caret { border-top-color: #ccc; } @@ -414,10 +340,11 @@ nav.secondary { > ul a, .dropdown-toggle { display: inline-block; - font-weight: bold; text-decoration: none; color: $darkgrey; - padding: 5px 5px; + padding: 5px; + + &:hover { color: darken($darkgrey, 10%); } } > ul li.current a { @@ -427,39 +354,58 @@ nav.secondary { .user-menu { $border: 1px solid $grey; + font-weight: 500; border: $border; - border-radius: 4px; + border-radius: $border-radius; margin-left: 10px; > li { border-right: $border; - &:last-child { border-right: 0; } + &:last-child { + border-right: 0; + + > a { + border-radius: 0 $border-radius $border-radius 0; + } + } + &:first-child > a { border-radius: $border-radius 0 0 $border-radius; } + &:hover a { background: lighten($darkgrey, 30%); } } a { padding: 5px 15px; } + + &.logged-in > a { + padding: 0; + > .user-button { + padding: 5px 10px 5px 6px; + display: inline-block; + } + } } .caret { border-top-color: $grey; - margin-top: 10px; + margin-top: 9px; } img.user_thumbnail_tiny { border: 0; vertical-align: top; - margin-top: 2px; - border-radius: 2px 0 0 2px; + margin-top: 0px; + margin: 3px 0 0 3px; + border-radius: 2px; } #inboxanchor { display: inline-block; vertical-align: top; - height: 20px; - margin: 2px 7px 0 0; - background-color: $grey; - border-radius: 0 2px 2px 0; + height: 25px; + margin: 3px 0 3px 3px; + background-color: lighten($grey, 10%); + line-height: 20px; + border-radius: 2; } .dropdown-menu { @@ -586,7 +532,6 @@ nav.secondary { 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; @@ -627,40 +572,113 @@ nav.secondary { border-radius: 0 0 0 4px; } -/* Rules for the home page */ +/* Rules for the sidebar and main map area */ -#map { - height: 100%; - overflow: hidden; -} +.map-layout { + #content { + position: absolute; + top: $headerHeight; + bottom: 0; + width: 100%; + } -#map-ui { - display: none; - position: relative; - float: right; - width: 250px; - height: 100%; - background: white; - overflow: auto; + #sidebar, #map { + position: relative; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + } + + #sidebar { + float: left; + width: $sidebarWidth; + border-right: $keyline; + + h2, h3, h4 { + padding: $lineheight $lineheight $lineheight/2; + } + + h4 { + font-weight: normal; + color: #666; + font-size: 12px; + } + + .icon.close { + position: absolute; + right: $lineheight; + } + + .footer { + position: absolute; + bottom: 0; + } + + p.credits { + font-size: 11px; + color: #999; + + a { + color: #666; + } + } - .section { - border-bottom: 1px solid #DDD; - padding: 15px; + p.large-text { + font-size: 1.7em; + line-height: 1.4em; + font-weight: 300; + } + } + + #sidebar.minimized { + position: absolute; + z-index: 1000; + height: auto; + border-right: none; + + #sidebar_content { + display: none; + } + + #search_form { + background: none; + width: 78%; + } + } + + #map { + height: 100%; + overflow: hidden; } - a.close-button { + #map-ui { + display: none; + position: relative; float: right; - padding:5px; - font-size:20px; - line-height:10px; - color:#222; - border:1px solid #ddd; + width: 250px; + height: 100%; + background: white; + 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 { + li:last-child { margin-bottom: 0; } } @@ -783,71 +801,124 @@ nav.secondary { /* Rules for the sidebar */ -#sidebar { - border-right: $keyline; +.sidebar_heading { + position: relative; + padding: $lineheight/2 $lineheight; + background: $offwhite; + border-bottom: 1px solid #ccc; +} + +.sidebar_close { + position: absolute; + height: $lineheight; + top: 0px; + bottom: 0; + right: $lineheight; + margin: auto; +} + +#sidebar_content { + position: absolute; + top: 50px; + bottom: 0; + width: 100%; + overflow-y: auto; - .alert { - background: #e00; + .loader, + .load_more { + text-align: center; + margin: $lineheight auto; + width: $lineheight; + display: block; } +} - h2, h3, h4 { - padding: $lineheight; - border-bottom: $keyline; +/* Rules for the search box */ + +#search_form { + position: relative; + padding: $lineheight/2 $lineheight; + background-color: $lightgrey; + + #query_wrapper { + position: relative; + overflow: hidden; } - h4 { - font-weight: normal; + 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; } - .icon.close { - position: absolute; - right: $lineheight; + input:focus { + outline: none; + box-shadow: 0px 0px 7px #9ED485; } - p { - margin: 0; + input[type=submit] { + float: right; + width: auto; + min-width: 0; + border-radius: 0 2px 2px 0; } - .footer { + #describe_location { position: absolute; - bottom: 0; + top: 6px; + right: 6px; + font-size: 10px; + color: $blue; } +} - p.credits { - font-size: 11px; - color: #999; +/* Rules for donation request box */ - a { - color: #666; - } +a.donate { + display: block; + width: 163px; + padding: $lineheight/4; + border: 1px solid #AED1A0; + background: #cbeea7; + font-size: $typeheight; + line-height: 1.4; + text-align: center; + border-radius: 2px; + color: #222; + margin: $lineheight/2 auto; + + &:hover { + background: #9ed485; + text-decoration: none; } } -.sidebar_heading { +/* Rules for rotating sidebar ads */ + +.ad-container { + display: block; + height: 120px; + margin: auto; + overflow: hidden; position: relative; - padding: $lineheight/2 $lineheight; - background: $offwhite; border-bottom: 1px solid #ccc; - h4 { - margin: 0; - } -} -.sidebar_close { - position: absolute; - height: $lineheight; - top: 0px; - bottom: 0; - right: $lineheight; - margin: auto; -} + a { + display: block; + width: 165px; + margin: auto; + } -#sidebar_content { - position: absolute; - top: 72px; - bottom: 0; - width: 100%; - overflow-y: auto; + .ad { + height: 100px; + border: 0; + background: #fff; + } } /* Rules for the map key which appears in the popout sidebar */ @@ -863,67 +934,146 @@ nav.secondary { } } -/* Rules for search results which appear in the popout sidebar */ +/* Rules for search results which appear in the popout sidebar */ + +.search_results_entry { + ul li { + border-bottom: $keyline; + &:first-child { border-top: $keyline; } + } + + .search_details { + display: block; + float: right; + text-align: right; + margin-top: 0.2em; + margin-left: 0.5em; + } +} + +.search_results_error { + color: #f00; +} + +/* Rules for data browser information which appears in the popout sidebar */ + +#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 { + position: relative; +} + +.browse_status { + display: none; +} + +/* Rules for the changeset list shown by the history tab */ + +#sidebar .changesets { + li { + padding: $lineheight; + border-bottom: $keyline; + cursor: pointer; + } + + li.selected { + background: #FCFEA4; + } +} + +/* Rules for the data browser */ + +#sidebar_content { + .browse-section { + padding: 20px; + } + + .browse-field { + margin-bottom: 10px; + + h4 { + padding: 5px 0 5px 10px; + font-size: 12px; + border: 1px solid #CCC; + border-radius: 4px 4px 0 0; + background-color: #F6F6F6; + } + + p { + padding: 7px 10px; + font-size: 12px; + background-color: #FFF; + border: 1px solid #CCC; + border-top: 0; + border-radius: 0 0 4px 4px; + } + } + + .browse-tag-list { + border: 1px solid #CCC; + border-radius: 4px; + font-size: 12px; + + li { + border-bottom: 1px solid #CCC; + } -.search_searching { - margin-top: $lineheight/4; - margin-bottom: $lineheight/4; -} + li:last-child { + border-bottom: 0; + } -.search_results_entry { - .search_searching { - text-align: center; - margin: $lineheight auto; - width: $lineheight; - display: block; - } + .browse-tag-k, + .browse-tag-v { + display: inline-block; + width: 50%; + height: 30px; + float: left; + padding: 6px 10px; + } - ul li { - border-bottom: 1px solid #ccc; - } + .browse-tag-k { + font-weight: 500; + background-color: #F6F6F6; + border-radius: 4px 0 0 4px; + } - .search_details { - display: block; - float: right; - text-align: right; - margin-top: 0.2em; - margin-left: 0.5em; + .browse-tag-v { + border-left: 1px solid #CCC; + } } } -.search_results_error { - color: #f00; -} +/* Rules for the changeset details */ -/* Rules for data browser information which appears in the popout sidebar */ +#sidebar_content { + .browse-section.header { + padding: 20px; + border-bottom: 1px solid #CCC; -#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; + h2 { + padding: 0 0 5px 0; + border-bottom: none; + } } } -.browse_details { - position: relative; -} - -.browse_status { - display: none; -} - /* Rules for export information which appears in the popout sidebar */ .export_bounds { @@ -942,13 +1092,9 @@ nav.secondary { margin: $lineheight/4; } -/* Rules for the sidebar and main content area */ +/* Rules for edit pages */ -.site-index, -.site-export, -.site-edit, -.changeset-list, -.browse { +.site-edit { #content { position: absolute; top: $headerHeight; @@ -956,27 +1102,32 @@ nav.secondary { width: 100%; } - #sidebar, #map { - position: relative; + #map { height: 100%; - overflow-x: hidden; - overflow-y: auto; - } - - #sidebar { - float: left; - width: $sidebarWidth; } } +/* Rules for non-map content pages */ + .content-heading { - position: relative; - padding: $lineheight; background: $lightgrey; - border-bottom: $keyline; + // border-bottom: $keyline; } .content-body { + h1, h2, h3, p { + margin-bottom: $lineheight; + } + + h1, h2, h3 { + margin-top: $lineheight/2; + } +} + +.content-inner { + position: relative; + max-width: 900px; + margin: auto; padding: $lineheight; } @@ -984,18 +1135,18 @@ nav.secondary { .user-new, .user-create, -.user-terms, -.user-confirm { - .content-heading { - height: 200px; +.user-terms { + .content-body .content-inner { + padding: 0; } } .user-new, .user-create, -.user-terms { - .content-body { - padding: 0; +.user-terms, +.user-confirm { + .content-heading .content-inner { + height: 200px; } } @@ -1026,16 +1177,14 @@ nav.secondary { left: 260px; top: 160px; background-image: image-url("sign-up-illustration-arm.png"); + z-index: 100; } } @media only screen and (max-width:900px) { - .header-illustration.new-user-arm { display: none;} -.wrapper { - margin-left: $sidebarWidth; - text-align: left; -} - + .header-illustration.new-user-arm { + display: none; + } } #content.maximised { @@ -1094,88 +1243,6 @@ nav.secondary { float: right; } -/* Rules for the changeset list shown by the history tab */ - -#sidebar .changesets { - li { - padding: $lineheight; - border-bottom: $keyline; - } - - p { - padding: 0; - } -} - -/* Rules for the data browser */ - -body.browse #sidebar_content { - .browse-section { - padding: 20px; - border-bottom: 1px solid #CCC; - - ul { - margin: 0; - } - } - - .browse-field { - margin-bottom: 10px; - - h4 { - margin: 0; - padding: 5px 0 5px 10px; - font-size: 12px; - border: 1px solid #CCC; - border-radius: 4px 4px 0 0; - background-color: #F6F6F6; - } - - 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; - } - } - - .browse-tag-list { - border: 1px solid #CCC; - border-radius: 4px; - font-size: 12px; - - 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 */ #trace_list { @@ -1314,46 +1381,40 @@ body.browse #sidebar_content { /* Rules for the diary list page */ -.diary_entry-list img.user_thumbnail { - float: left; -} - .diary_post { - max-width: 740px; position: relative; margin-top: $lineheight/2; padding-top: $lineheight; border-top: 1px solid #ccc; - &:first-child { - margin-top: 0; - border-top: 0; - padding-top: 0; + .post_heading { + margin-bottom: $lineheight; + + h2 { + margin-top: 0; + margin-bottom: $lineheight/2; + font-size: 24px; + } } - h1, h2 { - font-size: 21px; - line-height: 1em; + + img.user_thumbnail { + float: left; } + small.deemphasize { float: left; display: block; } - ul.secondary-actions { display: inline-block;} + + ul.secondary-actions { + display: inline-block; + } } .content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div display: inline; } -#content .post_heading { - margin-bottom: $lineheight; - h2 { - margin-top: 0; - margin-bottom: $lineheight/2; - font-size: 24px; - } -} - /* Rules for the diary entry page */ .diary_entry { @@ -1561,17 +1622,19 @@ body.browse #sidebar_content { /* Rules for "flash" notice boxes shown at the top of the content area */ -.flash { - padding: $lineheight; - &#error { - background-color: #ff7070; - } - &#warning { - background-color: #ffe0cc; - } - &#notice { - background-color: #CBEEA7; - } +.error { + padding: $lineheight; + background-color: #ff7070; +} + +.warning { + padding: $lineheight; + background-color: #ffe0cc; +} + +.notice { + padding: $lineheight; + background-color: #CBEEA7; } /* Rules for highlighting fields with rails validation errors */ @@ -1604,7 +1667,7 @@ body.browse #sidebar_content { h2 { margin: 0 -10px 10px -10px; padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; - font-weight: bold; + font-weight: 500; font-size: 12px; background-color: #c00; color: #fff; @@ -1637,7 +1700,7 @@ body.browse #sidebar_content { display: block; margin-bottom: $lineheight/4; font-size: $typeheight; - font-weight: bold; + font-weight: 500; line-height: 1.5; } label.standard-label.secondary { @@ -1765,6 +1828,12 @@ ul.secondary-actions { } } +div.secondary-actions { + padding: 10px; + border-top: 1px solid #ccc; + text-align: center; +} + /* Utility for managing inner content areas */ .inner22 { padding: $lineheight;} @@ -1860,7 +1929,7 @@ a.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; + border-right-width: 1px; } } @@ -2102,37 +2171,13 @@ a.button { } } -/* - * Rules for the iD editor - */ +/* Rules for the iD editor */ .id-embed { width: 100%; height: 100%; } -/* Rules for rotating sidebar ads */ -.ad-container { - display: block; - height: 120px; - margin: auto; - overflow: hidden; - position: relative; - border-bottom: 1px solid #ccc; - - a { - display: block; - width: 165px; - margin: auto; - } - - .ad { - height: 100px; - border: 0; - background: #fff; - } -} - /* Rules for dropdown menus */ .dropdown { @@ -2167,7 +2212,7 @@ a.button { .dropdown-menu { position: absolute; top: 100%; - left: 0; + left: -1px; z-index: 1000; display: none; float: left; @@ -2388,12 +2433,9 @@ a.button { background-color: rgba(0, 0, 0, 0.5); } - #content-body { - display: block; + .content-inner { position: relative; - margin: auto; color: #333; - width: 50%; min-width: 320px; max-width: 640px; @@ -2448,7 +2490,7 @@ a.button { width: 240px; height: 150px; padding: 20px 20px 20px 40px; - font: bold 24px/25px Helvetica, Arial, sans-serif; + font: 500 24px/25px Helvetica, Arial, sans-serif; white-space: nowrap; color: #fff; background: #76c551 @@ -2479,3 +2521,5 @@ a.button { &.infringement { background-position: 0px -160px; } } } + +@import 'browse';