michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: %filter substitution michael@0: %include defines.inc michael@0: michael@0: %define forward_transition_length 200ms michael@0: %define forward_spacing 50px michael@0: michael@0: /* Tab/StartUI tray ======================================================== */ michael@0: michael@0: #tray { michael@0: transition: transform @metro_animation_duration@ @metro_animation_easing@; michael@0: transform: translateY(-@tabs_height@); michael@0: width: 100%; michael@0: } michael@0: michael@0: #tray { michael@0: position: fixed; michael@0: } michael@0: michael@0: #tray[expanded]:not([viewstate="snapped"]) { michael@0: transform: none; michael@0: } michael@0: michael@0: /* Tabs -------------------------------------------------------------------- */ michael@0: michael@0: #tabs-container { michael@0: background: @panel_dark_color@ @panel_dark_background@; michael@0: padding: 0; michael@0: -moz-padding-start: @metro_spacing_normal@; michael@0: width: 100%; michael@0: } michael@0: michael@0: #tabs { michael@0: -moz-padding-start: 0; michael@0: } michael@0: michael@0: #tabs .tabs-list { michael@0: display: block; michael@0: -moz-user-focus: ignore; michael@0: padding: 0; michael@0: background-color: transparent; michael@0: margin: 0; michael@0: overflow: auto; michael@0: } michael@0: michael@0: .tabs-scrollbox > .scrollbutton-up[collapsed], michael@0: .tabs-scrollbox > .scrollbutton-down[collapsed], michael@0: #tabs[input="imprecise"] > .tabs-scrollbox > .scrollbutton-up, michael@0: #tabs[input="imprecise"] > .tabs-scrollbox > .scrollbutton-down { michael@0: visibility: hidden !important; michael@0: pointer-events: none; michael@0: } michael@0: michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up { michael@0: list-style-image: url("images/tab-arrows.png") !important; michael@0: -moz-image-region: rect(15px 58px 63px 14px) !important; michael@0: padding-right: 15px; michael@0: width: @tabs_scrollarrow_width@; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down:hover:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up:hover { michael@0: -moz-image-region: rect(14px 102px 62px 58px) !important; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down:active:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up:active { michael@0: -moz-image-region: rect(14px 152px 62px 108px) !important; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down[disabled]:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up[disabled] { michael@0: -moz-image-region: rect(15px 196px 63px 152px) !important; michael@0: } michael@0: michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down { michael@0: list-style-image: url("images/tab-arrows.png") !important; michael@0: -moz-image-region: rect(73px 58px 121px 14px) !important; michael@0: padding-left: 15px; michael@0: width: @tabs_scrollarrow_width@; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up:hover:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down:hover { michael@0: -moz-image-region: rect(72px 102px 120px 58px) !important; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up:active:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down:active { michael@0: -moz-image-region: rect(72px 152px 120px 108px) !important; michael@0: } michael@0: #tabs > .tabs-scrollbox > .scrollbutton-up[disabled]:-moz-locale-dir(rtl), michael@0: #tabs > .tabs-scrollbox > .scrollbutton-down[disabled] { michael@0: -moz-image-region: rect(73px 196px 121px 152px) !important; michael@0: } michael@0: michael@0: .tabs-scrollbox > .scrollbutton-up:not([disabled]):not([collapsed]):-moz-locale-dir(rtl)::after { michael@0: right: calc(@tabs_scrollarrow_width@ + @metro_spacing_normal@); michael@0: } michael@0: michael@0: .tabs-scrollbox > .scrollbutton-down:not([disabled]):not([collapsed]):-moz-locale-dir(rtl)::before { michael@0: right: auto; michael@0: left: calc(@tabs_scrollarrow_width@ + @newtab_button_width@); michael@0: } michael@0: michael@0: .tabs-scrollbox > .scrollbutton-up:not([disabled]):not([collapsed])::after { michael@0: content: ""; michael@0: visibility: visible; michael@0: display: block; michael@0: background-color: rgb(90, 91, 95); michael@0: position: absolute; michael@0: top: 0; michael@0: left: calc(@tabs_scrollarrow_width@ + @metro_spacing_normal@); /* .scrollbutton-up width + #tabs-container left padding */ michael@0: width: 1px; michael@0: height: @tabs_height@; michael@0: } michael@0: michael@0: .tabs-scrollbox > .scrollbutton-down:not([disabled]):not([collapsed])::before { michael@0: content: ""; michael@0: visibility: visible; michael@0: display: block; michael@0: background-color: rgb(90, 91, 95); michael@0: position: absolute; michael@0: top: 0; michael@0: right: calc(@tabs_scrollarrow_width@ + @newtab_button_width@); /* .scrollbutton-down width + #newtab-button width */ michael@0: width: 1px; michael@0: height: @tabs_height@; michael@0: } michael@0: michael@0: /* Hack for bug 965550 */ michael@0: .tabs-scrollbox > .arrowscrollbox-scrollbox > .scrollbox-innerbox { michael@0: -moz-padding-start: calc(2 * @tabs_scrollarrow_width@); michael@0: -moz-margin-start: calc(-2 * @tabs_scrollarrow_width@); michael@0: } michael@0: michael@0: #tabs-container[viewstate="snapped"] { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: @-moz-keyframes open-documenttab { michael@0: 0% { michael@0: opacity: 0; michael@0: transform: scale(0, 0); michael@0: } michael@0: michael@0: 100% { michael@0: opacity: 1; michael@0: transform: scale(1, 1); michael@0: } michael@0: } michael@0: michael@0: @-moz-keyframes close-documenttab { michael@0: 0% { michael@0: opacity: 1; michael@0: transform: scale(1, 1); michael@0: } michael@0: michael@0: 100% { michael@0: opacity: 0; michael@0: transform: scale(0, 0); michael@0: } michael@0: } michael@0: michael@0: .documenttab-container { michael@0: animation: open-documenttab 0.4s ease-out; michael@0: } michael@0: michael@0: documenttab[closing] > .documenttab-container { michael@0: animation: close-documenttab 0.4s ease-out; michael@0: animation-fill-mode: forwards; michael@0: } michael@0: michael@0: .documenttab-favicon { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: .documenttab-thumbnail { michael@0: margin: @metro_spacing_normal@ @metro_spacing_snormal@; michael@0: background: white none center top no-repeat; michael@0: background-size: cover; michael@0: min-width: @thumbnail_width@; michael@0: width: @thumbnail_width@; michael@0: height: @thumbnail_height@; michael@0: } michael@0: #tray:not([expanded]) .documenttab-thumbnail { michael@0: background-image: none!important; michael@0: } michael@0: michael@0: /* TODO: Decide how and where to display private tabs. michael@0: * For now, display them in the main tab strip but hide the thumbnail. */ michael@0: documenttab[private] .documenttab-thumbnail { michael@0: background-color: purple; michael@0: } michael@0: michael@0: .documenttab-title { michael@0: margin: @metro_spacing_normal@ @metro_spacing_snormal@; michael@0: margin-top: 0; michael@0: font-size: @metro_font_normal@; michael@0: width: @thumbnail_width@; michael@0: padding: 4px @metro_spacing_snormal@ 8px; michael@0: michael@0: background: #000; michael@0: opacity: 0.95; michael@0: color: #fff; michael@0: box-shadow: 0 0 @metro_spacing_snormal@ rgba(0, 0, 0, 0.25); michael@0: } michael@0: michael@0: .documenttab-crop { michael@0: background: transparent url("chrome://browser/skin/images/tab-crop.png") 50% 50% no-repeat; michael@0: } michael@0: michael@0: .documenttab-selection { michael@0: background: transparent -moz-image-rect(url("chrome://browser/skin/images/tab-overlay.png"), 0%, 100%, 50%, 0%) 50% 50% no-repeat; michael@0: } michael@0: michael@0: documenttab[selected] .documenttab-selection { michael@0: background: transparent -moz-image-rect(url("chrome://browser/skin/images/tab-overlay.png"), 50%, 100%, 100%, 0%) 50% 50% no-repeat; michael@0: } michael@0: michael@0: .documenttab-crop:-moz-locale-dir(rtl), michael@0: .documenttab-selection:-moz-locale-dir(rtl), michael@0: documenttab[selected] .documenttab-selection:-moz-locale-dir(rtl) { michael@0: transform: scaleX(-1); michael@0: } michael@0: michael@0: .documenttab-close { michael@0: background: none !important; michael@0: padding: @metro_spacing_small@ !important; michael@0: margin-top: @metro_spacing_snormal@; michael@0: -moz-margin-end: @metro_spacing_xsmall@; michael@0: border-color: transparent !important; michael@0: list-style-image: url("chrome://browser/skin/images/closetab-default.png"); michael@0: } michael@0: michael@0: .documenttab-close > .button-box > .button-text { michael@0: display: none; michael@0: } michael@0: michael@0: #tabs-controls { michael@0: -moz-box-align: start; michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: #newtab-button { michael@0: list-style-image: url(chrome://browser/skin/images/newtab-default.png); michael@0: michael@0: /* Add some extra padding for a larger target */ michael@0: padding: 18px 20px 30px 20px; michael@0: width: @newtab_button_width@; michael@0: } michael@0: michael@0: /* Start UI ----------------------------------------------------------------- */ michael@0: michael@0: #urlbar-autocomplete[viewstate="snapped"], michael@0: #urlbar-autocomplete[viewstate="portrait"]{ michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: #autocomplete-overlay { michael@0: display: none; michael@0: background-color: black; michael@0: opacity: .3; michael@0: position: fixed; michael@0: top: 0; michael@0: left: 0; michael@0: right: 0; michael@0: bottom: 0; michael@0: } michael@0: michael@0: #stack[autocomplete] > #page > #content-viewport > #autocomplete-overlay { michael@0: display: -moz-box; michael@0: } michael@0: michael@0: /* Browser Content Areas ==================================================== */ michael@0: michael@0: /* a 'margin-top' is applied dynamically in ContentAreaObserver */ michael@0: #browsers { michael@0: background: white; michael@0: transition-property: margin-top; michael@0: transition-duration: .3s; michael@0: transition-timing-function: ease-in-out; michael@0: } michael@0: #browsers browser { michael@0: /* unset padding-bottom immediately */ michael@0: transition-duration: 0s; michael@0: transition-delay: 0s; michael@0: transition-property: padding-bottom; michael@0: } michael@0: /* Selection overlay and monocles */ michael@0: #page, michael@0: .selection-overlay { michael@0: -moz-stack-sizing: ignore; michael@0: } michael@0: michael@0: .selection-overlay { michael@0: pointer-events: none; michael@0: } michael@0: michael@0: .selection-overlay:-moz-focusring { michael@0: outline: 0 !important; michael@0: } michael@0: michael@0: .selection-overlay-hidden { michael@0: display: none; michael@0: } michael@0: michael@0: .selectionhandle { michael@0: background-image: url("chrome://browser/skin/images/selection-monocle.png"); michael@0: background-repeat: no-repeat; michael@0: background-size: 18px 18px; michael@0: padding: 0px; michael@0: margin-top: -19px; michael@0: margin-left: -9px; michael@0: pointer-events: auto; michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: /* Load 140% image when scaled by 140% */ michael@0: .selectionhandle { michael@0: background-image: url("chrome://browser/skin/images/selection-monocle@1.4x.png"); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: /* Load 180% image when scaled by 180% */ michael@0: .selectionhandle { michael@0: background-image: url("chrome://browser/skin/images/selection-monocle@1.8x.png"); michael@0: } michael@0: } michael@0: michael@0: /* content scrollbars */ michael@0: .scroller { michael@0: opacity: 0; michael@0: background-color: rgba(0, 0, 0, 0.4) !important; michael@0: -moz-border-top-colors: none !important; michael@0: -moz-border-bottom-colors: none !important; michael@0: -moz-border-right-colors: none !important; michael@0: -moz-border-left-colors: none !important; michael@0: border-radius: @border_radius_tiny@; michael@0: border: @border_width_tiny@ solid rgba(255, 255, 255, 0.4) !important; michael@0: } michael@0: michael@0: .scroller[panning] { michael@0: opacity: 1; michael@0: } michael@0: michael@0: .scroller[orient="vertical"] { michael@0: min-width: @scroller_thickness@; michael@0: width: @scroller_thickness@; michael@0: min-height: @scroller_minimum@; michael@0: } michael@0: michael@0: .scroller[orient="horizontal"] { michael@0: min-height: @scroller_thickness@; michael@0: height: @scroller_thickness@; michael@0: min-width: @scroller_minimum@; michael@0: } michael@0: michael@0: /* overlay buttons */ michael@0: michael@0: .overlay-button { michael@0: position: fixed; michael@0: top: 50%; michael@0: margin-top: -65px; michael@0: width: 118px; michael@0: height: 118px; michael@0: background-color: hsla(210,30%,10%,.2); michael@0: background-size: 60px; michael@0: background-repeat: no-repeat; michael@0: background-origin: padding-box; michael@0: background-clip: padding-box; michael@0: border: 6px solid hsla(0,0%,100%,.7); michael@0: border-radius: 50%; michael@0: box-shadow: 0 0 0 1px hsla(0,0%,0%,.04), michael@0: 0 0 9px 0 hsla(0,0%,0%,.1); michael@0: transition-property: left, right, transform, background-position, michael@0: background-color, background-size, border-color, michael@0: visibility, box-shadow, top; michael@0: transition-duration: 550ms; michael@0: transition-timing-function: cubic-bezier(0.1, 0.9, 0.2, 1); michael@0: } michael@0: michael@0: #overlay-back { michael@0: background-image: url(chrome://browser/skin/images/overlay-back.png); michael@0: } michael@0: michael@0: #overlay-plus { michael@0: background-image: url(chrome://browser/skin/images/overlay-plus.png); michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: #overlay-back { michael@0: background-image: url(chrome://browser/skin/images/overlay-back@1.4x.png); michael@0: } michael@0: michael@0: #overlay-plus { michael@0: background-image: url(chrome://browser/skin/images/overlay-plus@1.4x.png); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: #overlay-back { michael@0: background-image: url(chrome://browser/skin/images/overlay-back@1.8x.png); michael@0: } michael@0: michael@0: #overlay-plus { michael@0: background-image: url(chrome://browser/skin/images/overlay-plus@1.8x.png); michael@0: } michael@0: } michael@0: michael@0: #overlay-back:-moz-locale-dir(ltr), michael@0: #overlay-plus:-moz-locale-dir(rtl) { michael@0: left: -70px; michael@0: background-position: right 6px center; michael@0: } michael@0: michael@0: #overlay-plus:-moz-locale-dir(ltr) { michael@0: right: -70px; michael@0: background-position: left 6px center; michael@0: } michael@0: michael@0: #stack[viewstate="snapped"] > .overlay-button, michael@0: #stack[keyboardVisible] > .overlay-button, michael@0: #stack[autocomplete] > .overlay-button, michael@0: #stack[fullscreen] > .overlay-button, michael@0: #appbar[visible] ~ .overlay-button, michael@0: .overlay-button[disabled] { michael@0: box-shadow: none; michael@0: visibility: collapse; michael@0: } michael@0: michael@0: #stack[keyboardVisible] > #overlay-back:-moz-locale-dir(ltr), michael@0: #stack[keyboardVisible] > #overlay-plus:-moz-locale-dir(rtl), michael@0: #stack[autocomplete] > #overlay-back:-moz-locale-dir(ltr), michael@0: #stack[autocomplete] > #overlay-plus:-moz-locale-dir(rtl), michael@0: #stack[fullscreen] > #overlay-back:-moz-locale-dir(ltr), michael@0: #stack[fullscreen] > #overlay-plus:-moz-locale-dir(rtl), michael@0: #appbar[visible] ~ #overlay-back:-moz-locale-dir(ltr), michael@0: #appbar[visible] ~ #overlay-plus:-moz-locale-dir(rtl), michael@0: #overlay-back[disabled]:-moz-locale-dir(ltr), michael@0: #overlay-plus[disabled]:-moz-locale-dir(rtl) { michael@0: transform: translateX(-60px); michael@0: } michael@0: michael@0: #stack[keyboardVisible] > #overlay-plus:-moz-locale-dir(ltr), michael@0: #stack[keyboardVisible] > #overlay-back:-moz-locale-dir(rtl), michael@0: #stack[autocomplete] > #overlay-plus:-moz-locale-dir(ltr), michael@0: #stack[autocomplete] > #overlay-back:-moz-locale-dir(rtl), michael@0: #stack[fullscreen] > #overlay-plus:-moz-locale-dir(ltr), michael@0: #stack[fullscreen] > #overlay-back:-moz-locale-dir(rtl), michael@0: #appbar[visible] ~ #overlay-plus:-moz-locale-dir(ltr), michael@0: #appbar[visible] ~ #overlay-back:-moz-locale-dir(rtl), michael@0: #overlay-plus[disabled]:-moz-locale-dir(ltr), michael@0: #overlay-back[disabled]:-moz-locale-dir(rtl) { michael@0: transform: translateX(60px); michael@0: } michael@0: michael@0: .overlay-button:hover { michael@0: background-color: hsla(210,30%,10%,.4); michael@0: background-size: 90px; michael@0: border-color: hsla(0,0%,100%,.9); michael@0: } michael@0: michael@0: #overlay-back:-moz-locale-dir(ltr):hover, michael@0: #overlay-plus:-moz-locale-dir(rtl):hover { michael@0: background-position: right 12px center; michael@0: transform: translateX(40px) scale(1.2); michael@0: } michael@0: michael@0: #overlay-plus:-moz-locale-dir(ltr):hover { michael@0: background-position: left 12px center; michael@0: transform: translateX(-40px) scale(1.2); michael@0: } michael@0: michael@0: #overlay-back:-moz-locale-dir(rtl):hover { michael@0: transform: translateX(-40px) scale(1.2) scaleX(-1); michael@0: } michael@0: michael@0: #overlay-back:-moz-locale-dir(rtl) { michael@0: transform: scaleX(-1); michael@0: right: -70px; michael@0: background-position: right 9px center; michael@0: } michael@0: michael@0: #overlay-back[mousedrag], michael@0: #overlay-plus[mousedrag] { michael@0: transition-property: left, right, transform, background-position, michael@0: background-color, background-size, border-color, michael@0: visibility, box-shadow; michael@0: } michael@0: michael@0: /* Navigation bar ========================================================== */ michael@0: michael@0: /* Most appbars are hidden by default, but we want to keep #navbar visible so michael@0: * we can show the progress bar at all times. Instead, we hide only the michael@0: * toolbar portion of the navbar. */ michael@0: #navbar { michael@0: visibility: visible; michael@0: } michael@0: #navbar:not([hiding]):not([visible]) > #toolbar-overlay { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: #content-viewport[navbar="visible"] .active-tab-notificationbox:not([count="0"]):not([notificationsVisible="false"]) { michael@0: padding-bottom: @toolbar_height@; michael@0: } michael@0: michael@0: michael@0: /* Progress meter ---------------------------------------------------------- */ michael@0: michael@0: #progress-container { michael@0: display: block; michael@0: position: absolute; michael@0: top: -@progress_height@; michael@0: height: @progress_height@; michael@0: width: 100%; michael@0: background-color: hsla(210,5%,80%,1); michael@0: box-shadow: 0 1px 0 hsla(210,5%,50%,.1) inset; michael@0: -moz-user-focus: ignore; michael@0: } michael@0: #progress-container[startpage] { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: #progress-control { michael@0: display: block; michael@0: height: @progress_height@; michael@0: background-image: -moz-linear-gradient(left, hsla(200,100%,83%,.5), michael@0: hsla(200,100%,83%,0)), michael@0: -moz-linear-gradient(top, #1ab2ff, #0091ff); michael@0: border-right: 1px solid #0082e5; michael@0: transition: width .3s ease-in; michael@0: -moz-user-focus: ignore; michael@0: } michael@0: michael@0: #progress-control:-moz-dir(rtl) { michael@0: transform: scaleX(-1); michael@0: } michael@0: michael@0: #progress-control[fade] { michael@0: opacity: 0; michael@0: transition: width .3s ease-in, .5s opacity ease-in; michael@0: } michael@0: michael@0: /* Toolbar ----------------------------------------------------------------- */ michael@0: michael@0: #toolbar-overlay { michael@0: background-color: @panel_light_color@; michael@0: } michael@0: michael@0: #urlbar-autocomplete { michael@0: padding-top: 0; michael@0: } michael@0: michael@0: #toolbar { michael@0: padding: 0 @toolbar_horizontal_padding@; michael@0: } michael@0: michael@0: #toolbar[viewstate="snapped"] { michael@0: padding: 0 @toolbar_snapped_horizontal_padding@; michael@0: } michael@0: michael@0: #toolbar[viewstate="snapped"] > toolbarbutton { michael@0: margin: 0 @toolbar_snapped_horizontal_spacing@; michael@0: } michael@0: michael@0: /* Combined back/forward buttons */ michael@0: michael@0: #back-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back.png); michael@0: position: relative; michael@0: z-index: 1; michael@0: transition: opacity @forward_transition_length@ ease-out; michael@0: } michael@0: michael@0: #back-button:-moz-locale-dir(rtl), michael@0: #forward-button:-moz-locale-dir(rtl) { michael@0: transform: scaleX(-1); michael@0: } michael@0: michael@0: #back-button[disabled] { michael@0: visibility: visible; michael@0: opacity: 0.5; michael@0: } michael@0: michael@0: #forward-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-forward.png); michael@0: transition: margin @forward_transition_length@ ease-out, michael@0: visibility @forward_transition_length@ ease-out, michael@0: opacity @forward_transition_length@ ease-out; michael@0: } michael@0: michael@0: #forward-button[disabled] { michael@0: -moz-margin-start: -@forward_spacing@ !important; michael@0: visibility: hidden; michael@0: opacity: 0; michael@0: pointer-events: none; michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: #back-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back@1.4x.png); michael@0: } michael@0: michael@0: #forward-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-forward@1.4x.png); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: #back-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back@1.8x.png); michael@0: } michael@0: michael@0: #forward-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-forward@1.8x.png); michael@0: } michael@0: } michael@0: michael@0: /* URL bar */ michael@0: #urlbar { michael@0: border: @metro_border_thick@ solid @urlbar_border_color@; michael@0: margin: 0 @toolbar_horizontal_spacing@; michael@0: padding: 0; michael@0: background-color: @field_background_color@; michael@0: overflow: hidden; michael@0: } michael@0: michael@0: #urlbar[editing] { michael@0: border-color: @metro_orange@; michael@0: } michael@0: michael@0: /* Identity widget */ michael@0: #identity-icon { michael@0: margin: 0; michael@0: padding: 0 @metro_spacing_snormal@; michael@0: list-style-image: url("chrome://browser/skin/images/identity-icons-generic.png"); michael@0: } michael@0: michael@0: #identity-box.verifiedDomain > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/identity-icons-https.png"); michael@0: } michael@0: michael@0: #identity-box.verifiedIdentity > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/identity-icons-https-ev.png"); michael@0: } michael@0: michael@0: #toolbar[startpage] > #urlbar:not([autocomplete]) > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icons-identity-firefox.png"); michael@0: } michael@0: michael@0: #urlbar[autocomplete] > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icon-autocomplete-search.png"); michael@0: } michael@0: michael@0: /* Main URL textbox */ michael@0: #urlbar-edit { michael@0: margin: 0 !important; michael@0: min-height: @urlbar_edit_height@; michael@0: -moz-appearance: none !important; michael@0: border-radius: 0; michael@0: border: 0 none !important; michael@0: padding: 0 !important; michael@0: } michael@0: michael@0: #urlbar-edit > hbox > .textbox-input-box > .textbox-input:invalid { michael@0: /* Hide error glow around the address bar that shows by default michael@0: * when URLs are made invalid by trmming. */ michael@0: box-shadow: none !important; michael@0: } michael@0: michael@0: /* Combined stop-reload button */ michael@0: .urlbar-button { michael@0: margin: 0; michael@0: -moz-image-region: rect(0px, 30px, 30px, 0px); michael@0: } michael@0: michael@0: .urlbar-button:hover:not(:active) { michael@0: -moz-image-region: rect(0px, 60px, 30px, 30px); michael@0: background-color: #dedfdf; michael@0: } michael@0: michael@0: .urlbar-button:active { michael@0: -moz-image-region: rect(0px, 90px, 30px, 60px); michael@0: background-color: #6d7073; michael@0: } michael@0: michael@0: .urlbar-button > .toolbarbutton-icon { michael@0: width: 30px; michael@0: height: 30px; michael@0: } michael@0: michael@0: #go-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-go.png) michael@0: } michael@0: michael@0: #reload-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-reload.png); michael@0: } michael@0: michael@0: #stop-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-stop.png); michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: .urlbar-button { michael@0: -moz-image-region: rect(0px, 42px, 42px, 0px); michael@0: } michael@0: michael@0: .urlbar-button:hover:not(:active) { michael@0: -moz-image-region: rect(0px, 84px, 42px, 42px); michael@0: } michael@0: michael@0: .urlbar-button:active { michael@0: -moz-image-region: rect(0px, 126px, 42px, 84px); michael@0: } michael@0: michael@0: #go-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-go@1.4x.png) michael@0: } michael@0: michael@0: #reload-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-reload@1.4x.png); michael@0: } michael@0: michael@0: #stop-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-stop@1.4x.png); michael@0: } michael@0: michael@0: #toolbar[startpage] > #urlbar:not([autocomplete]) > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icons-identity-firefox@1.4x.png"); michael@0: } michael@0: michael@0: #urlbar[autocomplete] > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icon-autocomplete-search@1.4x.png"); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: .urlbar-button { michael@0: -moz-image-region: rect(0px, 54px, 54px, 0px); michael@0: } michael@0: michael@0: .urlbar-button:hover:not(:active) { michael@0: -moz-image-region: rect(0px, 108px, 54px, 54px); michael@0: } michael@0: michael@0: .urlbar-button:active { michael@0: -moz-image-region: rect(0px, 162px, 54px, 108px); michael@0: } michael@0: michael@0: #go-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-go@1.8x.png) michael@0: } michael@0: michael@0: #reload-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-reload@1.8x.png); michael@0: } michael@0: michael@0: #stop-button { michael@0: list-style-image: url(chrome://browser/skin/images/urlbar-stop@1.8x.png); michael@0: } michael@0: michael@0: #toolbar[startpage] > #urlbar:not([autocomplete]) > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icons-identity-firefox@1.8x.png"); michael@0: } michael@0: michael@0: #urlbar[autocomplete] > #identity-box > #identity-icon { michael@0: list-style-image: url("chrome://browser/skin/images/icon-autocomplete-search@1.8x.png"); michael@0: } michael@0: } michael@0: michael@0: /* navbar edit button: one button out of three - when editing: go, when !editing, michael@0: loading: stop, when !editing, !loading: reload */ michael@0: michael@0: #go-button, #reload-button, #stop-button { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: #urlbar[editing] > #go-button, michael@0: #urlbar:not([editing])[loading] > #stop-button, michael@0: #urlbar:not([editing]):not([loading]) > #reload-button { michael@0: visibility: visible; michael@0: } michael@0: michael@0: /* Contextual toolbar controls */ michael@0: michael@0: #toolbar-context-autocomplete, michael@0: .hide-on-start, michael@0: #toolbar-context-page { michael@0: transition-property: opacity, visibility; michael@0: transition-duration: @forward_transition_length@; michael@0: transition-timing-function: @metro_animation_easing@; michael@0: } michael@0: michael@0: #toolbar-contextual:not([autocomplete]) #toolbar-context-autocomplete, michael@0: #toolbar-contextual[startpage] .hide-on-start, michael@0: #toolbar-contextual[autocomplete] #toolbar-context-page { michael@0: opacity: 0; michael@0: visibility: hidden; michael@0: pointer-events: none; michael@0: } michael@0: michael@0: #toolbar[viewstate="snapped"] #toolbar-contextual { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: #download-progress:not([progress]) { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: #download-progress { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download.png); michael@0: } michael@0: michael@0: #download-progress[progress="100"] { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download-finished.png); michael@0: } michael@0: michael@0: #pin-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-pin.png); michael@0: } michael@0: michael@0: #star-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-star.png); michael@0: } michael@0: michael@0: #menu-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-menu.png); michael@0: } michael@0: michael@0: #close-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-close.png); michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: #download-progress { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download@1.4x.png); michael@0: } michael@0: michael@0: #download-progress[progress="100"] { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download-finished@1.4x.png); michael@0: } michael@0: michael@0: #pin-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-pin@1.4x.png); michael@0: } michael@0: michael@0: #star-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-star@1.4x.png); michael@0: } michael@0: michael@0: #menu-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-menu@1.4x.png); michael@0: } michael@0: michael@0: #close-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-close@1.4x.png); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: #download-progress { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download@1.8x.png); michael@0: } michael@0: michael@0: #download-progress[progress="100"] { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-download-finished@1.8x.png); michael@0: } michael@0: michael@0: #pin-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-pin@1.8x.png); michael@0: } michael@0: michael@0: #star-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-star@1.8x.png); michael@0: } michael@0: michael@0: #menu-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-menu@1.8x.png); michael@0: } michael@0: michael@0: #close-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-close@1.8x.png); michael@0: } michael@0: } michael@0: michael@0: /* Panel UI ================================================================ */ michael@0: michael@0: #panel-container { michael@0: padding: 60px 40px; michael@0: } michael@0: michael@0: #panel-container[viewstate="snapped"] .canSnapTiles .richgrid-item-content { michael@0: -moz-box-orient: horizontal; michael@0: } michael@0: michael@0: #panel-close-button { michael@0: -moz-margin-end: 40px; michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back.png); michael@0: -moz-box-pack: center; michael@0: } michael@0: michael@0: #panel-close-button:-moz-locale-dir(rtl) { michael@0: transform: scaleX(-1); michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: #panel-close-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back@1.4x.png); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: #panel-close-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-back@1.8x.png); michael@0: } michael@0: } michael@0: michael@0: #panel-items { michael@0: padding-top: 20px; michael@0: -moz-padding-start: 88px; michael@0: } michael@0: michael@0: #panel-container[viewstate="snapped"] #panel-items { michael@0: padding-left: 0px; michael@0: } michael@0: michael@0: /* Console Section - Panel UI ---------------------------------------------- */ michael@0: michael@0: #console-filter-warnings, michael@0: #console-filter-messages { michael@0: visibility: visible; michael@0: } michael@0: michael@0: @media (max-width: 499px) { michael@0: #console-filter-warnings, michael@0: #console-filter-messages { michael@0: visibility: collapse; michael@0: } michael@0: } michael@0: michael@0: .console-error-msg, michael@0: .console-msg-text { michael@0: white-space: pre-wrap; michael@0: } michael@0: michael@0: /* Find bar ================================================================ */ michael@0: michael@0: #findbar { michael@0: background-color: @metro_orange@; michael@0: padding: 0; michael@0: } michael@0: michael@0: #findbar > toolbar { michael@0: min-height: @findbar_height@ !important; michael@0: } michael@0: michael@0: #findbar-textbox { michael@0: border: none !important; michael@0: width: 20em; michael@0: } michael@0: michael@0: /* Override the default box ordering and make the find textbox appear to the michael@0: right of the icon */ michael@0: #findbar-textbox input { michael@0: -moz-box-ordinal-group: 2 michael@0: } michael@0: michael@0: #findbar-textbox[status="1"] { /* Ci.nsITypeAheadFind.FIND_NOTFOUND */ michael@0: background: rgb(255,200,200); michael@0: } michael@0: michael@0: #findbar-textbox:hover:active { michael@0: background: #8db8d8; michael@0: } michael@0: michael@0: .textbox-search-icon { michael@0: list-style-image: url("chrome://browser/skin/images/search-glass-30.png"); michael@0: -moz-image-region: auto; michael@0: } michael@0: michael@0: #findbar-previous-button { michael@0: -moz-image-region: rect(0px, 400px, 40px, 360px); michael@0: } michael@0: michael@0: #findbar-previous-button:hover:not(:active) { michael@0: -moz-image-region: rect(40px, 400px, 80px, 360px); michael@0: } michael@0: michael@0: #findbar-previous-button:active { michael@0: -moz-image-region: rect(80px, 400px, 120px, 360px); michael@0: } michael@0: michael@0: #findbar-next-button { michael@0: -moz-image-region: rect(0px, 440px, 40px, 400px); michael@0: } michael@0: michael@0: #findbar-next-button:hover:not(:active) { michael@0: -moz-image-region: rect(40px, 440px, 80px, 400px); michael@0: } michael@0: michael@0: #findbar-next-button:active { michael@0: -moz-image-region: rect(80px, 440px, 120px, 400px); michael@0: } michael@0: michael@0: #findbar-close-button { michael@0: -moz-image-region: rect(0px, 480px, 40px, 440px); michael@0: } michael@0: michael@0: #findbar-close-button:hover:not(:active) { michael@0: -moz-image-region: rect(40px, 480px, 80px, 440px); michael@0: } michael@0: michael@0: #findbar-close-button:active { michael@0: -moz-image-region: rect(80px, 480px, 120px, 440px); michael@0: } michael@0: michael@0: /* Contextual appbar ======================================================= */ michael@0: michael@0: #contextualactions-tray { michael@0: background-color: @metro_orange@; michael@0: } michael@0: michael@0: #contextualactions-tray > toolbarbutton { michael@0: opacity: 1; michael@0: } michael@0: #contextualactions-tray > toolbarbutton[fade] { michael@0: opacity: 0; michael@0: } michael@0: #contextualactions-tray > toolbarbutton:not([immediate]) { michael@0: transition-property: opacity; michael@0: transition-duration: .3s; michael@0: transition-timing-function: ease-in; michael@0: transition-delay: 80ms; michael@0: } michael@0: #contextualactions-tray > toolbarbutton > .toolbarbutton-text { michael@0: color: white; michael@0: } michael@0: michael@0: #pin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-pin.png); michael@0: } michael@0: michael@0: #unpin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-unpin.png); michael@0: } michael@0: michael@0: #hide-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-hide.png); michael@0: } michael@0: michael@0: #delete-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-delete.png); michael@0: } michael@0: michael@0: #clear-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-clear.png); michael@0: } michael@0: michael@0: #restore-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-restore.png); michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_140pc@) { michael@0: #pin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-pin@1.4x.png); michael@0: } michael@0: michael@0: #unpin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-unpin@1.4x.png); michael@0: } michael@0: michael@0: #hide-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-hide@1.4x.png); michael@0: } michael@0: michael@0: #delete-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-delete@1.4x.png); michael@0: } michael@0: michael@0: #clear-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-clear@1.4x.png); michael@0: } michael@0: michael@0: #restore-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-restore@1.4x.png); michael@0: } michael@0: } michael@0: michael@0: @media (min-resolution: @min_res_180pc@) { michael@0: #pin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-pin@1.8x.png); michael@0: } michael@0: michael@0: #unpin-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-unpin@1.8x.png); michael@0: } michael@0: michael@0: #hide-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-hide@1.8x.png); michael@0: } michael@0: michael@0: #delete-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-delete@1.8x.png); michael@0: } michael@0: michael@0: #clear-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-clear@1.8x.png); michael@0: } michael@0: michael@0: #restore-selected-button { michael@0: list-style-image: url(chrome://browser/skin/images/navbar-contextual-restore@1.8x.png); michael@0: } michael@0: } michael@0: michael@0: /* Download notifications ======================================================= */ michael@0: michael@0: .download-filename-text { michael@0: font-weight: bold; michael@0: } michael@0: .download-host-text { michael@0: font-weight: bold; michael@0: } michael@0: michael@0: /* Autoscroll popup ======================================================== */ michael@0: michael@0: .autoscroller { michael@0: height: 28px; michael@0: width: 28px; michael@0: border: none; michael@0: margin: -14px; michael@0: padding: 0; michael@0: background-image: url("chrome://browser/skin/images/autoscroll.png"); michael@0: background-color: transparent; michael@0: position: fixed; michael@0: visibility: hidden; michael@0: background-repeat: no-repeat; michael@0: background-origin: padding-box; michael@0: background-clip: padding-box; michael@0: background-position: right top; michael@0: -moz-appearance: none; michael@0: } michael@0: michael@0: .autoscroller[scrolldir="NS"] { michael@0: background-position: right center; michael@0: } michael@0: michael@0: .autoscroller[scrolldir="EW"] { michael@0: background-position: right bottom; michael@0: } michael@0: michael@0: /* Flyouts ================================================================= */ michael@0: michael@0: /* don't add a margin to the very top settings entry in flyouts */ michael@0: flyoutpanel > settings:first-child { michael@0: margin-top: 0px; michael@0: } michael@0: michael@0: /* Sync flyout pane -------------------------------------------------------- */ michael@0: michael@0: #sync-flyoutpanel { michael@0: font-size: @metro_font_normal@; michael@0: font-weight: 400; michael@0: } michael@0: michael@0: #sync-flyoutpanel button { michael@0: font-weight: 700; michael@0: } michael@0: michael@0: #sync-flyoutpanel .syncHeader { michael@0: font-weight: 600; michael@0: } michael@0: michael@0: #sync-flyoutpanel .syncSecondaryText { michael@0: font-weight: 100; michael@0: font-size: @metro_font_snormal@; michael@0: } michael@0: michael@0: #sync-flyoutpanel .syncInstructionText { michael@0: font-style: italic; michael@0: } michael@0: michael@0: .syncThrobber .progressBall { michael@0: margin: 2px; michael@0: width: 22px; michael@0: height: 22px; michael@0: } michael@0: michael@0: .syncThrobber .progressBallInner { michael@0: width: 5px; michael@0: height: 5px; michael@0: border-radius: 3px; michael@0: } michael@0: michael@0: #sync-flyoutpanel .syncErrorText { michael@0: color: red; michael@0: } michael@0: michael@0: #sync-flyoutpanel textbox { michael@0: margin: @metro_spacing_small@; michael@0: padding: @metro_spacing_xsmall@ @metro_spacing_snormal@; michael@0: background: @field_background_color@; michael@0: border: @metro_border_thick@ solid @field_mid_foreground_color@ !important; michael@0: color: @field_foreground_color@; michael@0: } michael@0: michael@0: #sync-setup-throbber { michael@0: margin-top: 15px; michael@0: margin-left: 25px; michael@0: } michael@0: michael@0: #sync-connected-device { michael@0: width: 200px; michael@0: } michael@0: michael@0: #sync-manualsetup-failure { michael@0: width: 200px; michael@0: } michael@0: michael@0: #sync-flyoutpanel .syncJPAKECode { michael@0: margin: @metro_spacing_small@; michael@0: padding: @metro_spacing_xsmall@ @metro_spacing_snormal@; michael@0: background: @field_background_color@; michael@0: border: @metro_border_thick@ solid @field_mid_foreground_color@ !important; michael@0: color: @field_foreground_color@; michael@0: display: block !important; michael@0: font-size: @metro_font_large@ !important; michael@0: font-weight: 600; michael@0: letter-spacing: 0.4em; michael@0: text-align: center; michael@0: width: 175px; michael@0: } michael@0: michael@0: #sync-connected-device { michael@0: margin-bottom: 0px; michael@0: padding-bottom: 0px; michael@0: } michael@0: michael@0: #sync-connected-lastSynced { michael@0: margin-top: 0px; michael@0: padding-top: 0px; michael@0: } michael@0: michael@0: #sync-connected-throbber { michael@0: margin-top: 12px; michael@0: margin-left: 15px; michael@0: } michael@0: michael@0: /* About flyout pane ------------------------------------------------------- */ michael@0: michael@0: /* Colors are defined in /browser/branding/