media/css/m24/springboard.scss (140 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 *; $springboard-thumb-width: 32px; .m24-c-springboard { margin: $spacer-xl 0; width: 100%; .m24-c-springboard-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-springboard-link { @include short-dividers($m24-color-light-gray); color: $m24-color-black; display: grid; gap: $spacer-lg; grid-template-areas: "type cat cat" "preview preview preview" "date author author"; margin-left: calc($container-padding * -1); margin-right: calc($container-padding * -1); padding: $spacer-md $container-padding; transition: background-color $fast $bezier; &:link:hover, &:link:focus { background-color: $m24-color-light-gray; text-decoration: none; cursor: pointer; } &:link, &:link:visited { text-decoration: none; } } .m24-c-springboard-headings { display: none; font-size: 12px; .m24-c-springboard-link { border-top: none; padding-bottom: $spacer-xs; padding-top: $spacer-xs; > * { font-weight: normal; } } } .m24-c-springboard-type { grid-area: type; font-weight: bold; } .m24-c-springboard-icon { @include bidi(((margin-right, $spacer-xs, margin-left, 0),)); background-position: center center; background-repeat: no-repeat; background-size: 24px 24px; display: inline-block; height: 24px; vertical-align: middle; width: 24px; } .m24-c-springboard-topic { font-weight: bold; grid-area: cat; text-align: end; } .m24-c-springboard-preview { grid-area: preview; } .m24-c-springboard-author { grid-area: author; text-align: end; } .m24-c-springboard-thumb { display: none; } // icons .m24-c-springboard-icon-article { background-image: url('/media/img/icons/m24-small/glasses.svg'); } .m24-c-springboard-icon-podcast { background-image: url('/media/img/icons/m24-small/headphones.svg'); background-size: 18px 18px; } .m24-c-springboard-icon-video { background-image: url('/media/img/icons/m24-small/arrow-right.svg'); background-size: 16px 16px; } @media #{$mq-lg} { @supports (grid-template-columns: subgrid) { .m24-c-springboard { display: grid; grid-template-areas: none; grid-template-columns: repeat(5, auto); grid-template-rows: auto; position: relative; } .m24-c-springboard-item { display: grid; grid-column: 1/-1; grid-template-columns: subgrid; row-gap: 0; } .m24-c-springboard-link { align-items: center; display: grid; grid-column: 1/-1; grid-template-columns: subgrid; row-gap: 0; padding: $spacer-sm $container-padding; > * { grid-area: auto; text-wrap: nowrap; } } .m24-c-springboard-thumb { display: block; width: $springboard-thumb-width; img { display: block; } } .m24-c-springboard-preview { text-wrap: wrap; } .m24-c-springboard-author, .m24-c-springboard-topic { text-align: start; } } } @media #{$mq-max} { @supports (grid-template-columns: subgrid) { .m24-c-springboard-preview { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } }