media/css/m24/launchpad.scss (132 lines of code) (raw):

// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. @use 'vars/lib' as *; $launchpad-logo-width: 32px; $launchpad-logo-padding: 16px; $launchpad-logo-spacing: $launchpad-logo-width + $launchpad-logo-padding; .m24-c-launchpad { margin: $spacer-xl 0; .m24-c-launchpad-item:first-child { border-top: $border-width solid transparent; // accommodates negative margin needed for @include short-dividers(); } .m24-c-content &:last-child { margin-bottom: 0; } } .m24-c-launchpad-link { @include short-dividers($m24-color-light-gray); @include grid; color: $m24-color-black; gap: $spacer-2xs $grid-gutter; margin-left: calc($container-padding * -1); margin-right: calc($container-padding * -1); padding: $spacer-md $container-padding; position: relative; text-decoration: none; transition: background-color $fast $bezier; &:hover, &:link:active, // override protocol &:focus-visible { background-color: $m24-color-light-gray; position: relative; z-index: 2; } &::before, &::after { @include bidi(((background-position, center left, center right),)); content: ''; background-repeat: no-repeat; display: block; position: absolute; top: 0; bottom: 0; } &::before { @include bidi(( (left, $container-padding, auto), (right, auto, $container-padding), )); background-size: $launchpad-logo-width auto; width: $launchpad-logo-width; } &::after { @include bidi(( (right, $container-padding, auto), (left, auto, $container-padding), (transition-property, right, left), (background-image, url('/media/img/icons/m24-small/arrow-right.svg'), url('/media/img/icons/m24-small/arrow-left.svg')) )); background-size: 18px auto; transition-duration: $fast; transition-timing-function: $bezier; width: $launchpad-logo-width; } &:focus-visible::after, &:active::after, &:hover::after { @include bidi(( (right, $spacing-sm, auto), (left, auto, $spacing-sm), )); } &.m24-t-product-firefox::before { background-image: url('/media/protocol/img/logos/firefox/browser/logo.svg'); } &.m24-t-product-fakespot::before { background-image: url('/media/img/logos/fakespot/logo.svg'); } &.m24-t-product-pocket::before { background-image: url('/media/protocol/img/logos/pocket/logo.svg'); } &.m24-t-product-vpn::before { background-image: url('/media/protocol/img/logos/mozilla/vpn/logo.svg'); } &.m24-t-product-monitor::before { background-image: url('/media/protocol/img/logos/firefox/monitor/logo.svg'); } &.m24-t-product-thunderbird::before { background-image: url('/media/img/logos/thunderbird/logo-thunderbird.svg'); } &.m24-t-product-relay::before { background-image: url('/media/protocol/img/logos/firefox/relay/logo.svg'); } } .m24-c-launchpad-title { @include bidi(( (padding-left, $launchpad-logo-spacing, 0), (padding-right, 0, $launchpad-logo-spacing), )); color: $m24-color-black; display: inline-block; font-size: $text-body-lg; font-weight: 600; grid-column: 1 / span 10; line-height: 1; b { // punctuation for screen readers color: transparent; } } .m24-c-launchpad-info { color: $m24-color-dark-gray; font-size: $text-body-sm; grid-column: 1 / span 11; @include bidi(( (padding-left, $launchpad-logo-spacing, $launchpad-logo-padding), (padding-right, $launchpad-logo-padding, $launchpad-logo-spacing), )); } @media #{$mq-md} { .m24-c-launchpad-info { font-size: $text-body-md; } } @media #{$mq-lg} { .m24-c-launchpad-title { grid-column: 1 / 4; align-content: center; } .m24-c-launchpad-info { grid-column: 4 / 12; padding-left: 0; padding-right: 0; align-content: end; } }