X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d2ddf35ae2ea497ce55015b99deb92dec79a0a56..6adcce4e5d75fa21dea85742fa36ee3b97247b01:/app/assets/stylesheets/common.css.scss diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index 8456c4b2f..f9065266b 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -4,15 +4,21 @@ $typeheight: 14px; $offwhite: #f4f4ff; $blue: #7092FF; -$grey: #AAA; -$keyline: #CCC; +$lightblue: #B8C5F0; +$green: #7ebc6f; +$grey: #CCC; +$lightgrey: #EEE; +$darkgrey: #AAA; $hovercolor: 20%; +$headerHeight: 75px; +$sidebarWidth: 350px; +$keyline: 1px solid $grey; /* Styles common to large and small screens */ /* Minimal CSS reset */ -html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p { +html, body, ul, ol, li, form, fieldset, legend, h1, h2, h3, h4, h5, h6, p, input { margin: 0; padding: 0; border: 0; @@ -56,6 +62,38 @@ abbr, acronym { 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 */ * { @@ -80,35 +118,19 @@ body.slim { } h1, h2, h3 { - margin-top: $lineheight/2; - margin-bottom: $lineheight; font-weight: bold; line-height: 1.2; } -h1, h2 { - font-size: 32px; -} - -#content h2 { - font-size: 21px; -} - -h3 { - font-size: 21px; - margin-top: $lineheight/2; - margin-bottom: $lineheight; +h1 { + font-size: 18px; } -h4,h5,h6 { - font-size: $typeheight; - margin-top: $lineheight/2; - margin-bottom: $lineheight/2; - font-weight: bold; - line-height: 1.5; +h2, h3 { + font-size: 16px; } -p, ul { +p { margin-bottom: $lineheight; } @@ -132,7 +154,7 @@ h6:first-child { .column-1 { width: 50%; - margin-bottom: $lineheight/2; + margin: 0 0 $lineheight/2 0; } .small_icon { @@ -140,6 +162,38 @@ h6:first-child { margin-right: $lineheight/4; } +/* Rules for icons */ + +.icon { + display:inline-block; + vertical-align:top; + width:20px; + height:20px; + 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; } +.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.check { background-position: -220px 0; } +.icon.note { background-position: -240px 0; } +.icon.gear { background-position: -260px 0; } + /* Rules for links */ a { @@ -178,375 +232,496 @@ table { } } -/* Rules for the whole left sidebar, including the logo */ - -#left { - position: absolute; - height: 100%; - width: 185px; - font-size: 11px; - line-height: 1.1; - z-index: 100; - border-right: 1px solid #ccc; -} +/* Rules for the search box */ -/* Rules for the OpenStreetMap logo in the top left corner */ +#search_form { + position: relative; + padding: $lineheight; + background-color: $lightgrey; + border-bottom: $keyline; -#logo { - display: block; - width: 170px; - min-width: 170px; - padding: $lineheight $lineheight/4; - text-align: center; - margin: auto; -} + #query_wrapper { + overflow: hidden; + } -#logo h1 { - font-size: 18px; - line-height: 1; - text-align: center; - margin: 0; -} + input { + width: 100%; + height: 30px; + border-right: none; + border-radius: 2px 0 0 2px; -#logo h2 { - font-size: $lineheight/2; - line-height: 15px; - margin: 0; -} + transition: 300ms linear; + -webkit-transition: 300ms linear; + -moz-transition: 300ms linear; + } -/* Rules for the site name */ + input:focus { + outline: none; + box-shadow: 0px 0px 7px #9ED485; + } -#small-title { - display: none; + input[type=submit] { + float: right; + width: auto; + min-width: 0; + border-radius: 0 2px 2px 0; + } } -/* Rules for the introductory text displayed in the left sidebar to new users */ +/* Utility for de-emphasizing content */ -.sidebar-copy { - padding: $lineheight/4 $lineheight/2; - p { - margin: $lineheight/4 0; +.deemphasize { + color: #999; + a { + color: $blue; } } -.sidebar-copy.intro { - border-top: 1px solid #ccc; -} -/* - * Rules for alert boxes shown in the left sidebar when important - * information needs to be conveyed such as when the site is - * undergoing maintenance. - */ +/* Rules for donation request box */ -.sidebar-alert { +a.donate { + display: block; + width: 163px; padding: $lineheight/4; - border-top: 1px solid #ccc; - margin-top: 4px; - margin-bottom: -5px; - background: #e00; - font-size: 12px; - font-weight: bold; - p { - margin: $lineheight/4; + 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 notice boxes shown in the left sidebar when important, but - * non-critical information needs to be conveyed such as notices about - * donation drives. - */ +/* Rules for the header */ -.sidebar-notice { - padding: $lineheight/4; - border-top: 1px solid #ccc; - margin-top: 4px; - margin-bottom: -5px; - background: #ea0; - font-size: 12px; - p { - margin: $lineheight/4; +header { + height: $headerHeight; + position: relative; + border-bottom: $keyline; + + h1, nav, nav > ul, nav > ul > li, .dropdown { + display: inline-block; } -} -/* Rules for the menu displayed in the left sidebar */ + > * { + height: 100%; + padding: $lineheight; + } -.left_menu { - left: 0px; - margin: 0; - padding: $lineheight/4 $lineheight/2; - font-size: 12px; - line-height: 1.25; - list-style-type: none; - border-bottom: 1px solid #ccc; - border-top: 1px solid #ccc; - img { - margin: $lineheight/2 0px; + h1, nav.primary { + float: left; } - ul { - padding: 0; - margin: 0; + img.logo { + width: 30px; + height: 30px; + vertical-align: middle; } - li { - list-style-type: none; - padding: 0; + h1 { margin: 0; + border-right: $keyline; } +} - h4 { - padding: $lineheight/4 0 $lineheight/4 0; - font-size: 12px; - margin: 0; +nav.primary { + > ul { + border: 1px solid darken($green, 20%); + border-radius: 4px; } - li:last-child h4 { - padding-top: 0; + a.tab { + display: inline-block; + font-weight: bold; + text-decoration: none; + color: $green; + padding: 5px 15px; + border-right: 1px solid darken($green, 20%); } -} -/* Rules for SOTM advert */ + #edit_tab a.tab { + border-right: 1px solid lighten($green, 20%); + } -#sotm { - width: 165px; - margin: $lineheight/2; - padding: 0px; - border: 0px; - background: #fff; - img { - width: 165px; + .dropdown-toggle { + padding: 5px 10px 5px 5px; + } + + .caret { + margin-top: 15px; + border-top-color: $green; + } + + .disabled a { + color: #ccc; + cursor: default; + + &:hover { + text-decoration: none; + } + + .caret { + border-top-color: #ccc; + } } } -/* - * Rules for "optional boxes" which appear in the left sidebar on - * certain pages. Current users are the seach box on the main page - * and the tag cloud on the traces pages. - */ +.site-index #view_tab, +.changeset-list #history_tab, +.site-export #export_tab, +.site-edit #edit_tab { + background-color: $green; -.optionalbox { - left: 0px; - padding: $lineheight/4 $lineheight/2; - margin: $lineheight/4 0; - text-align: left; + .tab { + color: #fff; + } + + .caret { + border-top-color: #fff; + } } -/* Rules for the search box */ +nav.secondary { + position: absolute; + right: 0; -#search_field { - position: relative; + > ul a { + font-weight: bold; + text-decoration: none; + color: $darkgrey; + padding-right: 10px; + } - form { - width: 165px; + .dropdown { + border: 1px solid $grey; + border-radius: 4px; } - input[type="text"] { - width: 165px; - padding: 3px; - font-size: $typeheight; - line-height: 1.1; - height: 25px; - padding: 2px 0px 2px $lineheight/4; - box-shadow: inset #DDD 0px 1px 3px; + img { + vertical-align: top; + border-radius: 2px 0 0 2px; + margin-right: 5px; } - input[type="text"]:focus { - outline: none; - border: 1px solid #000; + #inboxanchor { + display: inline-block; + position: relative; + height: 20px; + top: -2px; + margin: 0 2px 0 0; + padding: 0 5px 0 0; + border-radius: 2px; } - input[type="submit"] { - border: 0; - margin: 0; - padding: 0; - width: 15px; - height: 15px; - text-indent: -1000px; - overflow: hidden; - background: image-url("sprite.png") 0 0 no-repeat; - position: absolute; - top: $lineheight/4; - right: $lineheight/4; - cursor: pointer; + .dropdown-toggle { + display: block; + padding: 3px 7px; + color: #000; + text-decoration: none; + } + + .dropdown-menu { + left: auto; + right: 0; + + .count-number { + float: right; + padding: 0 5px; + margin: 0; + } } } -.search_help { - margin: $lineheight/4 0 0 0; +/* Utility for styling notification numbers */ + +.count-number { + padding: 2px $lineheight/4; + border-radius: 2px; + background: #d7d7ff; + margin: 0 2px; + font-size: 11px; + color: #333; } -/* Utility for de-emphasizing content */ +/* Rules for the message shown in place of the map when javascript is disabled */ -.deemphasize { - color: #999; - a { - color: $blue; - } +#noscript { + z-index: 20000000; + position: absolute; + top: 15px; + left: 15px; } -/* Rules for donation request box */ +/* Rules for bootstrap tooltips */ + +.tooltip { + position: absolute; + display: none; + color: #333; + text-align: left; + font-size: 12px; + max-width: 250px; +} -.donate { +.tooltip.in { + opacity: 0.8; + z-index: 1030; + height: auto; display: block; - width: 164px; - padding: $lineheight/4; - border: 1px solid #AED1A0; - background: #cbeea7; - font-size: $typeheight; - line-height: 1.4; +} + +.tooltip.top { + margin-top: -10px; text-align: center; - border-radius: 2px; - color: #222; - margin: $lineheight/2 $lineheight/2 0px $lineheight/2; +} - &:hover { - background: #9ed485; - text-decoration: none; - } - span { - margin: 0; - padding-left: 18px; - background: image-url("sprite.png") 0 -29px no-repeat; - } +.tooltip.right { + margin-left: 10px; } -/* Rules for Creative Commons logo button */ +.tooltip.bottom { + margin-top: 10px; + text-align: center; +} -#cclogo { - margin: $lineheight/2 0; - float: right; +.tooltip.left { + margin-left: -10px; + text-align: right; } -/* Rules for tabbed navigation bar */ +.tooltip-inner { + display: inline-block; + padding: 10px; + font-weight: normal; + background-color: white; +} -#top-bar { - position: relative; - margin-left: 185px; - height: 30px; - border-bottom: 1px solid #ccc; - background: white; - z-index: 100; +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } -.site-edit #top-bar, -.site-index #top-bar, -.site-export #top-bar { - position: fixed; - left: 0; - right: 0; +.tooltip.top .tooltip-arrow { + bottom: -5px; + left: 50%; + margin-left: -5px; + border-top-color: white; + border-width: 5px 5px 0; } -#tabnav { - height: 30px; - margin-bottom:0; - overflow: hidden; - li { - display: inline; - } - a, a:link, a:visited { - float: left; - font-weight: bold; - padding: 3px $lineheight/2; - text-decoration: none; - color: #333; - float: left; - margin-right: 1px; - -webkit-transition: color 200ms ease-in; - -moz-transition: color 200ms ease-in; - -o-transition: color 200ms ease-in; - transition: color 200ms ease-in; - } +.tooltip.right .tooltip-arrow { + top: 50%; + left: -5px; + margin-top: -5px; + border-right-color: white; + border-width: 5px 5px 5px 0; } -.site-index #tabnav a#viewanchor, -.site-edit #tabnav a#editanchor, -.changeset-list #tabnav a#historyanchor, -.site-export #tabnav a#exportanchor { - border-bottom: 1px solid #aaa; - background: #9ed485; - color: #000; +.tooltip.left .tooltip-arrow { + top: 50%; + right: -5px; + margin-top: -5px; + border-left-color: white; + border-width: 5px 0 5px 5px; } -#tabnav a:link:hover, #tabnav a:visited:hover { - text-decoration: underline; +.tooltip.bottom .tooltip-arrow { + top: -5px; + left: 50%; + margin-left: -5px; + border-bottom-color: white; + border-width: 0 5px 5px; } -#tabnav a:link.disabled, -#tabnav a:visited.disabled, -#tabnav a:link:hover.disabled, -#tabnav a:visited:hover.disabled { - color: #ccc; - cursor: default; +/* Rules for Leaflet maps */ + +.leaflet-control .control-button { + display: block; + height: 40px; + 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; + &:hover { - text-decoration: none; + background-color: black; + } + + &.active { + background-color: #9ed485; + } + + &.disabled { + background-color: #333; + background-color: rgba(0,0,0,.5); + cursor: default; + } + + .icon { + margin: 10px; } } -/* Utility for styling notification numbers */ +.leaflet-control .zoomin, +.control-layers .control-button { + margin-bottom: 0px; + border-radius: 4px 0 0 0; +} -.count-number { - padding: 2px $lineheight/4; - border-radius: 3px; - background: #d7d7ff; - margin: 0 2px; - font-size: 11px; - color: #333; +.site .leaflet-control .zoomout, +.control-key .control-button { + margin-bottom: 0; + border-radius: 0; +} + +.leaflet-control .zoomout, // For non-main page maps +.control-locate .control-button, +.control-share .control-button { + border-radius: 0 0 0 4px; } -/* Rules for greeting bar in the top right corner */ +/* Rules for the home page */ + +.site-export #map, +.site-index #map, +.site-edit #map { + height: 100%; + overflow: hidden; +} -#greeting { +#map-ui { + display: none; + position: relative; float: right; - padding-top: 3px; - margin-right: $lineheight/4; + 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; + } } -.greeting-bar-unread { - font-weight: bold; +.layers-ui, +.share-ui { + ul, li:last-child, p:last-child { + margin-bottom: 0; + } } -/* Rules for the message shown in place of the map when javascript is disabled */ +.layers-ui { + li { + border-radius: 4px; + overflow: hidden; + margin-bottom: 10px; + } -#noscript { - z-index: 20000000; - position: absolute; - top: 15px; - left: 15px; + label { + display: block; + padding: 5px 5px 5px 7px; + background-color: #eee; + cursor: pointer; + } + + li.active label { + background-color: #ccc; + } + + .base-layers { + .leaflet-container { + width: 100%; + height: 50px; + cursor: pointer; + } + } } -/* Rules for Leaflet maps */ +.share-ui { + .share-tabs { + margin-bottom: 10px; -.leaflet-control-attribution { - a.disabled { - color: #99c9dc; - cursor: default; - text-decoration: none; + a { + color: #fff; + text-decoration: none; + background-color: $lightblue; + padding: 5px 10px; + } + + a:first-child { + border-right: 1px solid #fff; + border-radius: 4px 0 0 4px; + } + + a:last-child { + border-left: 1px solid #fff; + border-radius: 0 4px 4px 0; + } + + a.active { + background-color: $blue; + } } - ul.secondary-actions { - float: left; - margin-right: $lineheight/4; + .share-tab { + display: none; + } - &:only-child { - margin-right: 0px; + .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; + } } -.site-index .leaflet-top, -.site-export .leaflet-top { - top: $lineheight/2 !important; +.leaflet-top.leaflet-right { + top: 10px !important; .leaflet-control { + margin-right: 0px !important; margin-top: 0px !important; } } -.site-index #map .olControlScaleLine, -.site-export #map .olControlScaleLine { - left: $lineheight/2 !important; -} - .leaflet-popup-scrolled { padding-right: $lineheight; border-bottom: 0px !important; @@ -560,21 +735,12 @@ table { /* Rules for edit menu */ -.menuicon { - padding: 0 $lineheight/4; - font-weight: normal; - display: inline-block; - &:hover { - text-decoration: none !important; - } -} - .menu { display: none; z-index: 10000; position: absolute; background-color: #ffffff; - border: 1px solid $keyline; + border: 1px solid $lightgrey; border-top: 0px; ul { margin: 0px; @@ -601,42 +767,54 @@ table { text-align: center; } -/* Rules for the popout map sidebar */ +/* Rules for the sidebar */ #sidebar { - display: none; - position: absolute; - overflow: auto; - top: 0px; - bottom: 0px; - left: 0px; - border-right: 1px solid $keyline; - width: 33.3333%; - .sidebar_heading { - position: relative; - padding: $lineheight/2 $lineheight; - z-index: 9999; - background: $offwhite; - border-bottom: 1px solid #ccc; + .alert { + background: #e00; } - h4 { + + h2, h3, h4 { + padding: $lineheight; + border-bottom: $keyline; + } + + .icon.close { + position: absolute; + right: $lineheight; + } + + p { + padding: $lineheight; margin: 0; } - ul { - margin-bottom: 0; - &:last-child { - border-bottom: 1px solid #ccc; - } - li { - margin-bottom: $lineheight/4; - &:last-child { - margin-bottom: 0; - } + + .footer { + position: absolute; + bottom: 0; + } + + p.credits { + font-size: 11px; + color: #999; + + a { + color: #666; } } } -#sidebar_close { +.sidebar_heading { + position: relative; + padding: $lineheight/2 $lineheight; + background: $offwhite; + border-bottom: 1px solid #ccc; + h4 { + margin: 0; + } +} + +.sidebar_close { position: absolute; height: $lineheight; top: 0px; @@ -646,21 +824,16 @@ table { } #sidebar_content { - position: relative; - margin-bottom: 20px; + position: absolute; + top: 72px; + bottom: 0; width: 100%; - h4 { - padding: 0 $lineheight $lineheight/2 $lineheight; - margin-top: $lineheight/2; - margin-bottom: 0; - border-bottom: 1px solid #ddd; - } + overflow-y: auto; } /* Rules for the map key which appears in the popout sidebar */ #mapkey { - padding: $lineheight $lineheight 0 $lineheight; .mapkey-table-key img { display: block; margin-left: auto; @@ -683,7 +856,10 @@ table { .search_details { display: block; + float: right; text-align: right; + margin-top: 0.2em; + margin-left: 0.5em; } } @@ -737,51 +913,108 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .export_area_inputs { margin-bottom: $lineheight/2; + input[type="text"] { + width: 80px; + margin-bottom: 5px; + } } .export_bound { margin: $lineheight/4; } -.export_details input[type="text"]#export_html_text { - width: 100%; +/* Rules for the sidebar and main content area */ + +.site-index, +.site-export, +.site-edit { + #content { + position: absolute; + top: $headerHeight; + bottom: 0; + width: 100%; + } + + #sidebar, #map { + position: relative; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + } + + #sidebar { + float: left; + width: $sidebarWidth; + } } -#sidebar #marker_inputs li:last-child { - margin-bottom: $lineheight/2; +.content-heading { + position: relative; + padding: $lineheight; + background: $lightgrey; + border-bottom: $keyline; } -#export_osm, -#export_mapnik, -#export_osmarender { - display: none; +.content-body { + padding: $lineheight; } -/* Rules for the main content area */ +/* Overrides for pages that use new layout conventions */ -#content { - padding: $lineheight; - position: relative; +.user-new, +.user-create, +.user-terms, +.user-confirm { + .content-heading { + height: 200px; + } } -.site-edit #content, -.site-index #content, -.site-export #content { - position: fixed; - padding: 0; - top: 30px; bottom: 0; - left: 184px; right: 0; - border-left: 1px solid #ccc; +.user-new, +.user-create, +.user-terms { + .content-body { + padding: 0; + } +} + +.header-illustration { + background-position: 0 0; + background-repeat: no-repeat; + position: absolute; + height: 200px; + width: 100%; + left: 0; + bottom: 0; + + &.new-user-main { + background-image: image-url("sign-up-illustration.png"); + } + + &.confirm-main { + background-image: image-url("confirm-illustration.png"); + } + + &.new-user-terms { + background-image: image-url("terms-illustration.png"); + } + + &.new-user-arm { + height: 110px; + width: 130px; + left: 260px; + top: 160px; + background-image: image-url("sign-up-illustration-arm.png"); + } } +@media only screen and (max-width:900px) { + .header-illustration.new-user-arm { display: none;} .wrapper { - margin-left: 184px; - border-left: 1px solid #ccc; + margin-left: $sidebarWidth; text-align: left; } -.site-edit #content { - top: 30px; } #content.maximised { @@ -816,33 +1049,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } margin-bottom: 15px; } } - -#slim_header { - margin: 30px $lineheight/2; - position: absolute; - top: 0px; - margin-right: $lineheight/4; - img { - vertical-align: middle; - margin-bottom: $lineheight/4; - margin-right: $lineheight/4; - } -} - -.content-heading { - position: relative; - padding: $lineheight; - background: $offwhite; - h1, h2 { - margin-bottom: $lineheight/2; - line-height: 100%; - &:last-child { - margin-bottom: 0; - } - } - p { - margin-top: $lineheight/2; - margin-bottom: 0px; + +#slim_header { + margin: 30px $lineheight/2; + position: absolute; + top: 0px; + margin-right: $lineheight/4; + img { + vertical-align: middle; + margin-bottom: $lineheight/4; + margin-right: $lineheight/4; } } @@ -863,28 +1079,6 @@ ul.results-list li { border-bottom: 1px solid #ccc; } margin-bottom: $lineheight; } -/* Rules for the home page */ - -.site-export #map, -.site-index #map { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; -} - -/* Rules for the edit page */ - -.site-edit #map { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - right: 0px; - overflow: hidden; -} - /* Rules for the changeset list shown by the history tab etc */ #changeset_list { @@ -951,7 +1145,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } h4, p { margin-bottom: $lineheight/4; } - p, ul, .bbox, .geo { + ul, .bbox, .geo { display: inline-block; vertical-align: top; max-width: 65%; @@ -961,6 +1155,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } margin-bottom: 0; } h4 { + float: left; width: 33.3333%; display: inline-block; vertical-align: top; @@ -984,11 +1179,8 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } } -#browse_map .geolink { - display: none; -} - #browse_map .secondary-actions { + display: none; margin-bottom: $lineheight/2; } @@ -1028,6 +1220,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } /* Rules for the user profile page */ #userinformation { + min-height: 100px; .userinformation-inner { float: left; @@ -1066,13 +1259,13 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .activity-details p { - margin-left: 72px; + margin-left: 70px; margin-bottom: 0; } #friends-container .contact-activity ul { - margin-left: 72px; - } + margin-left: 70px; +} .user-view { p#no_home_location { @@ -1095,16 +1288,11 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .user_popup { min-width: 200px; - p { - padding-top: 0; - padding-bottom: 5px; - margin-top: 0; - margin-bottom: 0; - margin-left: 60px; + padding: 0 0 5px 0; + margin-top: 0 0 0 60px; font-size: 12px; } - img.user_thumbnail { float: left; margin: 0 $lineheight/2 0 0; @@ -1152,7 +1340,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } h1, h2 { font-size: 21px; - line-height: 1; + line-height: 1em; } small.deemphasize { float: left; @@ -1216,10 +1404,10 @@ ul.results-list li { border-bottom: 1px solid #ccc; } float: left; } -/* Rules for the login page */ +/* Rules for the log in page */ #login_openid_buttons { - height: 56px; + margin-bottom: 0; } #login_openid_buttons li { @@ -1229,7 +1417,7 @@ ul.results-list li { border-bottom: 1px solid #ccc; } /* Rules for the account confirmation page */ -#terms { +.user-terms { .legale { border: 1px solid #ccc; padding: $lineheight; @@ -1251,27 +1439,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } } - form.sign { - input[type=submit] { - float: left; + #decline { + background: $lightblue; + &:hover { + background: darken($lightblue, $hovercolor); } - #decline { - background: $grey; - &:hover { - background: darken($grey, $hovercolor); - } - } - } - fieldset { - margin-bottom: $lineheight; - } - #contributorGuidance { - background-color: $offwhite; - border-radius: 4px; - -moz-border-radius: 4px; } - .signing-buttons { - height: 50px; + + .form-row { + margin: auto; + max-width: 370px; } } @@ -1284,8 +1461,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } border: 1px solid #ccc; } -.accountImage-options p { - margin-bottom: 0px; +#accountForm .user_image { + margin-bottom: 0; +} + +#accountForm #user_image { + margin-left: 20px; +} + +#accountForm ul.accountImage-options { + margin-left: 120px; } .nohome .location { @@ -1301,16 +1486,22 @@ ul.results-list li { border-bottom: 1px solid #ccc; } } .content_map.settings_map { - float: none; width: 50%; + float: none; } -/* Rules for message in/out box page */ +/* Rules for the oauth settings page */ -.message #content { - max-width: 740px; +.oauth_clients .buttons .oauth-edit { + border-radius: 2px 0 0 2px; +} + +.oauth_clients .buttons .oauth-delete { + border-radius: 0 2px 2px 0; } +/* Rules for messages pages */ + .messages { width: 100%; border: 1px solid #ddd; @@ -1338,8 +1529,16 @@ ul.results-list li { border-bottom: 1px solid #ccc; } 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 { - border-right: 1px solid $keyline; + height: 30px; + border-right: 1px solid $lightgrey; } } @@ -1361,10 +1560,26 @@ ul.results-list li { border-bottom: 1px solid #ccc; } vertical-align: middle; } +.inbox-mark-unread, +.inbox-mark-read, +.inbox-delete { + width: 1%; +} + .inbox-row-unread .inbox-mark-unread { display: none; } +.message-read .message-buttons { + margin-top: $lineheight; + 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 { @@ -1385,7 +1600,17 @@ ul.results-list li { border-bottom: 1px solid #ccc; } .field_with_errors { padding: 2px; background-color: #ff7070; - display: table; + display: inline-block; +} + +.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 */ @@ -1393,11 +1618,12 @@ ul.results-list li { border-bottom: 1px solid #ccc; } #errorExplanation { width: 400px; border: 2px solid #ff7070; - padding: $lineheight/2; + padding: 0 $lineheight/2; margin-bottom: $lineheight; background-color: #f0f0f0; + h2 { - margin: -10px; + margin: 0 -10px 10px -10px; padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; font-weight: bold; font-size: 12px; @@ -1412,32 +1638,62 @@ ul.results-list li { border-bottom: 1px solid #ccc; } padding: $lineheight/4; } - ul li { - font-size: 12px; - list-style: disc; - } + ul { + padding-left: $lineheight; + li { + font-size: 12px; + list-style: disc; + } + } } /* Rules for forms */ .standard-form { fieldset { - margin-bottom: $lineheight/2; + margin-bottom: $lineheight; } - label { + label.standard-label { display: block; - width: 300px; 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; } - input[name=remember_me] { + .form-list { + margin-bottom: 0; + } + .form-list li { + margin-bottom: 5px; + } + input[type="checkbox"], + input[type="radio"] { float: left; + margin-top: 5px; } } @@ -1445,13 +1701,25 @@ ul.results-list li { border-bottom: 1px solid #ccc; } display: block; } +input[type="checkbox"], +input[type="radio"] { + margin-right: 5px; +} + input[type="text"], input[type="email"], input[type="url"], input[type="password"], textarea { border: 1px solid #ccc; - padding: 2px; + padding: 2px 5px; + margin: 0; + width: 200px; +} + +textarea { + padding: 5px; + width: 100%; } /* Rules for user images */ @@ -1507,7 +1775,7 @@ ul.secondary-actions { display: inline-block; margin-right: 60px; } - li { + > li { display: block; float: left; list-style: none; @@ -1522,6 +1790,10 @@ ul.secondary-actions { margin-right: 0px; } } + .dropdown-menu { + left: auto; + right: 0; + } } /* Utility for managing inner content areas */ @@ -1530,6 +1802,10 @@ ul.secondary-actions { .inner12 { padding: $lineheight/2 $lineheight;} +.inner11 { padding: $lineheight/2;} + +.inner20 { padding: $lineheight 0;} + .inner02 { padding: 0 $lineheight;} /* Utility for general button styles */ @@ -1540,8 +1816,10 @@ input[type="reset"], a.button { cursor: pointer; border: 0; - display: block; - padding: $lineheight/4; + display: inline-block; + line-height: 20px; + padding: $lineheight/4 $lineheight/2; + min-height: 20px + $lineheight/2; min-width: 120px; margin: 0 0 $lineheight/2 0; color: white; @@ -1553,37 +1831,67 @@ a.button { 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; } } -a.button.submit { - background-color: #cbeea7; - &:hover { - background-color: #9ed485; - } -} - .buttons { min-width: 200px; - input[type="submit"], + input[type="button"], + input[type="reset"], .button { box-sizing: border-box; - display: inline-block; - margin-bottom:0; - width:50%; - min-width: 0; + float: left; + border-radius: 0; + margin:0; + min-width: 100px; + max-width: 180px; + border-right:1px solid white; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; } input:first-child, .button:first-child { border-radius:2px 0 0 2px; - border-right:1px solid white; } input:last-child, - .button:first-child { + .button:last-child { + border-radius:0 2px 2px 0; + border-right-width: 0; + } + input:only-child, + .button:only-child, + *[value="Hide"] + input:last-child, + *[value="Hide"] + .button: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) { 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) { + border-radius:2px 0 0 2px; + border-right-width: 1px solid white; } } @@ -1608,7 +1916,8 @@ a.button.submit { /* Rules for rich text */ -.richtext { +.richtext, +.prose { h1, h2 { padding-bottom: $lineheight/2; border-bottom: 1px dashed #cccccc; @@ -1659,7 +1968,6 @@ a.button.submit { } ul, ol { - font-style: italic; padding-left: $lineheight; margin-bottom: $lineheight; margin-left: $lineheight; @@ -1686,7 +1994,10 @@ a.button.submit { /* Rules for rich text editors */ .richtext_container { + margin-bottom: $lineheight; + .richtext_content { + width: 50%; display: inline-block; vertical-align: top; @@ -1714,8 +2025,7 @@ a.button.submit { margin-left: 15px; background-color: #f8f8ff; padding: $lineheight/2; - width: 300px; - max-width: 450px; + width: 220px; ul { margin-bottom: 0; @@ -1734,12 +2044,12 @@ a.button.submit { } li h4 { - width: 35%; + width: 40%; margin: 0; } li span, li p { - width: 60%; + width: 50%; margin-left: $lineheight/2; margin-bottom: $lineheight/4; white-space: nowrap; @@ -1765,11 +2075,11 @@ a.button.submit { /* Rules for the notes interface */ -.note { +.leaflet-popup-content .note { padding-top: $lineheight/2; } -.note { +.leaflet-popup-content .note { h2 { margin-bottom: $lineheight/2; } @@ -1784,7 +2094,6 @@ a.button.submit { left: $lineheight/4; min-width: 15px; min-height: 15px; - background: image-url("sprite.png") 0 -45px no-repeat; } .permalink span { @@ -1827,6 +2136,7 @@ a.button.submit { /* * Rules for the iD editor */ + .id-embed { width: 100%; height: 100%; @@ -1836,21 +2146,228 @@ a.button.submit { .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; + } } -.ads { - width: 370px; - position: absolute; - left: 0%; +/* 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: ""; } -.ad { +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; float: left; - height: 120px; - padding: $lineheight/2; - border: 0px; - background: #fff; + min-width: 160px; + padding: 5px 0; + margin: 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + 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: #0081c2; +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + 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 { + .center { + text-align: center; + .sprite { + float: none; + margin: auto; + } + } + + .sprite { + background-image: image-url("welcome-sprite.png"); + background-size: 500px 250px; + display: block; + float: left; + } + + .icon-list { + padding-bottom: 20px; + div { + margin-bottom: 10px; + p { + padding-top: 10px; + } + } + } + .sprite.small { + width: 50px; + height: 50px; + } + + .sprite.x { + background-position: -50px 0; + } + + .sprite.term { + margin-right: 10px; + vertical-align: middle; + } + + .sprite.node { + background-position: -100px 0; + } + + .sprite.way { + background-position: -150px 0; + } + + .sprite.tag { + background-position: -200px 0; + } + + .sprite.editor { + background-position: -250px 0; + } + + .sprite.question { + background-position: -300px 0; + } + + .start-mapping { + margin: auto; + cursor: pointer; + border: none; + padding: 20px 40px; + font-size: 30px; + text-decoration: none; + } + + .note-box { + margin-top: 20px; + background-color: $offwhite; + } + + .icon.note { + background-color: #333; + border-radius: 4px; + } }