media/css/firefox/challenge-the-default/index.scss (353 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/.
$image-path: '/media/protocol/img';
$font-path: '/media/protocol/fonts';
@import '~@mozilla-protocol/core/protocol/css/includes/lib';
@import '~@mozilla-protocol/core/protocol/css/includes/forms';
@import '~@mozilla-protocol/core/protocol/css/includes/fonts/metropolis';
@import '~@mozilla-protocol/core/protocol/css/includes/mixins/details';
@import '~@mozilla-protocol/core/protocol/css/components/modal';
@import '~@mozilla-protocol/core/protocol/css/components/notification-bar';
$campaign-red: #ff6a75;
$campaign-pink: #ffbdc5;
$campaign-mint: #d1ffee;
$campaign-green: #2ac3a2;
@import "./toggle";
@import "./animations";
@import "./hero";
@import "./compare-table";
// fonts to be included for CTD and should be removed when the page is no longer live
@font-face {
font-display: swap;
font-family: Metropolis;
font-style: normal;
font-weight: 600;
src:
url('/media/fonts/challenge-the-default/Metropolis-SemiBold.woff2') format('woff2'),
url('/media/fonts/challenge-the-default/Metropolis-SemiBold.woff') format('woff');
}
@font-face {
font-display: swap;
font-family: Metropolis;
font-style: normal;
font-weight: 800;
src:
url('/media/fonts/challenge-the-default/Metropolis-ExtraBold.woff2') format('woff2'),
url('/media/fonts/challenge-the-default/Metropolis-ExtraBold.woff') format('woff');
}
// stagger the CTA animation in the nav bar with the animation in the hero
.nav-button-is-ready .c-navigation-shoulder .mzp-c-button {
animation-delay: 2s;
}
// show buttons depending on browser state:
// - If using firefox:
// - if set as default: show link to download the mobile browser
// - if not set as default: link to set-as-default/thanks
// if not firefox:
// - show download_button_thanks
.mzp-c-button.is-not-default, .mzp-c-button.is-default {
display: none;
}
// have to re-define the default styles from protocol since mzp-t-product is baked into the download-thanks template
.c-button-download-thanks .mzp-c-button.not-firefox {
background-color: $color-black;
border: 2px solid $color-black;
&:focus {
border-color: $button-border-color-focus;
box-shadow: $field-focus-ring;
outline-offset: 1px;
}
&:hover {
background-color: $color-marketing-gray-20;
border-color: $color-black;
box-shadow: none;
color: $color-black;
}
&:active {
background-color: $color-marketing-gray-20;
border-color: $color-marketing-gray-70;
color: $color-black;
}
}
html.is-firefox {
.c-button-download-thanks {
display: none;
}
.c-hero-text {
p.is-firefox {
display: block;
}
p.not-firefox {
display: none;
}
}
main.set-default-supported {
.mzp-c-button.is-not-default {
display: inline-block;
}
&.is-firefox-default {
.mzp-c-button.is-not-default {
display: none;
}
.mzp-c-button.is-default {
display: inline-block;
}
}
}
main:not(.set-default-supported) {
.mzp-c-button.is-default {
display: inline-block;
}
}
}
html:not(.is-firefox) {
.c-hero-text {
p.is-firefox {
display: none;
}
p.not-firefox {
display: block;
}
}
}
.ctd-logo-sprite {
@include image-replaced;
animation: ctd-sprite 1.25s steps(25);
animation-delay: 1s;
background: transparent url('/media/img/firefox/challenge-the-default/ctd-sprite-100.png');
background-size: 3150px 50px;
background-position: -3024px;
height: 50px;
width: 126px;
@media (prefers-reduced-motion: reduce) {
animation: none;
background-position: -3024px;
}
[lang="es-ES"] &,
[lang="fr"] &,
[lang="it"] &,
[lang="pl"] & {
background-size: 126px 50px;
background-position: center center;
animation: none;
}
[lang="es-ES"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-es.svg');
}
[lang="fr"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-fr.svg');
}
[lang="it"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-it.svg');
}
[lang="pl"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-pl.svg');
}
}
.c-animated-button .ctd-logo-sprite {
cursor: pointer;
background: transparent url('/media/img/firefox/challenge-the-default/ctd-sprite-100.png');
animation: ctd-sprite-medium 1.25s steps(25);
height: 100px;
width: 250px;
background-size: 6250px 100px;
background-position: -6000px;
background-repeat: no-repeat;
position: absolute;
border: none;
@media (prefers-reduced-motion: reduce) {
animation: none;
background-position: -6000px;
}
[lang="es"] &,
[lang="fr"] &,
[lang="it"] &,
[lang="pl"] & {
background-size: 250px 100px;
background-position: center center;
animation: none;
}
[lang="es"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-es.svg');
}
[lang="fr"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-fr.svg');
}
[lang="it"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-it.svg');
}
[lang="pl"] & {
background-image: url('/media/img/firefox/challenge-the-default/logo-ctd-pl.svg');
}
}
@keyframes ctd-sprite {
from {
background-position: 3150px;
}
to {
background-position: 0;
}
}
@keyframes ctd-sprite-medium {
from {
background-position: 6250px;
}
to {
background-position: 0;
}
}
.ctd-mobile-banner {
padding: $spacing-sm $spacing-lg;
display: flex;
@media #{$mq-md} {
display: none;
}
}
.ctd-sub-nav-image {
height: 50px;
width: auto;
}
.c-ctd-features {
background-color: $color-white;
h2 {
@include font-size(40px);
font-weight: 800;
margin-bottom: $spacing-lg;
hyphens: auto;
}
p {
color: $color-marketing-gray-70;
font-weight: 600;
}
@media #{$mq-md} {
h2 {
hyphens: none;
word-break: normal;
margin-bottom: $layout-lg;
@include font-size(64px);
}
}
@media (prefers-reduced-motion: no-preference) {
.mzp-c-picto {
opacity: 0;
}
}
}
.c-ctd-toggles {
background-color: $color-black;
&.all-checked {
background-color: $campaign-green;
}
.toggle-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 1fr);
gap: $layout-lg $spacing-xl;
&.large, &.medium {
display: none;
}
@media #{$mq-md} {
grid-template-columns: repeat(5, 1fr);
&.medium {
display: grid;
}
&.small, &.large {
display: none;
}
}
@media #{$mq-lg} {
grid-template-columns: repeat(7, 1fr);
&.large {
display: grid;
}
&.small, &.medium {
display: none;
}
}
}
}
.c-ctd-credentials {
background: $color-black;
h2 {
@include font-size(46px);
font-weight: 800;
color: $color-white;
text-align: center;
@media #{$mq-md} {
@include font-size(90px);
}
}
.mzp-c-details {
background-color: $color-white;
padding: $spacing-lg $spacing-md $spacing-lg $spacing-lg;
border-radius: $border-radius-lg;
margin-top: $spacing-lg;
h3 {
margin-bottom: 0;
@include font-size(18px);
@media #{$mq-md} {
@include font-size(22px);
}
}
p {
color: $color-marketing-gray-70;
font-weight: 600;
margin-top: $spacing-xl;
}
}
}
.c-animated-button {
background-color: $campaign-green;
text-align: center;
position: relative;
height: 246px;
.mzp-l-content {
height: 100%;
position: relative;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
svg {
position: absolute;
inset: 0;
width: 100%;
.wednesday-circle {
fill: $campaign-green;
}
}
.wednesday-lizard {
display: none;
position: absolute;
max-width: 90%;
@media #{$mq-md} {
max-width: 440px;
}
}
&.animate-wednesday {
.animated-button {
display: none;
}
}
}
.c-ctd-footer {
text-align: center;
padding-top: $layout-lg;
h3 {
@include font-size(60px);
font-weight: 800;
margin-bottom: $spacing-md;
}
p {
@include font-size(20px);
font-weight: 600;
max-width: 475px;
margin-left: auto;
margin-right: auto;
}
.text-bottom {
@include font-size(14px);
margin-top: $layout-xl;
&.desktop {
display: none;
}
@media #{$mq-lg} {
&.mobile {
display: none;
}
&.desktop {
display: block;
}
}
}
}