| /*! | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| // Scoped to .sparklinesGrid — Matomo concatenates all LESS into one sheet, so this avoids | |
| // colliding with the legacy .sparkline styles still used when the feature flag is off. | |
| .sparklinesGrid { | |
| // Row gap: each column's bottom padding, cancelled on the last row by an equal negative | |
| // margin on the grid. Shared so the two stay in sync. | |
| @_row-gap: 16px; | |
| // Columns come from Materialize's float classes (col s6 m6 l4 xl3 = 2/2/4/4); the media | |
| // queries below add a 5th tier. Floats keep an incomplete last row packed left (flex broke | |
| // that). The card frame itself lives in SparklineCard.less. | |
| .col { | |
| padding: 0 8px @_row-gap; | |
| } | |
| // The grid is itself the .row; pull it up one gap to cancel the last row's bottom padding | |
| // (the same offset idiom Materialize uses for the horizontal .col padding). | |
| &.row { | |
| margin-bottom: -@_row-gap; | |
| } | |
| // 5-column tier above xl (1201px). 5 isn't a native col fraction (12/5), so set the width | |
| // directly; the selector needs .xl3 (4 classes) to outrank Materialize's `.row .col.xl3`. | |
| @media (min-width: 1920px) { | |
| &.row > .col.xl3 { | |
| width: 20%; | |
| } | |
| } | |
| // Single column below 320px, same direct-width override; .s6 outranks `.row .col.s6`. | |
| @media (max-width: 320px) { | |
| &.row > .col.s6 { | |
| width: 100%; | |
| } | |
| } | |
| } | |
| // Widget overrides so the cards sit neatly inside a dashboard widget. | |
| .widget .sparklinesGrid { | |
| .col { | |
| // Inter-card gutter: 4px on every side, so 8px shows between adjacent cards. | |
| padding: 4px; | |
| } | |
| .sparkline.sparklineCard { | |
| margin-left: 0; | |
| } | |
| // The widget container adds no padding of its own, so the grid supplies an even frame around | |
| // the cards: 16px of row padding plus each column's 4px gutter gives 20px on every side. The | |
| // base .sparklinesGrid.row negative bottom margin is reset (margin: 0) so it can't pull the | |
| // frame in and push the last row past the widget's bottom edge. | |
| &.row { | |
| margin: 0; | |
| padding: 16px; | |
| } | |
| } | |