media/css/m24/components/footer-newsletter.scss (228 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 *; $max-footer-content-width: $content-max; @mixin divider-line { border-bottom: $border-width solid $m24-color-light-gray; } // hide details for JS users // (displayed when email field is focused) .js .mzp-c-newsletter-details { @include hidden; } // newsletter form .moz24-newsletter-container { @include container; &.c-newsletter.mzp-l-content { padding-bottom: 0; } .moz24-newsletter-wrapper { @include divider-line; align-items: start; display: flex; flex-direction: column; gap: $grid-gutter; justify-content: space-between; margin-bottom: $spacer-lg; padding-bottom: $spacer-lg; position: relative; @media #{$mq-md} { align-items: flex-start; flex-direction: row; } } // image and blurb .moz24-newsletter-info { display: flex; align-items: flex-start; margin-bottom: $grid-margin; @media #{$mq-md} { width: grid(5); } @media #{$mq-lg} { width: calc((100% - $grid-gutter) / 2); flex-wrap: nowrap; } p { margin-bottom: 0; line-height: 1.3; font-weight: 600; text-align: start; @media #{$mq-lg} { width: 65%; } } } .moz24-newsletter-image { width: 40px; @include bidi(((margin-right, $spacer-md, 0), (margin-left, 0, $spacer-md))); margin-bottom: $spacer-md; @media #{$mq-lg} { @include bidi(((margin-right, $spacer-xl, 0), (margin-left, 0, $spacer-xl))); } } // form .moz24-newsletter { width: 100%; @media #{$mq-md} { width: grid(6); } @media #{$mq-lg} { width: calc((100% - $grid-gutter) / 2); } h2 { color: $m24-color-white; } .mzp-c-newsletter-thanks { h3 { color: $m24-color-black; } p { font-weight: 400; } } .error-try-again-later { font-weight: 400; } } .mzp-c-newsletter-header { display: none; } .mzp-c-newsletter-content { margin-bottom: 0; max-width: 800px; label { margin-bottom: 0; line-height: 1.3; font-weight: 600; text-align: start; @media #{$mq-lg} { display: inline-grid; &:first-of-type { grid-column-start: 1; } &:nth-of-type(2) { grid-column-start: 2; grid-column-end: 3; grid-row-start: 1; grid-row-end: 2; } } } input[type="email"], select { border: $border-width solid $m24-color-black; border-radius: 0; background-color: $m24-color-light-gray; color: $m24-color-black; &:hover, &:focus, &:focus-visible, &:focus-within { color: $m24-color-white; background-color: $m24-color-black; &::placeholder { color: $m24-color-white; } } } input[type="email"] { margin-bottom: $spacer-lg; width: 100%; @media #{$mq-md} { min-width: 100%; } &::placeholder { color: $m24-color-dark-gray; } } select { width: 100%; @include bidi(((background-position, right 8px center, 8px center),)); background: $m24-color-light-gray url('/media/img/icons/m24-small/down-caret-white.svg') no-repeat; background-size: 16px 16px; @media #{$mq-lg} { min-width: 100%; } &:hover, &:focus, &:focus-visible, &:focus-within { color: $m24-color-alt-white; @include bidi(((background-position, right 8px center, 8px center),)); background: $m24-color-alt-black url('/media/img/icons/m24-small/down-caret.svg') no-repeat; background-size: 16px 16px; } } } .mzp-c-newsletter-details-inner { max-width: 100%; @media #{$mq-lg} { display: grid; grid-template-columns: [full-width-start] 1fr 1fr [full-width-end]; column-gap: $spacer-lg; > * { grid-column: full-width; } // country input label:first-of-type, p:first-of-type { grid-column-start: 1; grid-column-end: 2; } // lang input label:nth-of-type(2), p:nth-of-type(2) { grid-column-start: 2; grid-column-end: 3; } } p { margin-bottom: 0; line-height: 1.3; font-weight: 600; text-align: start; @media #{$mq-lg} { display: inline-grid; } &:has(> label.mzp-u-inline) { margin-bottom: $spacer-lg; input { margin: 0; } } } .mzp-u-inline { display: inline-flex; flex-wrap: wrap; gap: $spacer-2xs; input { height: 20px; width: 20px; } } a:visited { color: $m24-color-black; } } .mzp-c-form-submit { margin-bottom: 0; button { background-color: $m24-color-alt-white; border: $border-width solid $m24-color-black; border-radius: 0; position: relative; max-width: 800px; width: 100%; font-weight: 600; &:hover, &:focus-visible { background-color: $m24-color-black; color: $m24-color-white; } &:active { background-color: $m24-color-white; color: $m24-color-black; } @media #{$mq-md} { width: fit-content; display: flex; justify-content: flex-start; } } } .mzp-c-fieldnote { display: none; } }