X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/f16d4977031f8790d6b97e4117e3446c04eb5600..e6e478f5b077d1357fffca90a6f6bd6d789eebaf:/app/assets/stylesheets/common.scss diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 9ec7fb3f4..1d4056451 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -23,7 +23,7 @@ small, aside { .small_icon { vertical-align: middle; - margin-right: $lineheight/4; + margin-right: $lineheight * 0.25; } [dir=rtl] { /* no-r2 */ text-align: right; } @@ -80,11 +80,10 @@ small, aside { /* Rules for the header */ #menu-icon { - display: none !important; + display: none; float: right; background: image-url("menu-icon.png") no-repeat; background-size: 30px 30px; - display: block; width: 30px; height: 30px; margin: 14px 10px 0 0; @@ -103,7 +102,7 @@ header { > * { height: 100%; - padding: $lineheight/2; + padding: $lineheight * 0.5; } h1, nav.primary { @@ -145,7 +144,7 @@ header { nav.primary { .btn-outline-primary { - @include button-outline-variant($green, $white); + @include button-outline-variant($green, $color-hover: $white, $active-color: $white); } .disabled { @@ -190,36 +189,22 @@ nav.secondary { .login-menu { .btn-outline-secondary { - @include button-outline-variant($darkgrey, $white, null, null, $white); + @include button-outline-variant($darkgrey, $color-hover: $white, $active-color: $white); } } .user-menu { .btn-outline-secondary { - @include button-outline-variant($darkgrey, $darkgrey, white, $darkgrey); + @include button-outline-variant($darkgrey, $color-hover: $darkgrey, $active-background: white, $active-border: $darkgrey); border-color: $grey; &:hover { border-color: $grey; } } - &.show .btn-outline-secondary { - background-color: white; - } } #inboxanchor { - display: inline-block; - height: 25px; - margin: 3px 0 3px 3px; background-color: lighten($grey, 10%); - line-height: 20px; - border-radius: 3; - } - - .dropdown-menu { - .count-number { - font-size: 14px; - } } } @@ -245,15 +230,97 @@ body.compact-nav { } } +body.small-nav { + #menu-icon { + display: block; + } + + nav.primary, + nav.secondary { + float: none !important; + position: relative; + display: block; + clear: both; + } + + header { + height: auto; + min-height: $headerHeight; + background: #fff; + + &.closed nav { + display: none; + } + + .search_forms { + display: block; + } + } + + #sidebar .search_forms, + #edit_tab, + #export_tab { + display: none; + } + + nav.primary { + padding: 0; + + ul, li { + border: none; + border-radius: 0; + width: 100%; + } + + ul { + border-top: 1px solid #eee; + li { + border-bottom: 1px solid #eee; + border-right: none; + > a { + border-radius: 0; + width: 100%; + text-align: center; + font-size: 15px; + } + } + } + + .btn-group { + width: 100%; + padding: 10px; + } + } + + nav.secondary { + .user-menu, .login-menu { + width: 100%; + } + } + + #compact-secondary-nav { + display: none; + } + + .compact-hide { + display: inline-block; + } + + .overlay-sidebar #sidebar .welcome { + display: none; + } + + .overlay-sidebar #sidebar #banner { + display: none; + } +} + /* Utility for styling notification numbers */ .count-number { - padding: 2px $lineheight/4; - border-radius: 2px; background: lighten($green, 30%); - margin: 0 2px; - font-size: 11px; - color: #333; + color: $gray-800; + font-weight: $font-weight-normal; } /* Rules for the message shown in place of the map when javascript is disabled */ @@ -266,14 +333,21 @@ body.compact-nav { /* Rules for Leaflet maps */ +.leaflet-top.leaflet-right, +.leaflet-top.leaflet-left { + height: 100%; + column-gap: 10px; + display: flex; + flex-direction: column; + flex-wrap: wrap-reverse; +} + .leaflet-control .control-button { display: block; height: 40px; width: 40px; background-color: #333; background-color: rgba(0,0,0,.6); - border-radius: 4px 0 0 4px; - margin-bottom: 10px; outline: none; &:hover, @@ -292,26 +366,18 @@ body.compact-nav { background-color: $vibrant-green; } - .icon { - margin: 10px; + &-first { + border-start-start-radius: 4px; } -} - -.leaflet-control .zoomin, -.control-layers .control-button { - margin-bottom: 0px; - border-radius: 4px 0 0 0; -} -.leaflet-control .zoomout, -.control-key .control-button { - margin-bottom: 0; - border-radius: 0; -} + &-last { + border-end-start-radius: 4px; + margin-bottom: 10px; + } -.control-locate .control-button, -.control-share .control-button { - border-radius: 0 0 0 4px; + .icon { + margin: 10px; + } } /* Rules for the sidebar and main map area */ @@ -347,9 +413,6 @@ body.compact-nav { > div { position: relative; - float: left; - clear: both; - width: 100%; } } @@ -364,11 +427,7 @@ body.compact-nav { } .welcome { - display: none; - - &.visible { - display: block; - } + display: block; } #sidebar_content { @@ -392,6 +451,11 @@ body.compact-nav { display: block; width: $sidebarWidth; } + + button.btn-close { + background-color: rgba(255, 255, 255, 0.5); + opacity: 1.0; + } } #map { @@ -422,32 +486,39 @@ body.compact-nav { .section { border-bottom: 1px solid $grey; - padding: 10px 20px; + padding: $spacer; } + } +} - a.close-button { - float: right; - padding:5px; - font-size:20px; - line-height:10px; - color:#222; - border:1px solid $grey; +@include media-breakpoint-down(md) { + body.map-layout { + #sidebar, #map { + position: relative; + overflow-x: hidden; + width: 100%; + height: 50%; } - .tooltip { - opacity: 1; - border: 1px solid $grey; - .tooltip-arrow { - border-top-color: $grey; - } + #map-ui { + z-index: 9999; + width: 100%; + height: 50%; + overflow-y: scroll; } - } -} -.layers-ui, -.share-ui { - li:last-child { - margin-bottom: 0; + .overlay-sidebar { + #sidebar { + position: absolute; + width: 350px; + height: auto; + overflow: hidden; + } + + #map, #map-ui { + height: 100%; + } + } } } @@ -502,62 +573,13 @@ body.compact-nav { } .share-ui { - .share-tabs { - margin-bottom: 10px; - - a { - color: #fff; - text-decoration: none; - background-color: $lightblue; - padding: 5px 10px; - border-right: 1px solid #fff; - } - - a:first-child { - border-right: 1px solid #fff; - border-radius: 4px 0 0 4px; - } - - a:last-child { - border-radius: 0 4px 4px 0; - } - - a.active { - background-color: $blue; - } - } - - .share-tab { - display: none; - } - - .share-link { - input[type=text], - textarea { - width: 100%; - font-family: monospace; - font-size: small; - line-height: 1.3; - } - } - - .share-image { - label { - margin-right: 10px; - } - } - - #embed_html { - resize: vertical; - } - #mapnik_scale { width: 100px; } } .leaflet-top { - top: $lineheight/2 !important; + top: 10px !important; .leaflet-control { margin-right: 0px !important; margin-top: 0px !important; @@ -578,32 +600,12 @@ body.compact-nav { #attribution { display: none; - - table { - width: 100% - } -} - -.attribution_license, -.attribution_project { - text-align: left; -} - -.attribution_notice { - text-align: center; } .donate-attr { color: darken($green, 10%) !important; } /* Rules for the sidebar */ -.sidebar_heading { - position: relative; - padding: $lineheight/2 $lineheight; - // background: $offwhite; - // border-bottom: 1px solid $grey; -} - #browse_status { input { display: block; @@ -616,27 +618,15 @@ body.compact-nav { } } -#sidebar { - #sidebar_loader, - .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; } + .col-form-label { + font-size: 16px; + } } /* Stop bootstrap 5 from floating legends when they don't need to be */ @@ -650,15 +640,15 @@ legend { reconsider our colours at some point with that in mind. */ .btn-primary { - @include button-variant($primary, $primary, $white, null, null, $white, null, null, $white, null, null, $white); + @include button-variant($primary, $primary, $color: $white, $hover-color: $white, $active-color: $white, $disabled-color: $white); } .btn-secondary { - @include button-variant($secondary, $secondary, $white, null, null, $white, null, null, $white, null, null, $white); + @include button-variant($secondary, $secondary, $color: $white, $hover-color: $white, $active-color: $white, $disabled-color: $white); } .btn-outline-secondary { - @include button-outline-variant($secondary, $white, null, null, $white); + @include button-outline-variant($secondary, $color-hover: $white, $active-color: $white); } /* Rules for the search and direction forms */ @@ -688,7 +678,6 @@ header .search_forms, .search_more .loader { display: none; - width: 100%; } } @@ -709,11 +698,6 @@ div.direction { 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 $grey; -} td.distance { color: $darkgrey; text-align: right; @@ -728,15 +712,6 @@ tr.turn:hover { .routing_marker { width: 15px; cursor: move; } -/* Rules for entity history */ - -#sidebar_content { - .browse_details { - position: relative; - border-bottom: $keyline; - } -} - .browse_status { display: none; } @@ -745,10 +720,13 @@ tr.turn:hover { #sidebar .changesets { li { - cursor: pointer; - &.selected { background: $list-highlight; } /* color is derived from changeset bbox fillColor in history.js */ + + a.stretched-link > span, a:not(.stretched-link), [title] { + position: relative; + z-index: 2; /* needs to be higher than Bootstrap's stretched link ::after z-index */ + } } .comments { @@ -826,15 +804,6 @@ tr.turn:hover { } } - .note-comments li, .changeset-comments li { - margin: $lineheight/2 0; - - p { - margin: 10px 6px 0 6px; - line-height: 1.5; - } - } - .subscribe-buttons input { font-size: 90%; line-height: 15px; @@ -908,18 +877,6 @@ tr.turn:hover { } #minlat { margin-bottom: -1px; } } - - .export_bound { - margin: $lineheight/4; - } - - dl { - padding-left: $lineheight/2; - dd { - margin-left: 0; - margin-bottom: 10px; - } - } } /* Rules for edit pages */ @@ -988,6 +945,10 @@ tr.turn:hover { [dir=rtl] .header-illustration { transform: scaleX(-1); + + h1 { + transform: scaleX(-1); + } } #content.maximised { @@ -1015,7 +976,7 @@ tr.turn:hover { /* Rules for the user map */ .content_map .leaflet-popup-content { - margin: $lineheight/2; + margin: $spacer; min-height: 50px; } @@ -1025,7 +986,7 @@ tr.turn:hover { min-width: 200px; p { padding: 0 0 5px 0; - margin-top: 0 0 0 60px; + margin: 0 0 0 60px; font-size: 12px; } } @@ -1036,60 +997,21 @@ tr.turn:hover { width: 100%; } -/* Rules for the diary list page */ - -.diary_post { - position: relative; - padding-top: $lineheight; - padding-bottom: $lineheight/2; - border-top: 1px solid $grey; - - &.deleted { - background-color: #fee; - } -} - /* Rules for the diary entry page */ .diary_entries { #map { height: 400px; display: none; - margin-bottom: $lineheight; } .comments { max-width: 740px; } .diary-comment { border-top: 1px dashed $grey; - padding-top: $lineheight/2; - padding-bottom: $lineheight/2; &:first-child { - margin-top: $lineheight/2; - padding-top: $lineheight; border-top: 1px solid $grey; } - &.deleted { - background-color: #fee; - } - p { - margin-bottom: $lineheight/2; - } - .comment-heading { - margin-bottom: 0; - margin-top: 0; - } - } -} - -/* Rules for the log in page */ - -#login_auth_buttons { - margin-bottom: 0; - - li { - float: left; - padding: $lineheight/4 $lineheight/2; } } @@ -1112,42 +1034,6 @@ tr.turn:hover { } } -/* Rules for the account settings page */ - -#accountForm .user_image { - margin-bottom: 0; -} - -#accountForm #user_image { - margin-left: 20px; -} - -#accountForm ul.accountImage-options { - margin-left: 120px; -} - -.nohome .location { - display: none; -} - -#homerow .message { - display: none; -} - -.nohome .message { - display: inline !important; -} - -/* Rules for the oauth settings page */ - -.oauth_clients .buttons .oauth-edit { - border-radius: 2px 0 0 2px; -} - -.oauth_clients .buttons .oauth-delete { - border-radius: 0 2px 2px 0; -} - /* Rules for the oauth authorization page */ .oauth-authorize ul { @@ -1157,11 +1043,6 @@ tr.turn:hover { /* Rules for messages pages */ .messages { - button[type="submit"] { - margin: auto; - white-space: nowrap; - } - .inbox-row { background: $offwhite; } @@ -1169,119 +1050,22 @@ tr.turn:hover { .inbox-row-unread { background: #CBEEA7; } - - .right { - float: right; - } -} - -.inbox-row .inbox-mark-read { - display: none; -} - -.info-line { - margin-bottom: $lineheight; - padding: $lineheight/4 0px 4px 0px; - border-bottom: 1px solid $grey; - - form, form div { - display: inline; - } -} - -.info-line .user_thumbnail_tiny { - vertical-align: middle; -} - -.inbox-sent { - white-space: nowrap; -} - -.inbox-mark-unread, -.inbox-mark-read, -.inbox-delete { - width: 1%; -} - -.inbox-row-unread .inbox-mark-unread { - display: none; -} - -/* Rules for "flash" notice boxes shown at the top of the content area */ - -.flash { - &.error { - background-color: #ff7070; - } - - &.warning { - background-color: #ffe0cc; - } - - &.notice { - background-color: #CBEEA7; - } -} - -/* Rules for highlighting fields with rails validation errors */ - -.formError { - display: inline-block; - padding: 5px 10px; - margin-top: 5px; - border-radius: 4px; - font-size: 12px; - color: #fff; - background-color: #ff7070; -} - -/* Rules for rails validation error boxes */ - -#errorExplanation { - width: 400px; - border: 2px solid #ff7070; - padding: 0 $lineheight/2; - margin-bottom: $lineheight; - background-color: #f0f0f0; - - h2 { - margin: 0 -10px 10px -10px; - padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; - font-weight: bold; - font-size: 12px; - background-color: #c00; - color: #fff; - text-align: left; - } - - p { - color: #333; - margin-bottom: 0px; - padding: $lineheight/4; - } } .search_form { background-color: $lightgrey; + #query { + z-index: 0; + } + .describe_location { - top: 6px; - right: 6px; font-size: 10px; - color: $blue; } } .directions_form { background-color: $lightgrey; - - .loader_copy { - display: none; - - img { - vertical-align: middle; - } - } } /* Rules for user images */ @@ -1303,14 +1087,7 @@ img.user_thumbnail_tiny { max-height: 25px; } -/* Rules for geo microformats */ - -abbr.geo { - border-bottom: none; -} - -/* General styles for action lists / subnavs / pager navs */ - +/* General styles for action lists / subnavs */ nav.secondary-actions { margin-left: -11px; @@ -1322,17 +1099,13 @@ nav.secondary-actions { margin-bottom: 0; margin-left: -1px; padding: 0; - &.pager { - display: inline-block; - margin-right: 60px; - } > li { flex-basis: auto; list-style: none; border-left: 1px solid $grey; - padding-left: $lineheight/2; - margin-right: $lineheight/2; - margin-bottom: $lineheight/8; + padding-left: $lineheight * 0.5; + margin-right: $lineheight * 0.5; + margin-bottom: $lineheight * 0.125; } } } @@ -1342,78 +1115,6 @@ div.secondary-actions { text-align: center; } -.buttons { - min-width: 200px; - input[type="submit"], - input[type="button"], - input[type="reset"], - .button, - .button_to { - box-sizing: border-box; - float: left; - border-radius: 0; - margin:0; - min-width: 75px; - max-width: 180px; - border-right:1px solid white; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - input:first-child, - .button:first-child, - .button_to:first-child { - border-radius:2px 0 0 2px; - } - input:last-child, - .button:last-child, - .button_to:last-child { - border-radius:0 2px 2px 0; - border-right-width: 0; - } - input:only-child, - .button:only-child, - .button_to:only-child, - *[value="Hide"] + input:last-child, - *[value="Hide"] + .button:last-child, - *[value="Hide"] + .button_to:last-child { - border-radius:2px; - border-right-width: 0; - } - /* if a 3-button set has a hidden middle button */ - *[value="Hide"] + input:nth-child(3), - *[value="Hide"] + .button:nth-child(3), - *[value="Hide"] + .button_to:nth-child(3) { - border-radius:0 2px 2px 0; - border-right-width: 0; - } - /* if a 3-button set starts with a hidden button */ - *[value="Hide"] + input:nth-child(2):not(:last-child), - *[value="Hide"] + .button:nth-child(2):not(:last-child), - *[value="Hide"] + .button_to:nth-child(2):not(:last-child) { - border-radius:2px 0 0 2px; - border-right-width: 1px; - } -} - -/* Create a single-line dl */ - -dl.dl-inline { - dt, dd { - display: inline-block; - } - dd { - margin-right: 1em; - } -} - -/* Rules for OpenID logo */ - -.openid_logo { - vertical-align: text-bottom; - border: 0; -} - /* Rules for rich text */ .richtext, @@ -1421,6 +1122,8 @@ dl.dl-inline { code { background: $lightgrey; padding: 2px 3px; + direction: inherit; /* fix for Bootstrap < 5.2 */ + unicode-bidi: unset; /* fix for Bootstrap < 5.2 */ } pre { @@ -1449,14 +1152,6 @@ dl.dl-inline { } } -/* Rules for the user notes list */ - -.note_list { - tr.creator { - background-color: $offwhite; - } -} - /* Rules for the iD editor */ .id-embed { @@ -1472,15 +1167,6 @@ dl.dl-inline { display: block; } - .icon-list { - padding-bottom: 20px; - div { - margin-bottom: 10px; - p { - padding-top: 10px; - } - } - } .sprite.small { width: 50px; height: 50px; @@ -1527,10 +1213,6 @@ dl.dl-inline { .site-about #content { background-color: $lightgrey; - background-position: 50% 50%; - background-repeat: no-repeat; - background-size: cover; - background-attachment: fixed; .content-inner { max-width: 760px; @@ -1568,8 +1250,6 @@ dl.dl-inline { .icon { width: 30px; height: 30px; - margin-right: 10px; - vertical-align: middle; background: 40px 40px image-url('about/sprite.png') no-repeat; &.local { @@ -1600,9 +1280,3 @@ dl.dl-inline { } @import 'browse'; - -@media only screen and (max-width:960px) { - .header-illustration.new-user-arm { - display: none; - } -}