X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/447fef40cf9b213ec4c019cc84be5597c26edcb9..e91c02f2ceb2b72a77846a0c31f5eca22b9b0a65:/app/assets/stylesheets/common.scss diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index f22450cea..e0eec7bda 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1,128 +1,13 @@ @import "parameters"; +@import "bootstrap"; +@import "rails_bootstrap_forms"; /* 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, input { - margin: 0; - padding: 0; - border: 0; - font-size:100%; -} - -fieldset,img { border: 0; } - -legend { color: #000; } - -sup { - vertical-align: super; - font-size: smaller; -} - -sub { - vertical-align: sub; - font-size: smaller; -} - -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; -} - -strong { - font-weight: bold; -} - -/* Micro Clearfix | Details: http://nicolasgallagher.com/micro-clearfix-hack/ */ - -.clearfix:before, -.clearfix:after { - content: " "; - display: table; -} - -.clearfix:after { - 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 */ -* { - box-sizing: border-box; -} - body { - font-family: 'Helvetica Neue',Arial,sans-serif; font-size: $typeheight; - line-height: 1.6666; - color: #222; - background-color: #fff; - margin: 0px; - padding: 0px; - text-align: left; - height: 100%; -} - -h1, h2, h3 { - font-weight: 600; - line-height: 1.2; -} - -h4, h5 { - font-weight: 500; -} - -h1 { - font-size: 18px; -} - -h2, h3 { - font-size: 16px; } p > img { @@ -136,17 +21,14 @@ small, aside { #container { position: relative; } -.column-1 { - width: 50%; - margin: 0 0 $lineheight/2 0; -} - .small_icon { vertical-align: middle; margin-right: $lineheight/4; } -.red { color: $red; } +[dir=rtl] { /* no-r2 */ text-align: right; } + +[dir=ltr] { /* no-r2 */ text-align: left; } /* Rules for icons */ @@ -161,71 +43,40 @@ small, aside { overflow: hidden; } -.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.close:hover { background-position: -200px -20px; } -.icon.check { background-position: -220px 0; } -.icon.note { background-position: -240px 0; } -.icon.note.grey { background-position: -240px -20px; } -.icon.query { background-position: -260px 0; } +.icon.search { /* no-r2 */ background-position: 0 0; } +.icon.donate { /* no-r2 */ background-position: -20px 0; } +.icon.zoomin { /* no-r2 */ background-position: -40px 0; } +.icon.zoomout { /* no-r2 */ background-position: -60px 0; } +.icon.geolocate { /* no-r2 */ background-position: -80px 0; } +.active .icon.geolocate { /* no-r2 */ background-position: -80px -20px; } +.icon.layers { /* no-r2 */ background-position: -100px 0; } +.icon.key { /* no-r2 */ background-position: -120px 0; } +.icon.share { /* no-r2 */ background-position: -140px 0; } +.icon.clipboard { /* no-r2 */ background-position: -160px 0; } +.icon.link { /* no-r2 */ background-position: -180px 0; } +.icon.close { /* no-r2 */ background-position: -200px 0; } +.close-wrap:hover .icon.close, +.icon.close:hover { /* no-r2 */ background-position: -200px -20px; } +.icon.check { /* no-r2 */ background-position: -220px 0; } +.icon.note { /* no-r2 */ background-position: -240px 0; } +.icon.note.grey { /* no-r2 */ background-position: -240px -20px; } +.icon.query { /* no-r2 */ background-position: -260px 0; } /* Rules for links */ a { color: #24d; text-decoration: none; - -webkit-appearance: none; outline: 0; &:hover { text-decoration: underline; } } -/* Rules for horizontal lines */ - -hr { - border: none; - background-color: #ccc; - color: #ccc; - height: 1px; -} - -/* General styles for tables */ - -table { - width: 100%; - margin-bottom: $lineheight; - th, td { - text-align: left; - padding: $lineheight/4; - line-height: $lineheight; - } - th { - font-weight: 600; - vertical-align: top; - } - td { - vertical-align: middle; - } -} - /* Utility for de-emphasizing content */ -.deemphasize { - color: #999; - a { - color: $blue; - } +.text-muted a { + color: $blue; } /* Rules for the header */ @@ -248,7 +99,7 @@ header { z-index: 1001; font-size: 14px; - h1, nav, nav > ul, nav > ul > li, .dropdown { + h1, nav, nav > ul, nav > ul > li { display: inline-block; } @@ -273,73 +124,55 @@ header { } h1 { + font-size: 18px; + font-weight: 600; + line-height: 1.2; margin: 0; padding-top: 15px; a { color: #000; } - } -} - -nav.primary { - > ul { - $border: 1px solid $green; - border: $border; - border-radius: $border-radius; - - > li { - border-right: $border; - float: left; - &:last-child { - border-right: 0; - } - > 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:hover { + color: #000; } } - a.tab, - .dropdown-toggle { - display: inline-block; - font-weight: 500; - color: $green; - padding: 5px 15px; + .btn { + font-size: 14px; } +} - .dropdown-toggle { - padding: 5px 6px; - } - .caret { - border-top-color: $green; - margin-top: 10px; +nav.primary { + .btn-outline-primary { + @include button-outline-variant($green, $white); } - .disabled a { - color: #ccc; - cursor: default; + .disabled { + .btn-outline-primary { + color: $grey; + cursor: default; + + .caret { + border-top-color: $grey; + } - .caret { - border-top-color: #ccc; + &:hover { + background-color: lighten($green, 30%); + } } } - > ul li.current { + // Small tweaks to the toggle to stop the primary colour showing through + // when the menu is shown + .show > .btn-outline-primary.dropdown-toggle { background-color: $green; + border-color: $green; - .tab { - color: #fff; - } - - .caret { - border-top-color: #fff; + &:focus { + box-shadow: 0 0 0 0.2rem fade-out($green, 0.5); } } } @@ -348,105 +181,76 @@ nav.secondary { position: absolute; right: 0; - > ul { - vertical-align: middle; - a, .dropdown-toggle { - display: inline-block; - text-decoration: none; - color: $darkgrey; - padding: 5px; - - &:hover { color: darken($darkgrey, 25%); } - } + .nav-link { + padding: 0.2rem; + color: $darkgrey; } > ul li.current a { color: darken($darkgrey, 25%); } - .user-menu { - $border: 1px solid $grey; - border: $border; - border-radius: $border-radius; - margin-left: 10px; - - > li { - border-right: $border; - float: left; - &: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%); } + .login-menu { + .btn-outline-secondary { + @include button-outline-variant($darkgrey); } + } - a { - padding: 5px 15px; - + .user-menu { + .btn-outline-secondary { + @include button-outline-variant($darkgrey, $darkgrey, white, $darkgrey); + border-color: $grey; + &:hover { + border-color: $grey; + } + &:focus { + background-color: white; + box-shadow: none; + } } - - &.logged-in > a { - padding: 0; - > .user-button { - line-height: 1.8; - padding: 5px 10px 3px 6px; - display: inline-block; - color: $darkgrey; + &.show .btn-outline-secondary { + background-color: white; + &:focus { + box-shadow: none; } - &:hover > .user-button { color: darken($darkgrey, 5%); } } } - .caret { - border-top-color: $grey; - margin-top: 9px; - } - img.user_thumbnail_tiny { border: 0; - vertical-align: top; - margin-top: 0px; - margin: 4px 0 0 4px; - border-radius: 2px; + border-radius: 3px; } #inboxanchor { display: inline-block; - vertical-align: top; height: 25px; margin: 3px 0 3px 3px; background-color: lighten($grey, 10%); line-height: 20px; - border-radius: 2; + border-radius: 3; } .dropdown-menu { - left: auto; - right: -1px; - border-radius: 3px 0 3px 3px; - .count-number { - float: right; - padding: 0 5px; - margin: 0; + font-size: 14px; + } + } +} + +nav.primary, nav.secondary { + .dropdown-item { + &:hover, &:active { + background-color: $green; + color: white; } } } #compact-secondary-nav { display: none; - ul li a { - width: 100%; - color: #333; - &:hover { color: #fff; } - } } -body.compact { +body.compact-nav { #compact-secondary-nav { display: inline-block; } @@ -490,14 +294,15 @@ body.compact { background-color: black; } - &.disabled { + &.disabled, + &.leaflet-disabled { background-color: #333; background-color: rgba(0,0,0,.5); cursor: default; } &.active { - background-color: #9ed485; + background-color: $vibrant-green; } .icon { @@ -544,16 +349,46 @@ body.compact { float: left; width: $sidebarWidth; background: #fff; - font-size: 12px; + + #sidebar_loader { + display: none; + } + + #sidebar_content { + padding: $spacer; + } + + > div { + position: relative; + float: left; + clear: both; + width: 100%; + } h2 { - padding: $lineheight $lineheight $lineheight/2; + font-size: 1.5rem; } h3, h4 { margin-top: $lineheight; margin-bottom: $lineheight/2; - font-size: 13px; + font-size: 1.25rem; + } + + .close-wrap { + cursor: pointer; + position: absolute; + top: 0; + right: 0; + width: 60px; + height: 60px; + + .icon.close { + pointer-events: none; + position: absolute; + right: 20px; + top: 20px; + } } .icon.close { @@ -561,49 +396,57 @@ body.compact { cursor: pointer; } - p.error { - background-color: #ff7070; - padding: 10px; - font-weight: bold; - } - } + .flash { + padding: 15px; - .welcome { - display: none; + picture { + margin-right: -25px; + } + + div.message { + margin-left: 30px; + } + } } .overlay-sidebar #sidebar { position: absolute; z-index: 1000; height: auto; - border-bottom-right-radius: 5px; overflow: hidden; - .welcome { + + #banner { display: block; } + + .welcome { + display: none; + + &.visible { + display: block; + } + } + #sidebar_content { display: none; } } .welcome { + display: none; + p { - padding: $lineheight/2 $lineheight $lineheight; font-size: 110%; font-weight: 300; } + } - .button { - width: 50%; - float: left; - margin: 0; - border-radius: 0; - font-weight: normal; - padding: .6em; + #banner { + display: none; - &.learn-more { - border-right: 1px solid #fff; - } + img { + display: block; + width: $sidebarWidth; } } @@ -634,7 +477,7 @@ body.compact { overflow: auto; .section { - border-bottom: 1px solid #DDD; + border-bottom: 1px solid $grey; padding: 10px 20px; } @@ -644,14 +487,14 @@ body.compact { font-size:20px; line-height:10px; color:#222; - border:1px solid #ddd; + border:1px solid $grey; } .tooltip { opacity: 1; - border: 1px solid #ccc; + border: 1px solid $grey; .tooltip-arrow { - border-top-color: #ccc; + border-top-color: $grey; } } } @@ -691,7 +534,7 @@ body.compact { font-size: 16px; text-stroke: 2px #fff; background: rgba(255,255,255,.9); - z-index: 2; // For IE9 + z-index: 1000; input[type="radio"] { display: none; } @@ -710,7 +553,7 @@ body.compact { font-size: 13px; margin-bottom: 8px; } - li.disabled { color: #999; } + li.disabled { color: $darkgrey; } } } @@ -814,7 +657,7 @@ body.compact { position: relative; padding: $lineheight/2 $lineheight; // background: $offwhite; - // border-bottom: 1px solid #ccc; + // border-bottom: 1px solid $grey; > .close { float: right; margin-top: 2px; @@ -823,28 +666,40 @@ body.compact { } #browse_status { - p { - padding: $lineheight; - } - input { display: block; margin-left: auto; margin-right: auto; } + + > div { + padding: $spacer; + } } #sidebar { #sidebar_loader, - .loader, - .load_more { - text-align: center; + .search_more { + width: 100%; margin: $lineheight auto; + } + + .loader { + text-align: center; + margin: auto; width: 40px; display: block; } } +/* Temporary label size override until we remove site-wide font customisation */ + +form { + label { + font-size: 16px; + } +} + /* Rules for the search and direction forms */ header .search_forms, @@ -852,106 +707,6 @@ header .search_forms, display: none; } -.search_form, -.directions_form { - position: relative; - padding: $lineheight/2; - background-color: $lightgrey; - - .query_wrapper { - position: relative; - overflow: hidden; - border-radius: 2px 0 0 2px; - } - - input[type=text] { - width: 100%; - height: 30px; - transition: 300ms linear; - } - - input[type=text].overflow { - border-right: none; - } - - input:focus { - outline: none; - box-shadow: 0px 0px 7px #9ED485; - } - - input[type=submit].float { - float: right; - width: auto; - min-width: 0; - border-radius: 0 2px 2px 0; - } - - select { - /* this next line is to polyfill the vertical alignment of text within a select element, - * which is different between firefox and chrome. */ - padding: 0.3em 0; - } - - .query_options { - text-align: right; - font-size: 10px; - color: $blue; - } - - .describe_location { - position: absolute; - top: 6px; - right: 6px; - font-size: 10px; - color: $blue; - } - - .switch_link { - float: right; - width: auto; - min-width: 0; - margin-left: 6px; - } - - img.button { - display: block; - } - - span.force_width { - width: 100%; - padding-right: 25px; - display: block; - } - - select.routing_engines { - min-height: 30px; - margin: 0px 0px 5px 25px; - } - - input.routing_go { - min-width: 100px; - float: right; - } - - div.header { - width: 100%; - height: 30px; - } - - div.line { - width: 100%; - margin: 0px 0px 5px 0px; - } - - div.loader_copy { - display: none; - - img { - vertical-align: middle; - } - } -} - /* Rules for the map key which appears in the popout sidebar */ #mapkey { @@ -960,27 +715,19 @@ header .search_forms, margin-left: auto; margin-right: auto; } - td { - padding: 0 $lineheight/4 $lineheight/4 $lineheight/4; - } } /* Rules for search sidebar */ -.search_results_entry { +#sidebar .search_results_entry { ul li { - border-bottom: $keyline; cursor: pointer; - &:first-child { border-top: $keyline; } &.selected { background: $list-highlight; } } - .search_details { - display: block; - float: right; - text-align: right; - margin-top: 0.2em; - margin-left: 0.5em; + .search_more .loader { + display: none; + width: 100%; } } @@ -991,33 +738,23 @@ header .search_forms, /* Rules for routing */ -#sidebar_content>table { - padding: 5px 20px 10px 15px; - width: 100%; - border-collapse: separate; -} - div.direction { background-image: image-url('routing-sprite.png'); width: 20px; height: 20px; background-repeat: no-repeat; } -@for $i from 1 through 18 { -div.direction.i#{$i} { background-position: #{($i)*-20+20}px 0px; } -} - -p#routing_summary { - padding: 0 $lineheight $lineheight/4; +@for $i from 0 through 25 { +div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; } } td.instruction, td.distance { padding-top: $lineheight/5; padding-bottom: $lineheight/5; - border-bottom: 1px solid #DDD; + border-bottom: 1px solid $grey; } td.distance { - color: #BBB; + color: $darkgrey; text-align: right; font-size: x-small; } @@ -1027,8 +764,8 @@ tr.turn { tr.turn:hover { background: $list-highlight; } -.routing_engines, #route_from, #route_to { margin-left: 25px; } -.routing_marker { width: 15px; position: absolute; cursor: move; } + +.routing_marker { width: 15px; cursor: move; } /* Rules for entity history */ @@ -1047,37 +784,34 @@ tr.turn:hover { #sidebar .changesets { li { - padding: 15px 20px; - border-bottom: 1px solid #ddd; cursor: pointer; &.selected { background: $list-highlight; } /* color is derived from changeset bbox fillColor in history.js */ } - h4 { - margin: 0; - a { - color: #000; - } - } - .comments { float: right; - color: #999; + color: $darkgrey; } .comments-0 { opacity: 0.5; } + + .changeset_more .loader { + display: none; + width: 100%; + } } /* Rules for the browse sidebar */ #sidebar_content { .browse-section { - padding: $lineheight/2 $lineheight; - border-bottom: 1px solid #ddd; + padding-bottom: $spacer; + margin-bottom: $spacer; + border-bottom: 1px solid $grey; h4:first-child { margin-top: 0; @@ -1092,45 +826,42 @@ tr.turn:hover { .paginate { float: right; padding: 1px 6px; - border: 1px solid #eee; + border: 1px solid $lightgrey; border-radius: 3px; } - .paginate ul { - padding-left: 20px; - } - .browse-field { margin-bottom: 10px; h4 { padding: 5px 0 5px 10px; font-size: 12px; - border: 1px solid #CCC; + border: 1px solid $grey; border-radius: 4px 4px 0 0; - background-color: #F6F6F6; + background-color: $offwhite; } p { padding: 7px 10px; font-size: 12px; background-color: #FFF; - border: 1px solid #CCC; + border: 1px solid $grey; border-top: 0; border-radius: 0 0 4px 4px; } } .browse-tag-list { - background-color: #F6F6F6; - border: 1px solid #ddd; + background-color: $offwhite; + border: 1px solid $grey; border-radius: 3px; - font-size: 12px; table-layout: fixed; border-collapse: separate; + border-spacing: 0; + width: 100%; th, td { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid $grey; } tr:last-child th, tr:last-child td { @@ -1142,30 +873,35 @@ tr.turn:hover { width: 50%; padding: 6px 10px; word-wrap: break-word; + white-space: pre-wrap; } .browse-tag-k { font-weight: 500; - background-color: #F6F6F6; + background-color: $offwhite; } .browse-tag-v { - border-left: 1px solid #ddd; + border-left: 1px solid $grey; background-color: #fff; } - } - .warning { - margin: $lineheight/2 0; - padding: $lineheight/2; - font-size: 90%; + .colour-preview-box { + float: right; + width: 14px; + height: 14px; + margin: 4px 0px; + border: 1px solid rgba(0, 0, 0, .1); + // add color via inline css on element: background-color: ; + } } .note-comments li, .changeset-comments li { margin: $lineheight/2 0; p { - margin-left: 10px; + margin: 10px 6px 0 6px; + line-height: 1.5; } } @@ -1195,23 +931,11 @@ tr.turn:hover { margin: 0 0 10px 10px; } - .query-intro p { - padding: $lineheight $lineheight $lineheight/2; - } - .query-results { display: none; - h3 { - padding: $lineheight $lineheight $lineheight/2; - margin: 0; - } - ul { li { - padding: 15px 20px; - border-bottom: 1px solid #ddd; - &.query-result { cursor: pointer; } @@ -1224,11 +948,19 @@ tr.turn:hover { } } +/* Bootstrap buttons don't have any vertical margin, so + they touch when adjacent buttons wrap onto a new line + e.g. wide form buttons on a narrow sidebar */ + +.btn-wrapper { + > .btn { + margin-bottom: $spacer * 0.25; + } +} + /* Rules for export sidebar */ .export_form { - padding: $lineheight; - .export_area_inputs, .export_button { text-align: center; @@ -1237,38 +969,32 @@ tr.turn:hover { .export_area_inputs { margin-bottom: $lineheight/2; input[type="text"] { - width: 80px; + width: 100px; text-align: center; - margin-bottom: 5px; } } .export_boxy { - background: #eee; - border: 1px solid #ccc; + background: $lightgrey; + border: 1px solid $grey; border-radius: 3px; #maxlat { margin-top: -1px; } #minlon { float: left; - margin-left: -1px; + /* no-r2 */ margin-left: -1px; } #maxlon { float: right; - margin-right: -1px; + /* no-r2 */ margin-right: -1px; } - #minlat { margin-bottom: 0; } + #minlat { margin-bottom: -1px; } } .export_bound { margin: $lineheight/4; } - .export_button { - margin-top: $lineheight; - margin-bottom: $lineheight; - } - dl { padding-left: $lineheight/2; dd { @@ -1278,15 +1004,6 @@ tr.turn:hover { } } -/* Rules for the routing sidebar */ - -#sidebar_content { - #routing_credit { - text-align: center; - padding: 0.5em; - } -} - /* Rules for edit pages */ .site-edit { @@ -1307,51 +1024,22 @@ tr.turn:hover { .content-heading { background: $lightgrey; - - h1 { font-size: 22px; } -} - -.content-body { - h1, h2, h3, p, ul, ol { - margin-bottom: $lineheight; - } - - h1, h2, h3 { - margin-top: $lineheight/2; - } } .content-inner { position: relative; - max-width: 900px; + max-width: 960px; margin: auto; padding: $lineheight; } /* Overrides for pages that use new layout conventions */ -.user-new, -.user-create, -.user-terms { - .content-body .content-inner { - padding: 0; - } -} - -.user-new, -.user-create, -.user-terms, -.user-confirm { - .content-heading .content-inner { - height: 200px; - } -} - .header-illustration { background-position: 0 0; background-repeat: no-repeat; - position: absolute; - height: 200px; + position: relative; + min-height: 200px; width: 100%; left: 0; bottom: 0; @@ -1371,13 +1059,18 @@ tr.turn:hover { &.new-user-arm { height: 110px; width: 130px; - left: 260px; - top: 160px; + left: 280px; + top: 180px; background-image: image-url("sign-up-illustration-arm.png"); + position: absolute; z-index: 100; } } +[dir=rtl] .header-illustration { + transform: scaleX(-1); +} + #content.maximised { top: 0; left: 0; @@ -1390,135 +1083,24 @@ tr.turn:hover { /* Rules for small maps in content areas */ .content_map { - position: relative; - width: 45%; - height: 400px; - border: 1px solid #ccc; + height: 200px; + border: 1px solid $grey; margin-bottom: $lineheight; - float: right; -} - -/* Rules for the trace list shown by the traces tab etc */ - -#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; - } -} - -/* Rules for the new trace form */ - -#new_trace { - input[type=text] { - width: 50%; - width: calc(100% - 150px); - max-width: 500px; - } } -/* Rules for the edit trace form */ - -.edit_trace { - .form-row p { - margin-bottom: 0px; - } - - input[type=text] { - width: 50%; - width: calc(100% - 150px); - max-width: 500px; +@include media-breakpoint-up(md) { + .content_map { + height: 400px; } } /* 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; - } -} - -.admin-user-info small { - margin-bottom: $lineheight/2; - display: inline; - margin-right: $lineheight; -} - -.activity-block { - clear: left; - border-bottom: 1px solid #ccc; - padding-bottom: $lineheight; - float: left; - h3 { - margin-bottom: $lineheight/2; - } -} - .contact-activity { margin-top: $lineheight; width: 100%; } -.activity-details p { - margin-left: 70px; - margin-bottom: 0; -} - -#friends-container .contact-activity ul { - margin-left: 70px; -} - -.user-view { - // Silly exception; remove when user page is redesigned. - .content-inner { - max-width: none; - } - p#no_home_location { - margin: $lineheight; - } - .user_thumbnail { - margin-top: $lineheight/4; - float: left; - } -} - /* Rules for the user map */ .content_map .leaflet-popup-content { @@ -1544,7 +1126,6 @@ tr.turn:hover { /* Rules for the user list */ #user_list { - font-size: $lineheight/2; width: 100%; tr { @@ -1566,9 +1147,17 @@ tr.turn:hover { .diary_post { position: relative; - margin-top: $lineheight/2; padding-top: $lineheight; - border-top: 1px solid #ccc; + padding-bottom: $lineheight/2; + border-top: 1px solid $grey; + + &:first-of-type { + margin-top: $lineheight/2; + } + + &.deleted { + background-color: #fee; + } .post_heading { margin-bottom: $lineheight; @@ -1576,51 +1165,37 @@ tr.turn:hover { h2 { margin-top: 0; margin-bottom: $lineheight/2; - font-size: 24px; } } img.user_thumbnail { float: left; } - - small.deemphasize { - float: left; - display: block; - } -} - -.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div - display: inline; } /* Rules for the diary entry page */ -.diary_entry { +.diary_entries { #map { - position: relative; - width: 90%; height: 400px; - border: 1px solid #ccc; + border: 1px solid $grey; 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; + border-top: 1px dashed $grey; padding-top: $lineheight/2; + padding-bottom: $lineheight/2; &:first-child { - margin-top: $lineheight; + margin-top: $lineheight/2; padding-top: $lineheight; - border-top: 1px solid #ccc; + border-top: 1px solid $grey; + } + &.deleted { + background-color: #fee; } p { margin-bottom: $lineheight/2; @@ -1632,7 +1207,7 @@ tr.turn:hover { } } -.diary_entry-view img.user_thumbnail { +.diary_entries-show img.user_thumbnail { float: left; } @@ -1640,41 +1215,35 @@ tr.turn:hover { #login_auth_buttons { margin-bottom: 0; -} -#login_auth_buttons li { - float: left; - padding: $lineheight/4 $lineheight/2; + li { + float: left; + padding: $lineheight/4 $lineheight/2; + } } /* Rules for the account confirmation page */ -.user-terms { +.users-terms { .legale { - border: 1px solid #ccc; + border: 1px solid $grey; padding: $lineheight; margin-bottom: $lineheight; overflow: auto; height: 20em; - } - #decline { - background: $lightblue; - &:hover { - background: darken($lightblue, $hovercolor); + li { + list-style: inherit; + } + + ol ol { + list-style-type: lower-alpha; } } } /* Rules for the account settings page */ -#accountForm .user_map { - position: relative; - width: 500px; - height: 400px; - border: 1px solid #ccc; -} - #accountForm .user_image { margin-bottom: 0; } @@ -1699,11 +1268,6 @@ tr.turn:hover { display: inline !important; } -.content_map.settings_map { - width: 50%; - float: none; -} - /* Rules for the oauth settings page */ .oauth_clients .buttons .oauth-edit { @@ -1714,46 +1278,30 @@ tr.turn:hover { border-radius: 0 2px 2px 0; } +/* Rules for the oauth authorization page */ + +.oauth-authorize ul { + list-style: none; +} + /* Rules for messages pages */ .messages { - width: 100%; - border: 1px solid #ddd; - input[type="submit"] { margin: auto; } - tbody tr { - border-top: 1px solid #ccc; - } .inbox-row { - background: #f8f8ff; + background: $offwhite; } .inbox-row-unread { - background:#CBEEA7; + background: #CBEEA7; } .right { float: right; } - - 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 { @@ -1763,7 +1311,7 @@ tr.turn:hover { .info-line { margin-bottom: $lineheight; padding: $lineheight/4 0px 4px 0px; - border-bottom: 1px solid #ccc; + border-bottom: 1px solid $grey; form, form div { display: inline; @@ -1788,17 +1336,6 @@ tr.turn:hover { display: none; } -.message-read .message-buttons { - margin-top: $lineheight; - margin-bottom: $lineheight * 1.5; - 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 { @@ -1815,12 +1352,6 @@ tr.turn:hover { &.notice { background-color: #CBEEA7; } - - div.message { - display: inline-block; - margin-left: $lineheight / 2; - vertical-align: middle; - } } /* Rules for highlighting fields with rails validation errors */ @@ -1859,99 +1390,33 @@ tr.turn:hover { margin-bottom: 0px; padding: $lineheight/4; } - - ul { - padding-left: $lineheight; - - li { - font-size: 12px; - list-style: disc; - } - } } -/* Rules for forms */ +.search_form { + background-color: $lightgrey; -.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; + .describe_location { + top: 6px; + right: 6px; + font-size: 10px; + color: $blue; } } -#remember_me_openid { - display: block; -} - -select { - padding: 2px; -} - -input[type="checkbox"], -input[type="radio"] { - margin-right: 5px; -} +.directions_form { + background-color: $lightgrey; -input[type="text"], -input[type="email"], -input[type="url"], -input[type="password"], -textarea { - color: #222; - background-color: #fff; - border: 1px solid #ccc; - padding: 2px 5px; - margin: 0; - width: 200px; + .loader_copy { + display: none; - &.field_with_errors { - border: 2px solid #ff7070; + img { + vertical-align: middle; + } } -} -textarea { - padding: 5px; - width: 100%; + a.reverse_directions { + cursor: pointer; + } } /* Rules for user images */ @@ -1959,25 +1424,37 @@ textarea { img.user_image { max-width: 100px; max-height: 100px; - border: 1px solid #ccc; + border: 1px solid $grey; margin-bottom: $lineheight; float: left; margin-right: $lineheight; } +img.user_image_no_margins { + max-width: 100px; + max-height: 100px; + border: 1px solid $grey; +} + img.user_thumbnail { max-width: 50px; max-height: 50px; - border: 1px solid #ccc; + border: 1px solid $grey; margin-right: $lineheight; } +img.user_thumbnail_no_margins { + max-width: 50px; + max-height: 50px; + border: 1px solid $grey; +} + img.user_thumbnail_tiny { width: auto; height: auto; max-width: 25px; max-height: 25px; - border: 1px solid #ccc; + border: 1px solid $grey; } /* Rules for geo microformats */ @@ -1986,36 +1463,30 @@ abbr.geo { border-bottom: none; } -/* Rules for RSS buttons */ - -.rsssmall { - position: relative; - top: 3px; -} - /* 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/2; - margin-right: $lineheight/2; - &:first-child { - border-left: 0; - padding-left: 0; + +nav.secondary-actions { + margin-left: -11px; + overflow: hidden; + > ul { + display: flex; + flex-direction: row; + flex-wrap: wrap; + margin-bottom: 0; + margin-left: -1px; + padding: 0; + &.pager { + display: inline-block; + margin-right: 60px; } - &:last-child { - margin-right: 0px; + > li { + flex-basis: auto; + list-style: none; + border-left: 1px solid $grey; + padding-left: $lineheight/2; + margin-right: $lineheight/2; + margin-bottom: $lineheight/8; } } } @@ -2025,66 +1496,6 @@ div.secondary-actions { text-align: center; } -/* Utility for managing inner content areas */ - -.inner22 { padding: $lineheight;} - -.inner12 { padding: $lineheight/2 $lineheight;} - -.inner11 { padding: $lineheight/2;} - -.inner20 { padding: $lineheight 0;} - -.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: inline-block; - padding: $lineheight/4 $lineheight/2; - min-height: 20px + $lineheight/2; - min-width: 120px; - margin: 0 0 $lineheight/2 0; - color: white; - background: $blue; - text-align: center; - border-radius: 2px; - &:hover { - 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; - } -} - -input[type="button"], -input[type="submit"], -input[type="reset"] { - line-height: normal; -} - -a.button { - line-height: 20px; -} - .buttons { min-width: 200px; input[type="submit"], @@ -2139,16 +1550,22 @@ a.button { } } -/* Rules for doing distinct colour of alternate table rows */ +/* Create a single-line dl */ -.table0, -.item0 { - background: $offwhite; +dl.dl-inline { + dt, dd { + display: inline-block; + } + dd { + margin-right: 1em; + } } -.table1, -.item1 { - background: #fff; +/* Customise the background colour of striped tables */ + +.table-striped > tbody > tr:nth-child(2n+1) > td, +.table-striped > tbody > tr:nth-child(2n+1) > th { + background-color: $offwhite; } /* Rules for OpenID logo */ @@ -2162,34 +1579,17 @@ a.button { .richtext, .prose { - 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; + background: $lightgrey; padding: 2px 3px; } pre { font-size: 13px; - background: #e8e8e8; + background: $lightgrey; padding: 2px 3px; + white-space: pre-wrap; code { padding: 0; @@ -2208,126 +1608,19 @@ a.button { border-left: $lineheight solid $offwhite; padding-left: $lineheight; margin: 0; - color: #7E7E7E; - } - - ul, ol { - padding-left: $lineheight; - margin-bottom: $lineheight; - margin-left: $lineheight; - } - - ul li { - list-style: disc; - } - - ol li { - list-style: decimal; + color: $darkgrey; } } -.diary_post .richtext { - margin-top: $lineheight; - } - .comments .richtext { margin-left: 70px; - margin-top: 0; -} - -/* Rules for rich text editors */ - -input.richtext_title[type="text"] { - width: 50%; - width: calc(100% - 235px); - - @media only screen and (max-width:768px) { - width: 100%; - } -} - -.richtext_container { - margin-bottom: $lineheight; - - .richtext_content { - width: 50%; - width: calc(100% - 235px); - display: inline-block; - vertical-align: top; - - @media only screen and (max-width:768px) { - width: 100%; - } - - .richtext_preview { - display: inline-block; - padding: $lineheight; - background-color: $offwhite; - overflow-x: auto; - - &.loading { - background-image: image-url("loading.gif"); - background-repeat: no-repeat; - background-position: center; - } - - > :first-child { - margin-top: 0px; - } - } - } - - .richtext_help { - display: inline-block; - vertical-align: top; - margin-left: 15px; - background-color: #f8f8ff; - padding: $lineheight/2; - width: 220px; - - ul { - margin-bottom: 0; - } - - h4.heading, li { - border-bottom: 1px solid #ccc; - margin-bottom: $lineheight/4; - padding-bottom: $lineheight/4; - } - - li h4, li span, li p { - display: inline-block; - vertical-align: top; - font-size: 11px; - } - - li h4 { - width: 40%; - margin: 0; - } - - li span, li p { - width: 50%; - margin-left: $lineheight/2; - margin-bottom: $lineheight/4; - white-space: nowrap; - } - } } /* Rules for the user notes list */ .note_list { tr.creator { - background-color: #eeeeee; - } - - td { - padding: 3px; - } - - p { - margin-bottom: 0px; + background-color: $offwhite; } } @@ -2338,131 +1631,6 @@ input.richtext_title[type="text"] { height: 100%; } -/* Rules for dropdown menus */ - -.dropdown { - position: relative; -} - -.dropdown-toggle { - *margin-bottom: -3px; -} - -.dropdown-toggle:active, -.open .dropdown-toggle { - outline: 0; -} - -.caret { - display: inline-block; - width: 0; - height: 0; - vertical-align: top; - border-top: 4px solid #000000; - border-right: 4px solid transparent; - border-left: 4px solid transparent; - content: ""; -} - -.dropdown .caret { - margin-top: 8px; - margin-left: 2px; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: -1px; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 0; - list-style: none; - background-color: #ffffff; - border: 1px solid #ccc; - border-radius: 0 3px 3px; - *border-right-width: 2px; - *border-bottom-width: 2px; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - background-clip: padding-box; -} - -.dropdown-menu.pull-right { - right: 0; - left: auto; -} - -.dropdown-menu .divider { - *width: 100%; - height: 1px; - margin: 9px 1px; - *margin: -5px 0 5px; - overflow: hidden; - background-color: #e5e5e5; - border-bottom: 1px solid #ffffff; -} - -.dropdown-menu > li > a { - display: block; - padding: 3px 10px; - clear: both; - font-weight: normal; - line-height: 20px; - color: #333333; - white-space: nowrap; -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus, -.dropdown-submenu:hover > a, -.dropdown-submenu:focus > a { - color: #ffffff; - text-decoration: none; - background-color: $green; -} - -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - background-color: $green; - outline: 0; -} - -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #999999; -} - -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: default; - background-color: transparent; - background-image: none; -} - -.open { - *z-index: 1000; -} - -.open > .dropdown-menu { - display: block; -} - -.dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; -} - /* Rules for the "Welcome" page */ .site-welcome, .site-fixthemap { .center { @@ -2495,7 +1663,7 @@ input.richtext_title[type="text"] { } .sprite.x { - background-position: -50px 0; + /* no-r2 */ background-position: -50px 0; } .sprite.term { @@ -2504,27 +1672,27 @@ input.richtext_title[type="text"] { } .sprite.node { - background-position: -100px 0; + /* no-r2 */ background-position: -100px 0; } .sprite.way { - background-position: -150px 0; + /* no-r2 */ background-position: -150px 0; } .sprite.tag { - background-position: -200px 0; + /* no-r2 */ background-position: -200px 0; } .sprite.editor { - background-position: -250px 0; + /* no-r2 */ background-position: -250px 0; } .sprite.question { - background-position: -300px 0; + /* no-r2 */ background-position: -300px 0; } .sprite.rules { - background-position: -350px 0; + /* no-r2 */ background-position: -350px 0; } .start-mapping { @@ -2536,11 +1704,6 @@ input.richtext_title[type="text"] { text-decoration: none; } - .note-box { - margin-top: 20px; - background-color: $offwhite; - } - .icon.note { background-color: #333; border-radius: 4px; @@ -2548,110 +1711,36 @@ input.richtext_title[type="text"] { } .site-about #content { - //background-color: #000; - background-color: #eee; + background-color: $lightgrey; background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; - .caption { - max-width: 200px; - font: 13px/20px Helvetica, Arial, sans-serif; - position: fixed; - text-align: right; - right: 20px; - bottom: 60px; - text-shadow: #000 0px 1px 5px; - color: #eee; - opacity: 0.8; - 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-inner { - position: relative; - color: #333; - min-width: 320px; - max-width: 640px; - - .section { - margin-bottom: 30px; - } - - .section:last-child { - margin-bottom: 0; - } - } - - .text { - background: white; - padding: 40px; + max-width: 760px; } .attr { - position: relative; - padding: 170px 40px 20px; - background: #333; - background: rgba(0, 0, 0, .8); - margin-bottom: 0; margin-top: -20px; h1 { - display: block; - color: white; - font-weight: 300; - font-size: 34px; span { - color: #76c551; + color: $vibrant-green; } } .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; + background-color: $vibrant-green; } .byosm { - position: absolute; - top: 0px; - right: 0px; - z-index: 1; - width: 240px; - height: 150px; - padding: 20px 20px 20px 40px; - font: 500 20px/24px Helvetica, Arial, sans-serif; - white-space: nowrap; - color: #fff; - background: #76c551; + background: $vibrant-green; } .byosm span { @@ -2661,10 +1750,6 @@ input.richtext_title[type="text"] { } } - h2 { - margin-bottom: 10px; - } - .icon { width: 30px; height: 30px; @@ -2672,12 +1757,30 @@ input.richtext_title[type="text"] { 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; } - &.partners { background-position: 0px -120px; } - &.infringement { background-position: 0px -160px; } - &.legal { background-position: -45px -160px; } + &.local { + /* no-r2 */ + background-position: 0px 0px; + } + &.community { + /* no-r2 */ + background-position: 0px -40px; + } + &.open { + /* no-r2 */ + background-position: 0px -80px; + } + &.partners { + /* no-r2 */ + background-position: 0px -120px; + } + &.infringement { + /* no-r2 */ + background-position: 0px -160px; + } + &.legal { + /* no-r2 */ + background-position: -45px -160px; + } } }