X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5ce212de8327baa67e8bb4b46f93ce4ae0a5496e..8e02c98c3fb052803c4a70a35b14c1d1ca9c4119:/app/assets/stylesheets/common.scss diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 947be58f5..e3c8ff202 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1,5 +1,6 @@ @import "parameters"; -@import "bootstrap-custom"; +@import "bootstrap"; +@import "rails_bootstrap_forms"; /* Styles common to large and small screens */ @@ -30,20 +31,11 @@ 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; } - -.piwik { border: 0; } - [dir=rtl] { /* no-r2 */ text-align: right; } [dir=ltr] { /* no-r2 */ text-align: left; } @@ -85,32 +77,12 @@ small, aside { a { color: #24d; text-decoration: none; - -webkit-appearance: none; outline: 0; &:hover { text-decoration: underline; } } -/* 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 { @@ -120,6 +92,10 @@ table { } } +.text-muted a { + color: $blue; +} + /* Rules for the header */ #menu-icon { @@ -205,6 +181,17 @@ nav.primary { } } } + + // 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; + + &:focus { + box-shadow: 0 0 0 0.2rem fade-out($green, 0.5); + } + } } nav.secondary { @@ -229,8 +216,20 @@ nav.secondary { .user-menu { .btn-outline-secondary { @include button-outline-variant($darkgrey, $darkgrey, white, $darkgrey); - // @include button-outline-variant($grey, $grey, white, $grey); border-color: $grey; + &:hover { + border-color: $grey; + } + &:focus { + background-color: white; + box-shadow: none; + } + } + &.show .btn-outline-secondary { + background-color: white; + &:focus { + box-shadow: none; + } } } @@ -255,11 +254,20 @@ nav.secondary { } } +nav.primary, nav.secondary { + .dropdown-item { + &:hover, &:active { + background-color: $green; + color: white; + } + } +} + #compact-secondary-nav { display: none; } -body.compact { +body.compact-nav { #compact-secondary-nav { display: inline-block; } @@ -687,10 +695,6 @@ body.compact { } #browse_status { - p { - padding: $lineheight; - } - input { display: block; margin-left: auto; @@ -705,8 +709,7 @@ body.compact { margin: $lineheight auto; } - .loader, - .load_more { + .loader { text-align: center; margin: auto; width: 40px; @@ -714,6 +717,14 @@ body.compact { } } +/* 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, @@ -721,117 +732,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 $vibrant-green; - } - - input[type=submit].float { - float: right; - width: auto; - min-width: 0; - border-radius: 0 2px 2px 0; - } - - input.error { - background-color: rgba($red, 0.4); - } - - 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; - width: 20px; - height: 20px; - } - - 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; - } - } - - a.reverse_directions { - cursor: pointer; - margin: 0px 0px 5px 25px; - } -} - /* Rules for the map key which appears in the popout sidebar */ #mapkey { @@ -840,9 +740,6 @@ header .search_forms, margin-left: auto; margin-right: auto; } - td { - padding: 0 $lineheight/4 $lineheight/4 $lineheight/4; - } } /* Rules for search sidebar */ @@ -870,6 +767,7 @@ header .search_forms, padding: 5px 20px 10px 15px; width: 100%; border-collapse: separate; + border-spacing: 0; } div.direction { @@ -994,6 +892,8 @@ tr.turn:hover { border-radius: 3px; table-layout: fixed; border-collapse: separate; + border-spacing: 0; + width: 100%; th, td { border-bottom: 1px solid $grey; @@ -1031,11 +931,6 @@ tr.turn:hover { } } - .warning { - margin: 0 0 $lineheight/2 0; - padding: 0 $lineheight/2; - } - .note-comments li, .changeset-comments li { margin: $lineheight/2 0; @@ -1182,16 +1077,6 @@ tr.turn:hover { background: $lightgrey; } -.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; @@ -1257,68 +1142,28 @@ tr.turn:hover { /* Rules for small maps in content areas */ .content_map { - position: relative; - width: 45%; - height: 400px; + height: 200px; border: 1px solid $grey; margin-bottom: $lineheight; - float: right; } -/* Rules for the trace list shown by the traces tab etc */ - -#trace_list { - border-width: 0px; - text-align: right; - - .trace_summary { - font-size: 12px; - color: gray; - } -} - -/* 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 { - .standard-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 { @@ -1327,16 +1172,6 @@ tr.turn:hover { margin-right: $lineheight; } -.activity-block { - clear: left; - border-bottom: 1px solid $grey; - padding-bottom: $lineheight; - float: left; - h3 { - margin-bottom: $lineheight/2; - } -} - .contact-activity { margin-top: $lineheight; width: 100%; @@ -1415,7 +1250,7 @@ tr.turn:hover { margin-top: $lineheight/2; } - &.deemphasize { + &.deleted { background-color: #fee; } @@ -1438,26 +1273,15 @@ tr.turn:hover { } } -.pagination { - padding-top: $lineheight; -} - /* Rules for the diary entry page */ .diary_entries { #map { - position: relative; - width: 90%; height: 400px; border: 1px solid $grey; display: none; margin-bottom: $lineheight; } - #newcomment { - border-top: 1px solid $grey; - padding-top: $lineheight; - margin-top: $lineheight/2; - } .comments { max-width: 740px; } @@ -1470,7 +1294,7 @@ tr.turn:hover { padding-top: $lineheight; border-top: 1px solid $grey; } - &.deemphasize { + &.deleted { background-color: #fee; } p { @@ -1487,22 +1311,15 @@ tr.turn:hover { float: left; } - -.diary-subscribe-buttons { - position:relative; - top: -30px; - left: 130px; -} - /* Rules for the log in page */ #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 */ @@ -1534,13 +1351,6 @@ tr.turn:hover { /* Rules for the account settings page */ -#accountForm .user_map { - position: relative; - width: 500px; - height: 400px; - border: 1px solid $grey; -} - #accountForm .user_image { margin-bottom: 0; } @@ -1565,11 +1375,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 { @@ -1589,43 +1394,21 @@ tr.turn:hover { /* Rules for messages pages */ .messages { - width: 100%; - border: 1px solid $grey; - input[type="submit"] { margin: auto; } - tbody tr { - border-top: 1px solid $grey; - } .inbox-row { 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 { @@ -1660,17 +1443,6 @@ tr.turn:hover { display: none; } -.messages-show .message-buttons { - margin-top: $lineheight; - margin-bottom: $lineheight * 1.5; - padding-top: $lineheight; - border-top: 1px solid $lightgrey; -} - -.messages-show .buttons .mark-unread-button { - border-radius: 0; -} - /* Rules for "flash" notice boxes shown at the top of the content area */ .flash { @@ -1794,44 +1566,205 @@ tr.turn:hover { float: left; margin-top: 5px; } -} -#remember_me_openid { - display: block; -} + #remember_me_openid { + display: block; + } -select { - padding: 2px; -} + select { + padding: 2px; + } -input[type="checkbox"], -input[type="radio"] { - margin-right: 5px; -} + input[type="checkbox"], + input[type="radio"] { + margin-right: 5px; + } -input[type="text"], -input[type="email"], -input[type="url"], -input[type="password"], -textarea { - color: #222; - background-color: #fff; - border: 1px solid $grey; - border-radius: 3px; - padding: 2px 5px; - margin: 0; - width: 200px; + input[type="text"], + input[type="email"], + input[type="url"], + input[type="password"], + textarea { + color: #222; + background-color: #fff; + border: 1px solid $grey; + border-radius: 3px; + padding: 2px 5px; + margin: 0; + width: 200px; - &.field_with_errors { - border: 2px solid #ff7070; + &.field_with_errors { + border: 2px solid #ff7070; + } } -} -textarea { - padding: 5px; - width: 100%; - min-height: 50px; - resize: vertical; + textarea { + padding: 5px; + width: 100%; + min-height: 50px; + resize: vertical; + } + + + /* 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; + } + + .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; + border-radius: 3px 0px 0px 3px; + } + + input:focus { + outline: none; + box-shadow: 0px 0px 7px $vibrant-green; + } + + input[type=submit].float { + float: right; + width: auto; + min-width: 0; + border-radius: 0 2px 2px 0; + } + + input.error { + background-color: rgba($red, 0.4); + } + + 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; + width: 20px; + height: 20px; + } + + 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; + } + } + + a.reverse_directions { + cursor: pointer; + margin: 0px 0px 5px 25px; + } + } } /* Rules for user images */ @@ -1911,54 +1844,6 @@ div.secondary-actions { .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"], @@ -2013,16 +1898,11 @@ a.button { } } -/* Rules for doing distinct colour of alternate table rows */ +/* Customise the background colour of striped tables */ -.table0, -.item0 { - background: $offwhite; -} - -.table1, -.item1 { - background: #fff; +.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 */ @@ -2080,80 +1960,82 @@ a.button { /* 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 { +.standard-form { + input.richtext_title[type="text"] { 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; + .richtext_container { + margin-bottom: $lineheight; - &.loading { - background-image: image-url("loading.gif"); - background-repeat: no-repeat; - background-position: center; - } + .richtext_content { + width: 50%; + width: calc(100% - 235px); + display: inline-block; + vertical-align: top; - > :first-child { - margin-top: 0px; + @media only screen and (max-width:768px) { + width: 100%; } - } - } - .richtext_help { - display: inline-block; - vertical-align: top; - margin-left: 15px; - background-color: $offwhite; - padding: $lineheight/2; - width: 220px; + .richtext_preview { + display: inline-block; + padding: $lineheight; + background-color: $offwhite; + overflow-x: auto; - ul { - margin-bottom: 0; - } + &.loading { + background-image: image-url("loading.gif"); + background-repeat: no-repeat; + background-position: center; + } - h4.heading, li { - border-bottom: 1px solid $grey; - margin-bottom: $lineheight/4; - padding-bottom: $lineheight/4; + > :first-child { + margin-top: 0px; + } + } } - li h4, li span, li p { + .richtext_help { display: inline-block; vertical-align: top; - font-size: 11px; - } + margin-left: 15px; + background-color: $offwhite; + padding: $lineheight/2; + width: 220px; - li h4 { - width: 40%; - margin: 0; - } + ul { + margin-bottom: 0; + } - li span, li p { - width: 50%; - margin-left: $lineheight/2; - margin-bottom: $lineheight/4; - white-space: nowrap; + h4.heading, li { + border-bottom: 1px solid $grey; + 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; + } } } } @@ -2162,15 +2044,7 @@ input.richtext_title[type="text"] { .note_list { tr.creator { - background-color: $lightgrey; - } - - td { - padding: 3px; - } - - p { - margin-bottom: 0px; + background-color: $offwhite; } } @@ -2292,12 +2166,18 @@ input.richtext_title[type="text"] { display: block; color: white; font-weight: 300; - font-size: 34px; + font-size: 28px; span { color: $vibrant-green; } } + @include media-breakpoint-up(sm) { + h1 { + font-size: 34px; + } + } + .user-image { position: absolute; top: 0px; @@ -2373,14 +2253,3 @@ input.richtext_title[type="text"] { display: none; } } - -.read-reports { - background: $lightgrey; - opacity: 0.7; -} - -.issues-list { - td:nth-child(2) { - white-space: nowrap; - } -}