static/css/restyle/restyle.less (1,881 lines of code) (raw):

// Needed for hovercards @import (less) '../impala/hovercards'; // Colors @primary-blue: rgba(12, 153, 213, 1); @primary-link: #6ac3e2; @primary-font: Inter, sans-serif; @link-on-white-bg: #0996F8; @link-on-color-bg: #fff; @header-font-color: #c63717; @default-font-color: #333; // Common styles @detail-border: 1px solid #ebebeb; // Sizes @containerWidth: 1018px; @pageWidth: 960px; h1, h2, h3, h4, h5 { line-height: 1.5; font-family: @primary-font !important; font-style: normal !important; font-weight: normal; } * { font-family: @primary-font !important; } // Styles html { font-size: 13px; background: #051818; color: #fff; } body.restyle { background: #fff none repeat scroll 0 0; color: @default-font-color; font-family: @primary-font; font-style: normal; line-height: 1.5; min-width: @containerWidth; overflow-x: hidden; } body.restyle.fluid, .fluid .section, .fluid .header-bg { min-width: auto; min-height: auto; max-width: none; width: auto; } h1, #masthead h1 { font-family: @primary-font; } #masthead h1 a { color: @link-on-color-bg; } h2 { margin-top: 1em; } .primary h1, .island h2 { margin-top: 0; } h1, .primary h2, hgroup h2.addon, hgroup h2.collection, .developer-hub header h2, .developer-hub #homepage h2 { color: @default-font-color; font-size: 1.692rem; font-style: normal; } masthead.submit-theme, #collections-landing { margin-top: 20px; } .addon-description-header, .addon-details .secondary.addon-vitals { background: none; } #addon .install-wrapper .warning { color: @link-on-color-bg; } .addon-details h2 { color: inherit; font-size: 1.75rem; } .primary header h2 { margin: 0 0 15px; } // These are all defined in AMO's original CSS and seem to need overriding :'( a, a:link, a:visited, a:hover, a:focus, a:active, .more-info, .more-info:link, .more-info:visited, .more-info:hover, .more-info:focus, .more-info:active { color: @link-on-white-bg; } a.button, a.delete-button, a.delete-button:hover, button.link:hover span, button.link:focus span, button.link:active span { color: @link-on-color-bg; } .amo-header, .primary:not(.more-island), .secondary { &::after { clear: both; content: ""; display: block; height: 0; width: 100%; } } .primary, .secondary { background: #fff; } .header-bg { background-color: #0c99d5; /* Main Content Wrapper Background - General blue-pattern, blue-gradient, white overlay (sharp-cut at 130px) */ background-image: linear-gradient( to bottom, transparent 0, transparent 100px ), linear-gradient( to bottom, rgba(12, 153, 213, 0) 0, @primary-blue 500px, #fff 0% ), repeating-linear-gradient( 118deg, rgba(12, 153, 213, 0) 0, #00a7e0 550px, rgba(12, 153, 213, 0) 550px, #00a7e0 800px, rgba(12, 153,213, 0) 800px, #00a7e0 950px ); background-position: 0 416px, 0 0, 0 0; // This breaks the background panel wrapper out of the containing box, // allowing it to be full-width. This means the background gradient can // span the entire width of the viewport, even though the parent has a // max-width. margin: 0 0 12px ~"calc(-1 * ((100vw - 100%) / 2))"; min-width: @containerWidth; width: 100vw; .html-rtl & { margin: 0 ~"calc(-1 * ((100vw - 100%) / 2))" 12px 0; } } /* Main Content Wrapper Background - Home and Add-on Details page blue-pattern, blue-gradient, white overlay (sharp-cut at 416px) */ .home .header-bg, .addon-details .header-bg { background-image: linear-gradient( to bottom, transparent 0, transparent 100px ), linear-gradient( to bottom, rgba(12, 153, 213, 0) 0, @primary-blue 500px, @primary-blue 0% ), repeating-linear-gradient( 118deg, rgba(12, 153, 213, 0) 0, #00a7e0 550px, rgba(12, 153, 213, 0) 550px, #00a7e0 800px, rgba(12, 153, 213, 0) 800px, #00a7e0 950px ); background-position: 0 416px, 0 0, 0 0; } .amo-header { margin-bottom: 0; } .amo-header-wrapper { margin: 0 auto; max-width: @pageWidth; } .category-landing [role="main"], .amo-header + .primary { width: 78%; } .category-landing .amo-header + .primary header { display: none; } // hide overflow to cover streching of bg in // .addon-details .primary:first-of-type:before .addon-details #background-wrapper { overflow: hidden; } .amo-header { font-family: inherit; } body:not(.home) .amo-header, .addon-details .header-bg, .home .header-bg { min-height: 130px; } .addon-details .header-bg { margin-bottom: 0; } #site-nav ul { margin-bottom: 0; } .menu-nav { color: @link-on-color-bg; } .amo-header ul a { color: @link-on-color-bg; font-family: inherit; ul a { color: #fff; } } #masthead h1 { font-size: 4.308rem; // 56px line-height: 3.692rem; // 48px letter-spacing: -1px; text-transform: none; } .site-title { margin-bottom: 0; padding-bottom: 7px; a { color: @link-on-color-bg; text-decoration: none; &:focus, &:hover { color: @link-on-color-bg; text-shadow: none; } img { width: 70px; } } } // DevHub Title .site-title.prominent { // These are tied up in some really nested class + id selectors, so we // cave and use !important margin-bottom: 20px !important; margin-top: -20px !important; a { color: @link-on-color-bg; outline: none; &:before { background-image: none; } small { margin-left: 5px; margin-bottom: -7px; line-height: normal; } } } // Navigation Menu and Panels #site-nav, .secondary .categories { > ul > li { border-left: none; left: -9px; > a { padding-bottom: 8px; } // arrow > ul:after { left: 10px; .html-rtl & { left: auto; right: 10px; } } &:hover:after { top: 25px; left: 1px; height: 10px; } } #themes ul.two-col { height: 293px; padding: 8px; div { display: none; } + div { left: -1px; top: 305px; .html-rtl & { left: auto; right: -1px; } } } } .secondary .categories { background: none; h3 { background: none; font-family: inherit; font-size: 14px; font-style: normal; font-weight: 700; line-height: 1.2; margin: 0; padding: 6px; text-transform: uppercase; a { color: #aaa; } } } #aux-nav, #site-nav { line-height: inherit; } .menu-nav { a { color: #000; } > ul > li { // Menu Panel > ul { a { color: #000; } > a { color: @link-on-color-bg; } background-color: #fff; border: 0; border-radius: 0; box-shadow: 0 0 4px rgba(0, 0, 0, 0.4); top: 25px; // Menu Panel triangle &:after { box-shadow: -2px -2px 2px rgba(0, 0, 0, 0.1); content: ''; display: block; position: absolute; top: -6px; z-index: 1; transform: rotate(45deg); background-color: #fff; width: 12px; height: 12px; } } > a, &:hover > a { background: none; border: 0; box-shadow: none; } &:hover:after { background: #fff; content: ''; height: 16px; position: absolute; width: 200px; z-index: 62; } &.nomenu:hover:after { display: none; } } } #aux-nav > ul > li { > ul:after { right: 10px; .html-rtl & { left: 10px; right: auto; } } &:hover:after { top: 32px; right: 1px; height: 10px; } } // Top Menu #aux-nav > ul > li { // Other Applications Panel triangle position ul:after { left: auto; right: 15px; } // Other Applications Menu Arrow a:after { display: none; } &:not(:first-child):before { background: linear-gradient( to bottom, transparent 0%, transparent 20%, #fff 20%, #fff 80%, transparent 80% ); } } .header-search { background: none; border-radius: 0; box-shadow: none; input { border-radius: 0; box-shadow: none; font: inherit; height: 30px; } } // fix color of search suggestions #site-search-suggestions a span { color: @link-on-white-bg; } #main-wrapper { background: #fff; } .restyle .site-balloon, .restyle .notification-box { background: #fbfbfb; border: 2px solid #1f386e; border-radius: 6px; color: @default-font-color; margin: 22px 0; padding: 15px 45px 15px 15px; .html-rtl& { padding: 15px 15px 15px 45px; } &::before, &::after { display: none; } .close { background-image: url(../../img/impala/banner-close-style-refresh.png); color: @default-font-color; &:focus, &:hover { background-color: @dark-gray; } } h2 { font-size: 1.1rem; } &.error { background-color: #fee3e5; border-color: #e0c9d6; // Previous selector is !important, so we have to do this :'( color: @default-font-color !important; } &.warning { background-color: #fd9; border-color: #664400; } } #try-new-frontend { background: url(../../img/zamboni/promo-background.png) #202340; border: none; border-radius: 0; color: #fff; font-size: 17px; font-weight: 600; line-height: 26px; margin: -12px 0 12px 0; // header_bg has a 12px bottom margin. padding: 17px 80px; .close { background-color: #FFF; background-image: none; // override default to use our svg mask instead. mask: url(../../img/impala/x.svg) no-repeat 50% 50%; right: 24px; width: 13px; height: 13px; &:focus, &:hover { background-color: #F9F9FA; } } a:link, a:visited { color: #0A84FF; font-weight: 600; } p { margin-right: 0.5em; } * { // This sucks, but there is a font-family: @primary-font !important on // * at the top of this file... font-family: Inter, sans-serif !important; } } .addon-details #try-new-frontend { margin: 0; // on addon detail page, header_bg has no bottom margin. } #promos { float: none; margin: 20px 0 0; min-height: 0; opacity: 1; visibility: visible; width: @pageWidth; hgroup { margin: 0 auto 20px; } &.show { display: block; } #monthly { background-image: url(../../img/zamboni/discovery_pane/promos-refresh/carousel-1.png); h2, h3, p { color: @link-on-color-bg; text-shadow: @dark-gray 1px 1px; } } .promo, .promo-collection.webdev, .promo-purple, #holiday, #travel { background-image: url(../../img/zamboni/discovery_pane/promos-refresh/carousel-2.png); h2, h3, a, p.desc { color: @link-on-color-bg; text-align: left; text-shadow: @dark-gray 1px 1px; .html-rtl & { text-align: right; } } } .promo-collection.webdev h2, #monthly h2, #monthly h3 { font-size: 36px; font-weight: 100; } #travel { background-position: 50% 0; background-repeat: no-repeat; } .promo-gray { background-image: url(../../img/zamboni/discovery_pane/promos-refresh/carousel-gray.png); } .promo-test-pilot { background: none; } } #promos, #promos li > div, #promos > div, #promos .feature { border-radius: 0; border-radius: 0; } .island { background: none; border: 0; border-radius: 0; box-shadow: none; } .restyle .primary.island { border-top: @detail-border; } .island > section { border-bottom: @detail-border; } #reviews .review, #detail-relnotes .items { border: 0; } #reviews a.more-info, #detail-relnotes a.more-info { float: none; } .promo h2 { margin-top: 0; } .featured:not(.listing-grid) li { height: auto; width: auto; } // Featured/Monthly Add-on background modification #featured-addon, #monthly { background: none; &::before { display: none; } .wrap > div { max-height: 160px; } } #starter.feature { background: none; } #promos .feature { padding: 10px 78px; } #promos .control, .carousel > a { &:hover { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.3); } &:after { background: none; border: 0; border-radius: 0; box-shadow: none; color: rgba(255, 255, 255, 1); font-family: @primary-font; height: 100%; line-height: 260px; vertical-align: middle; } } .restyle .control { font-family: @primary-font; } #promos { .prev { left: 0; } .next { right: 0; } h2, h3 { font-family: inherit; font-style: normal; } .promo { background-size: cover; } } // Featured/Monthly Add-on Carousel Element // move icon to the left #featured-addon .wrap > div, #monthly .wrap > div { display: block; } #featured-addon .blurb, #featured-addon .thumb, #monthly .blurb, #monthly .thumb { display: inline-block;; } #featured-addon .thumb, #monthly .thumb { float: left; } #featured-addon > div, #go-mobile > div, #monthly > div, .addons li > a { background: none; background-color: rgba(255, 255, 255, 0); border: 0; border-radius: 0; box-shadow: none; transition-property: background-color; } .addons li > a:active, .addons li > a:focus, .addons li > a:hover { background-color: rgba(255, 255, 255, 0.2); box-shadow: none; transition-property: background-color; h3 { text-decoration: none; } } .addons img { float: left; margin-bottom: 3px; margin-right: 8px; } .addons h3, #featured-addon h3, #monthly h3 { font-size: 1.2rem; font-weight: 200; line-height: 1.3rem; max-height: 1.2rem; padding-bottom: 5px; text-align: left; } #featured-addon h3 a, #monthly h3 a { color: @link-on-color-bg; } #monthly .addons p.desc, #monthly .wrap p { clear: both; color: #fff; font-weight: 200; max-height: 5.4em; text-overflow: ellipsis; } // Side nav on Home .home #side-nav { // pushed down to make room for more header margin-top: 0; } .toplist li a { line-height: 1.5; padding: 0.25em 0; small { margin-top: -3px; } } // Button overrides. // Display is set here so it doesn't clobber low specificity // platform specific button hiding. button, .button { display: inline-block; } // Add a selector here if there's a different style coming from // elsewhere. .sidebar a.button, .sidebar button, .linux .button.linux, .mac .button.mac, .other .button.bsd, .other .button.solaris, .windows .button.windows, a.delete-button.delete-addon, #upload-file-finish.button, #upload-file-widget .button.prominent, #promos .view-button a, .cta a.button:link, .cta a.button:visited, .theme-queue a.button, .theme-queue button, .theme .choices button, button, button.button, .button, a.button:link, a.button:visited, input:not(.upvotes):not(.downvotes)[type="submit"] { background: #5784bf; border: none; border-radius: 3px; box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.10), inset 0 -2px 0 0 rgba(0, 0, 0, 0.10); box-sizing: border-box; color: #fff; font-family: @primary-font; font-size: 1rem; height: auto; line-height: 1.5; padding: 8px 14px 9px; position: relative; text-shadow: none; transition: box-shadow linear 0.25s; &.download, &.add, &.button-green { background: #57bd35; box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.10), inset 0 -2px 0 0 rgba(56, 136, 30, 0.50); &.button-red { background: @button-red-dark; } span:not(.os) { border: none; margin: 0; background: url(../../img/impala/button-icons.png) no-repeat 0 -191px; padding: 0 0 0 24px; .html-rtl & { padding: 0 24px 0 0; .sprite-pos-right(3, 64, 3px); } } } &.contribute b { display: inline; background-position: 0 -444px; } &.approve, &#commit, &.good { background: #57bd35; } &.delete-button, &.developer { background: #bc2b1a; span { background-position: 0 -383px; .html-rtl & { .sprite-pos-right(6, 64, 3px); } } } &.disabled, &:disabled, &.concealed { background: #ccc; box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.10), inset 0 -2px 0 0 rgba(136, 136, 136, 0.50); color: #919497; text-shadow: none; &:hover { box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.10), inset 0 -2px 0 0 rgba(0, 0, 0, 0.10); } &:active { top: 0; } span:not(.os) { background-position: 0 -253px; .html-rtl & { .sprite-pos-right(4, 64, 3px); } } } b { display: none; } &.selected, &:hover, &:focus { box-shadow: 0 2px rgba(0, 0, 0, 0.1), inset 0 -2px rgba(0, 0, 0, 0.1), inset 0 0 100px rgba(255, 255, 255, 0.2); } &:active { top: 2px; box-shadow: none; } &.installer.warning, &.installer.caution, &.caution:not(.concealed), &.warning:not(.concealed) { background-image: url(../../img/impala/warning-bg.png); color: #333 !important; span, span:not(.os) { background-position: 0 -317px; .html-rtl & { .sprite-pos-right(5, 64, 3px); } } } } .theme .choices button, .theme-queue a.button, .theme-queue button { padding: 8px 20px 9px; min-width: 100px; } .sidebar a.button, .sidebar button { width: 100%; &#commit:before { top: 12px; } } a.button.release-theme-lock { bottom: 4px; position: absolute; right: 0; top: -14px; z-index: 10; span { top: 0; } &:active { bottom: 2px; top: -12px; } } .header-search .search-button { background-color: #57bd35; background-image: url('../../img/icons/go-arrow.png'); border-radius: 0; box-shadow: none; height: 30px; left: -6px; &:hover, &:focus { box-shadow: inset 0 0 100px rgba(255, 255, 255, 0.2); } &:active { box-shadow: none; top: 0; } } .html-rtl .header-search .search-button { left: 6px; } .button.CTA { background: #57bd35 !important; font-size: 16px !important; padding: 16px !important; } .invisible-upload { padding: 5px 0; } .item .install { border-radius: none; background: none; strong { padding: 0; margin: 10px 0 2px; } } #popular-extensions { margin-top: 0; } .addon-details .secondary, .reviews .secondary, .category-landing .secondary, body:not(.developer-hub) section.secondary { .highlight { padding: 7px 0 0; } width: 180px; } .secondary { margin: 0; width: 21.49%; h2, h3 { color: #aaa; font-family: inherit; font-size: 14px; font-style: normal; font-weight: 700; line-height: 1.2; margin: 0; padding: 6px; text-transform: uppercase; } li { border: 0; } } .island .pager { display: none; } #featured-extensions { padding-top: 0; } // NOTE: This was originally `.sidebar-breakout h3, h2` but I assumed the <h2> // should be scoped. .sidebar-breakout h2, .sidebar-breakout h3 { font: inherit; font-size: 1.25rem; } #footer { background-color: rgba(12, 153, 213, 1); color: #666; padding: 60px 0 5px 0; width: 100%; .links-footer a { color: @link-on-color-bg !important; } } #footer #lang_form { margin: 12px 0 15px 27px; label { color: @link-on-white-bg; display: block; font-family: @primary-font; font-size: 14px; margin: 10px 0 4px; text-transform: none; } } .html-rtl #footer #lang_form { float: left; margin: 12px 27px 15px 0; } #footer #copyright p { font-size: 85%; margin-bottom: 0.5em; } .addon-details { .primary, .secondary { background: none; font-family: @primary-font; } .extra .button.disabled.not-available { padding: 5px 5px 5px 25px; } } .html-rtl { .extra .button.disabled.not-available { background-position: right 6px center; padding: 5px 25px 5px 5px; text-align: right; } } #addon h1 { color: #fff; } .version-number { color: #ccc; font-size: 0.5em; } // first block of details - icon, name, description... .addon-details { .primary:first-of-type { min-height: 257px; } .secondary.addon-vitals { position: relative; z-index: 1; } .install-wrapper .install-button a.button.download { margin-bottom: 10px; } } #addon-description.prose { font-family: @primary-font; } // DevHub #devhub-promo h2 strong { font-family: @primary-font; } #masthead h1 { margin-top: -5px; &.site-title.amo { margin: -29px 20px 0 0; .html-rtl & { margin: -29px 0 0 20px; } } } .addon-vitals .widgets .widget { color: #fff; } #addon-summary a, .notice.c.author a { color: @link-on-color-bg; text-decoration: underline; } .notice.c.author a.download { text-decoration: none; } .notice.c.author { h3, p { margin-left: 90px; a { color: @link-on-color-bg; } } } .notice { background: 0; border: 0; border-radius: 0; border-top: 1px solid #ccd6e3; box-shadow: none; } // move elements in front of the background .addon-details .primary .notice, .addon-details .secondary.addon-vitals { color: #fff; z-index: 1; } .hovercard a h3, .secondary li a, #footer a:link, #footer a:visited { color: @link-on-white-bg; } /* Notice - underneath description (asking for contribution &/or showing dependencies )*/ .addon-details { .hovercard.addon:hover { .rating a { color: @link-on-white-bg; } } .primary .notice { background: 0; border: 0; border-radius: 0; border-top: 1px solid rgba(255,255,255,0.3); box-shadow: none; padding-bottom: 18px; .hovercard.addon { .rating b { color: #fff; } &:hover, &:focus { .summary a h3, .summary a .category.more-info, .rating b { color: @default-font-color; } } .more .addon-summary { display: none; } } } } // Standard pages have the default // text color. This is overridden for details // pages below. h3.author a, h4.author a { color: @default-font-color; text-decoration: underline; } h3.author .transfer-ownership { color: @link-on-color-bg; text-decoration: none; } // font issues on addon-details .addon-details { .version-number, h4.author, h4.author a, a.eula, a.privacy-policy, a.webext-permissions, .notice h3, .notice p, .notice p a, .notice p b, .warning a, #addon-summary, #weekly-downloads .stats, #reviews-link, #daily-users a { color: @link-on-color-bg; } h4.author a, a.privacy-policy, a.webext-permissions, a.eula, .vital a, .warning a, #contribution.notice p a, #reviews-link { text-decoration: underline; } #weekly-downloads .stats { font-size: 1rem; } .version-number { font-size: 0.39em; .html-rtl& { margin: 15px 4px 0 4px; } } .notice h3 { font-style: normal; } .addon-vitals .stats { background: none; } .widgets { display: none; } } .restyle #promos.shown { height: 271px; min-height: 271px; } #side-nav.c.expanded { margin-top: 0; } .home #side-nav.top { margin-top: 0; } #main-wrapper, #background-wrapper { border-top: 1px solid #fff; } #background-wrapper.expanded { height: 420px; } // Create a new collection pages/collections I'm following pages .featured { background: none; border: 0; } .banner-box .featured { background: #489615; } .featured-inner { border: 0; padding-top: 0; } // Create a new collection search #ui-id-1 { position: absolute !important; // because jQuery has set postion: relative with inline css } .ui-helper-hidden-accessible { display: none; } // Navigation .secondary .other-categories, .secondary .categories { background-color: transparent; border: 0; margin-top: 0; padding-top: 0; ul { border-top: none; padding: 0; ul li { margin: 0; } li { padding: 0; } } h3 a { color: #aaa; font-family: @primary-font; font-size: 14px; font-style: normal; font-weight: 700; text-transform: uppercase; } li a { color: @link-on-white-bg; display: block; font-size: 12px; font-weight: normal; padding: 5px 6px; position: relative; text-decoration: none; &:after { color: rgba(0, 0, 0, 0.125); content: '\203a'; font-family: Georgia; font-weight: normal; font-size: 18px; position: absolute; right: 6px; top: 0; } &:hover { background-color: #ecf5fe; } &:hover:after, &:focus:after, &.selected:after { color: inherit; } } } .addons-column { h3 a { font-family: @primary-font; } } .secondary .submit-theme { border: 0; h3, p { font-family: @primary-font; } } // Theme Page .section > hgroup a, .article.prose a { color: @link-on-white-bg; } .xoxo a { color: @link-on-white-bg; } .restyle .previews { background: #f5f5f5; // This breaks the preview panel out of the containing box, allowing // it to be full-width. // See: https://github.com/mozilla/addons-server/pull/1947 margin-left: ~"calc(-1 * ((100vw - 100%) / 2))"; padding: 30px 0; width: 100vw; .html-rtl& { margin-right: ~"calc(-1 * ((100vw - 100%) / 2))"; } .carousel { margin: 0 auto; max-width: @pageWidth; padding: 6px 20px; overflow-x: hidden; overflow-y: visible; position: relative; } .control { color: @link-on-white-bg; height: 170px; line-height: 3.5; &:hover { color: @link-on-white-bg; } &.prev { background: linear-gradient(to right, rgba(245, 245, 245, 1) 50%, rgba(245, 245, 245, 0)); } &.next { background: linear-gradient(to left, rgba(245, 245, 245, 1) 50%, rgba(245, 245, 245, 0)); } &.disabled { opacity: 0; transition: opacity 100ms linear; } } } // If the viewport is smaller than the min-width of the page weirdness // happens, so we go back to a non-full-width screenshot then. // See: https://github.com/mozilla/addons-server/issues/1983 @media (max-width: @pageWidth) { .restyle .previews { margin-left: 0; width: 100%; } } @media (max-width: @containerWidth) { .header-bg { // This should be a negative result so this order is intentional :-) margin-left: (@pageWidth - @containerWidth) / 2; } } // lightbox #lightbox { background: rgba(0, 0, 0, 0.75); section { border: 0; border-radius: 0; } .close { border-radius: 0; } } .category-landing { .addons-column { ul li { overflow: visible; } } // Featured add-ons in a category listing page. // This fixes https://github.com/mozilla/addons-server/issues/2025 #featured-addons { background: none; border: 0; .featured-inner { background: none; border: 0; padding-left: 0; padding-right: 0; } ul { margin: 0; padding: 0 0 40px; width: auto; } } .view-all { text-align: left; a:link, a:visited { color: @link-on-white-bg; } } } .category-landing .featured.three-col .addon.hovercard { &:hover { height: 320px; margin-bottom: -320px; } .addon-writeup { display: none; } .extra { max-width: 200px; .button.not-available { font-size: 12px; float: none; margin-top: -10px; min-width: 0; padding: 5px 5px 5px 20px; } } } .category-landing .featured.three-col .addon.hovercard.feature { &:focus, &:hover { height: auto; } } .extra .button.disabled.not-available { background-color: #fff; border: 1px solid #ebebeb; border-radius: 0; box-shadow: none; color: @default-font-color; font-size: 1rem; font-weight: normal; margin: 0; padding: 5px 5px 5px 25px; text-align: left; .addon-description-header & { border: 0; } .addon.hovercard & { border: 1px solid #ebebeb; } .more-versions a { color: #0996f8 !important; //need to override .disabled a[href] color: #888!important; rule } } .manage-button { margin: 1em 0 0; } // Install buttons .install-button .concealed.CTA { display: block !important; } .extra .button.not-available { background: #fbfbfb url(../../img/impala/no.png) 6px 50% no-repeat; border: 1px solid #b1b1b1; border-radius: 3px; box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.1), inset 0 -2px 0 0 rgba(30, 30, 30, 0.25); color: #b1b1b1; cursor: default; font-size: 14px; padding-left: 20px; padding-right: 5px; pointer-events: all; margin-bottom: 5px; white-space: normal; text-shadow: none; } .addon.hovercard, .items .item.incompatible { .extra .button.not-available { display: none; float: right; } &:focus .extra .button.not-available, &:hover .extra .button.not-available { display: block !important; } .install-shell .install { display: inline-block; } .d2c-reasons-help { margin: 0 0 0 -8px; } } #addon .more-versions a { color: @link-on-white-bg; } .versions-list .more-versions { display: none; // Hide the more versions link on the versions list page. } // Contribute button fixes .notice.author .aux { text-align: right; #contribute-button { text-decoration: none; } .install-button { margin-right: 0; .add { margin-top: 5px; text-decoration: none; } } } // (new) Contribution url button #contribution-url-button { text-decoration: none; } // (new) Contribution url button .notice.c.author .button-wrapper { float:right; } .html-rtl .notice.c.author .button-wrapper { float:right; } .notice.c.author { h3, p { margin-left: 0; margin-right: 160px; &.suggestion { margin-right: 0; } } } // Fix theme button alignment .theme .choices { float: none; } .theme-queue a.button:active, .sidebar a.button:active, .theme-queue button:active, .sidebar button:active { border: 0; box-shadow: inset 1px 1px 1px #fff; } // Developer Hub .developer-hub { .addon-submission-process { padding-top: 0; form { margin-top: 0; } } } #edit-addon h3 a { top: 0; } .download-anyway { display: none; // Shown by buttons.js } .action-needed { overflow: auto; } #review-box form { height: auto; min-height: 270px; } #contribute-box, .install-note, .modal, .popup { border: 1px solid grey; border-radius: 0; box-shadow: none; } .install-note.left { &::before { border: 6px solid transparent; border-bottom-color: grey; right: 71px; top: -13px; } &::after { border-bottom-width: 6px; right: 72px; top: -11px; } } .contrib-overlay, .modal-overlay { background: rgba(0, 0, 0, 0.7); } .primary.island { border: 1px solid #ebebeb; margin-top: 10px; } .prettyform .listing-footer { background: none; border-top: 0; } .prettyform .listing-footer { background: none; } .restyle.statistics { #page { max-width: @pageWidth; min-width: @pageWidth; } .primary { float: left; margin-left: 0; width: 74%; .html-rtl& { margin-right: 0; } } .stat-criteria { overflow: auto; .island.criteria { float: left; } } .notification-box { clear: both; } } /* Reviewer pages */ body.reviewer-tools { .site-title strong { color: @link-on-color-bg; } .reviewer-menu { margin-top: 30px; width: 660px; } .pill-nav-amo { border-radius: 0; background-color: transparent; background-image: none; } .pill-nav-amo a { color: @link-on-color-bg; border-radius: 0; } .pill-nav-amo a.selected { background-color: #ffffff; color: @link-on-white-bg; background-image: none; } #navbar { border: none; overflow: visible; } #navbar ul li.top { border-right: 0; padding: 0 30px 0; text-align: center; } #navbar > ul > li > ul { background-color: #fff; border: none; border-radius: 0; box-shadow: 0 0 4px rgba(0, 0, 0, 0.4); } #navbar > ul li > ul li { background-color: #fff; background-image: none; color: @default-font-color; border-bottom: none; text-align: left; a, a:link, a:visited { color: @default-font-color; border-bottom: none; } a:hover { background: #ebf4fe; } } #navbar li.top:hover, #navbar li.top.selected { background-image: none; text-decoration: underline; } #navbar li.top a.controller { border-right: none; } .daily-message .featured-inner { border: @detail-border; } .listing-header { background: none; background-color: #ecf5fe; background-image: none; text-align: center; border-bottom: 0; border-radius: 0; } #reviewers-stats-charts, #reviewers-stats-charts-unlisted, #reviewers-stats { border: @detail-border; border-radius: 0; } .reviewer-stats-dark { text-align: center; background-color: transparent; } div.reviewer-waiting { border-radius: 0; border: @detail-border; } .waiting_new, .waiting_med, .waiting_old { box-shadow: none; } .reviewer-stats-table:first-child > div { border-left-width: 0; } .reviewer-stats-table .int { color: @default-font-color; } #reviewers_main, .section { .results { border: @detail-border; background-color: #ecf5fe; border-radius: 0; .results-inner { border: none; } } } #reviewers-score-bar { background: none; border-radius: 0; border: @detail-border; box-shadow: none; } div.section { ul.tabnav { li a { padding-bottom: 5px; background-color: #ecf5fe; border-radius: 0; color: @link-on-white-bg; } li.selected a { background-color: #ffffff; border-color: #ebebeb; color: @default-font-color; } } .queue-outer { border-radius: 0; border: @detail-border; .queue-inner { border-radius: 0; border: none; .data-grid th.ordered { background: #ffffff; } a, a:visited { color: @link-on-white-bg; } } } .queue-search form #id_q { border-radius: 0; } #queue-island { border: @detail-border; } #addon.primary { #addon-summary { a { color: @link-on-white-bg; text-decoration: none; } a:hover { text-decoration: underline; } } .article { border: @detail-border; border-radius: 0; } div#review-actions { border: @detail-border; border-radius: 0; #review-actions-form { border: none; border-radius: 0; } .action_nav { background: none; background-color: #ecf5fe; #id_action>* { text-shadow: none; border: none; background: none; color: @link-on-white-bg; } #id_action>*.on-tab { color: @default-font-color; background-color: #ffffff; border-top: none; } #id_action>*:first-child, #id_action>*:last-child { border-radius: 0; border-left: none; } } } .whiteboard { border: @detail-border; border-radius: 0; } } .secondary { width: 15%; a.thumbnail.thumbnail { border: @detail-border; } } #addon { .object-lead { background: none; } } } } .listing .item { .desc { color: #777; font-size: 1rem; } &.incompatible { .action { opacity: 1; .info, .install.clickHijack .install-button > .button { opacity: 0.4; } } } } .listing .item:not(.incompatible) .install-shell { visibility: visible; } .item-info .install-button .button { max-width: 200px; white-space: normal; &.download { color: @link-on-color-bg; text-shadow: @dark-gray 1px 1px; } } .collection-add-dropdown, .collection-rate-dropdown { width: auto; } // Platform-specific button logic body.android .install-shell .platform.linux, body.android .install-shell .platform.mac, body.android .install-shell .platform.windows, body.linux .install-shell .platform.android, body.linux .install-shell .platform.mac, body.linux .install-shell .platform.windows, body.mac .install-shell .platform.android, body.mac .install-shell .platform.linux, body.mac .install-shell .platform.windows, body.windows .install-shell .platform.android, body.windows .install-shell .platform.linux, body.windows .install-shell .platform.mac { // We're overriding another !important, which we also can't remove :-( display: none !important; } #search-facets .facets .facet > ul { max-height: 100%; overflow-y: visible; } .thunderbird .listing-grid .install-shell { display: block; } // This specificity is required to avoid using `!important` .restyle nav.paginator { text-align: center; p { width: auto; } .num { float: left; } .rel { display: inline-block; float: none; } .pos { float: right; } } // Hide the datepicker display on stats at the bottom of the page. #ui-datepicker-div { display: none; } // Override weird impala styles that make hovers for incompatible add-ons // jump around (https://github.com/mozilla/addons-server/issues/3203) .addon.hovercard, .items .item.incompatible { .extra .button.not-available { display: inline-block; visibility: hidden; } &:hover, &:focus { .extra .button.not-available { visibility: visible; } } } .webext-permissions.badge { display: block; img { height: 1.1em; margin-right: 0.25em; .html-rtl & { margin-left: 0.25em; } } } #webext-permissions { ul { margin-left: 1.5em; .html-rtl & { margin-right: 1.5em; } li { list-style: circle; details { summary { list-style: none; } li { list-style-type: disc; } } details[open] summary:after { content: " \25b2" } details summary:after { content: " \25bc" } } } h3 { font-size: larger; margin-top: 1em; } .prose { img { float: left; margin: 10px; } } } div.detailed { display: inline-block; vertical-align: middle; }