media/css/foundation/annual-report-2019-2020.scss (477 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 '~@mozilla-protocol/core/protocol/css/includes/lib' as * with ($font-path: '/media/protocol/fonts', $image-path: '/media/protocol/img');
@use '~@mozilla-protocol/core/protocol/css/components/feature-card';
@use '~@mozilla-protocol/core/protocol/css/components/modal';
@use '../protocol/components/video';
// * -------------------------------------------------------------------------- */
// Hero image & banner heading
.c-hero-banner {
background: url('/media/img/foundation/annualreport/2019/pixel-mobile-bg.svg') right center no-repeat;
background-size: contain;
margin-bottom: $spacing-lg;
padding-top: $spacing-lg;
.l-highlight {
background: $color-green-40;
color: $color-black;
display: inline-block;
font-weight: bold;
line-height: 0.7;
padding: 0;
}
.right {
align-self: flex-start;
margin-left: $spacing-sm;
}
h1 {
align-items: flex-start;
color: $color-black;
display: flex;
font-weight: normal;
justify-content: center;
line-height: 0.9;
}
.left {
position: relative;
text-align: right;
}
img {
display: block;
margin-right: 1px;
margin-top: $spacing-sm;
max-width: $layout-2xl;
position: absolute;
right: 0;
}
@media #{$mq-md} {
background-image: url('/media/img/foundation/annualreport/2019/pixel-bg.svg');
background-position: right center;
background-size: auto 100%;
padding-top: $spacing-2xl;
margin-bottom: $spacing-2xl;
h1 {
@include font-size(80px);
}
img {
margin-top: 14px;
max-width: $content-xs;
}
}
@media #{$mq-lg} {
h1 {
font-size: 7rem;
}
img {
max-width: $content-sm;
}
}
}
.c-page-intro {
h2 {
@include text-title-md;
}
.mzp-c-video {
margin-top: $layout-md;
}
}
.leadership {
.leadership-intro {
@include text-title-md;
font-weight: 100;
strong {
font-weight: bold;
}
}
.mzp-c-card-title {
@include text-title-md;
margin-bottom: $spacing-2xl;
font-weight: normal;
}
.mzp-c-card-media-wrapper {
background-color: transparent;
}
}
// * -------------------------------------------------------------------------- */
// Content sections
.c-intro-section {
p {
@include text-title-sm;
font-family: var(--title-font-family);
margin-bottom: 0;
}
}
.c-intro-section,
.c-content-section {
padding: $spacing-lg 0;
.c-copy-wrapper {
h2 {
@include text-title-sm;
}
h3 {
@include text-title-xs;
}
img {
margin: $spacing-xl auto;
}
.c-copy-intro {
font-style: italic;
}
}
@media #{$mq-lg} {
.c-copy-wrapper {
@include clearfix;
margin: 0 auto;
width: 90%;
header {
@include bidi(((float, left, right),));
width: 30%;
}
.c-copy {
@include bidi(((float, right, left),));
width: 65%;
}
}
&:nth-child(even) {
padding: $spacing-2xl 0 $spacing-lg;
}
}
@media #{$mq-xl} {
padding: $spacing-2xl 0 $spacing-lg;
.c-copy-wrapper {
width: 70%;
}
}
}
.c-content-section:nth-child(odd) {
background: $color-marketing-gray-20;
padding: $spacing-2xl $spacing-lg $spacing-lg;
}
// * -------------------------------------------------------------------------- */
// Page footer
.c-site-footer {
ul {
margin: 0 auto $spacing-xl;
}
li {
display: block;
margin: $spacing-lg auto;
a {
@include transition(background-color 100ms ease-in-out);
background-color: $color-link;
color: $color-white;
display: block;
font-weight: bold;
height: 100%;
line-height: 1.5;
min-height: 60px;
padding: $spacing-lg;
text-decoration: none;
text-transform: uppercase;
small {
display: block;
font-weight: 100;
text-transform: none;
}
&:hover,
&:active,
&:focus {
background-color: $color-link-hover;
color: $color-white;
text-decoration: none;
}
}
}
@media #{$mq-lg} {
ul {
@include flexbox;
@include align-items(stretch);
width: 70%;
}
li {
flex: 1;
&:first-child a {
@include bidi(((margin-right, 10px, margin-left, 0),));
}
&:last-child a {
@include bidi(((margin-left, 10px, margin-right, 0),));
}
}
}
}
// Fade in lazy images
.lazy-image-container .mzp-c-card-image {
opacity: 1;
transition: opacity 300ms;
}
.lazy-image-container .mzp-c-card-image[data-src] {
opacity: 0;
}
// Hide enhanced content if JS isn't available
.no-js-hidden {
.no-js & {
@include hidden;
}
}
.js-modal-content {
.js & {
@include hidden;
}
section + section {
margin-top: $spacing-2xl;
padding-top: $spacing-2xl;
border-top: 1px solid $color-black;
}
}
.mzp-c-modal .mzp-c-modal-overlay-contents .mzp-c-modal-content {
display: block;
}
.has-modal {
cursor: pointer;
}
.highlight {
@include box-decoration-break(clone);
line-height: 1.3;
padding: 0 $spacing-sm;
&.dark {
background-color: $color-black;
color: $color-white;
}
&.green {
background: $color-green-40;
color: $color-black;
}
&.plum {
background: #5a61ef;
color: $color-white;
}
}
.pixel-effect {
position: relative;
&::after {
content: ' ';
background: url('/media/img/foundation/annualreport/2019/pixel-small-bg.svg') center center no-repeat;
background-size: contain;
width: 66px;
height: 66px;
top: -33px;
right: 0;
position: absolute;
display: block;
z-index: 1;
@media #{$mq-lg} {
top: -66px;
}
}
}
.c-som-list {
border-left: 1px solid $color-black;
margin: 0;
padding: $spacing-xl 0;
@media #{$mq-md} {
width: 50%;
margin-left: auto;
}
li {
@include text-title-sm;
font-family: var(--title-font-family);
margin-left: $spacing-md;
margin-bottom: $spacing-lg;
padding-left: $spacing-sm;
font-weight: 100;
.highlight {
margin-left: -$spacing-sm;
}
}
a:link {
color: $color-black;
}
}
.mzp-c-modal-inner {
background-color: $color-white;
padding-top: $layout-lg;
}
.mzp-c-modal-overlay-contents {
padding-top: $spacing-2xl;
color: $color-black;
a:link,
a:visited {
color: $color-black;
&:hover,
&:focus,
&:active {
color: $link-color-hover;
@supports (--css: variables) {
color: var(--link-color-hover);
}
}
}
.video-play {
position: static;
}
.mzp-c-card-feature-content-container {
position: relative;
img {
margin-top: -$spacing-2xl;
margin-bottom: $spacing-md;
width: 100%;
max-width: $content-sm;
height: auto;
display: none;
@media #{$mq-md} {
display: block;
}
@media #{$mq-lg} {
margin-top: -$layout-lg;
}
}
p {
margin-bottom: $spacing-md;
}
}
}
.mzp-c-modal-close {
background: $color-green-40;
border-radius: 100%;
.mzp-c-modal-button-close {
background-image: url('/media/protocol/img/icons/close.svg');
}
}
.c-modal-next {
@extend .mzp-c-modal-close; /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
right: 3.75rem;
.hide-next & {
display: none;
}
.c-modal-button-next {
background-image: url('/media/protocol/img/icons/arrow-right.svg');
}
}
.c-modal-prev {
@extend .mzp-c-modal-close; /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
right: 7.1rem;
.hide-next & {
right: 3.75rem;
}
.hide-prev & {
display: none;
}
.c-modal-button-prev {
background-image: url('/media/protocol/img/icons/arrow-left.svg');
}
}
.c-modal-button-next,
.c-modal-button-prev {
@extend .mzp-c-modal-button-close; /* stylelint-disable-line scss/at-extend-no-missing-placeholder */
}
.c-section-intro-bg {
@media #{$mq-lg} {
background: url('/media/img/foundation/annualreport/2019/moz_site_som_fighting_for_people_left.svg') left center no-repeat, url('/media/img/foundation/annualreport/2019/moz_site_som_fighting_for_people_right.svg') right center no-repeat;
background-size: auto 27vw;
}
}
.mzp-l-content + .c-section-intro-bg {
margin-top: $spacing-2xl;
}
.c-section-intro {
margin: 0 auto;
padding-top: $layout-lg;
max-width: $content-md;
text-align: left;
h2 {
@include text-title-lg;
font-weight: 100;
text-align: center;
}
}
.c-article-list {
.mzp-l-card-quarter,
.mzp-l-card-half {
.mzp-c-card-title {
@include text-title-xs;
}
}
.mzp-l-card-hero {
.mzp-c-card + .mzp-c-card {
.mzp-c-card-title {
@include text-title-xs;
}
}
}
.mzp-c-card-feature-title,
.mzp-c-card-title {
font-weight: 100;
}
.mzp-c-card-feature .mzp-c-card-feature-title {
@include text-title-md;
@media #{$mq-lg} {
@include text-title-lg;
}
}
.mzp-c-card-feature {
margin-bottom: $spacing-lg;
}
.mzp-c-card {
background-color: transparent;
&:hover {
background-color: $color-white;
}
}
}
.c-report-pdfs {
border-top: 1px solid $color-light-gray-90;
padding-top: $spacing-xl;
li {
text-align: center;
margin-bottom: $spacing-xl;
@media #{$mq-md} {
width: 50%;
padding: $spacing-xl 0;
&:first-child {
border-right: 1px solid $color-light-gray-90;
}
}
}
span {
@include text-title-xs;
font-family: var(--title-font-family);
font-weight: bold;
display: block;
margin-bottom: $spacing-md;
}
@media #{$mq-md} {
padding-top: $spacing-2xl;
width: 100%;
display: flex;
justify-content: space-around;
}
}
.c-leadership-article {
h3 {
@include text-title-md;
padding: $spacing-lg 0 $spacing-sm;
span {
display: inline-block;
margin-right: $spacing-xs;
}
@media #{$mq-md} {
@include text-title-sm;
padding-top: $spacing-2xl;
}
}
img {
max-width: $screen-sm;
display: block;
margin: 0 auto $spacing-xl;
}
.mzp-c-card-image {
@include bidi((
(float, right, left),
(margin, 0 0 $spacing-md $spacing-lg, 0 $spacing-lg $spacing-md 0),
));
max-width: 100%;
}
}
.c-leadership-article-title {
margin-top: -$spacing-2xl;
margin-bottom: $spacing-2xl;
.highlight {
@include text-title-xs;
font-family: var(--title-font-family);
font-weight: bold;
}
h2 {
@include text-title-md;
margin-bottom: 0;
margin-top: $spacing-lg;
}
}