267 lines
3.7 KiB
SCSS
267 lines
3.7 KiB
SCSS
@import 'colors';
|
|
@import 'constants';
|
|
|
|
// floats
|
|
.pull-left {
|
|
float: left;
|
|
}
|
|
|
|
.pull-right {
|
|
float: right;
|
|
}
|
|
|
|
.clearfix {
|
|
clear: both;
|
|
}
|
|
|
|
.inline {
|
|
display: inline;
|
|
}
|
|
|
|
.visually-hidden {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: none;
|
|
}
|
|
|
|
// text
|
|
.text-center,
|
|
.center {
|
|
text-align: center;
|
|
}
|
|
|
|
.text-right {
|
|
text-align: right !important;
|
|
}
|
|
|
|
.text-sm {
|
|
font-size: 14px !important;
|
|
}
|
|
|
|
.text-lg {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.font-weight-bold {
|
|
font-weight: bold !important;
|
|
}
|
|
|
|
.font-weight-normal {
|
|
font-weight: normal !important;
|
|
}
|
|
|
|
.numbers-delimiter {
|
|
display: inline-block;
|
|
width: 5px;
|
|
}
|
|
|
|
.list-style-type-none {
|
|
list-style-type: none;
|
|
}
|
|
|
|
.empty-text {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
margin: 60px 0;
|
|
}
|
|
|
|
.empty-text-details {
|
|
margin-bottom: 60px;
|
|
text-align: center;
|
|
|
|
.empty-text + & {
|
|
margin-top: -50px;
|
|
}
|
|
}
|
|
|
|
.relative {
|
|
position: relative;
|
|
}
|
|
|
|
.sticky {
|
|
position: sticky;
|
|
top: 2em;
|
|
}
|
|
|
|
// display
|
|
.hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
.visible-on-previous-hover {
|
|
visibility: hidden;
|
|
}
|
|
|
|
:hover + .visible-on-previous-hover {
|
|
visibility: visible;
|
|
}
|
|
|
|
.no-wrap {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.width-max-content {
|
|
width: max-content;
|
|
}
|
|
|
|
// sizing
|
|
.width-100 {
|
|
width: 100%;
|
|
|
|
@media (max-width: $two-columns-breakpoint) {
|
|
&-mobile {
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.width-33 {
|
|
width: 33.33%;
|
|
|
|
@media (min-width: $two-columns-breakpoint) {
|
|
&-desktop {
|
|
width: 33.33%;
|
|
}
|
|
}
|
|
}
|
|
|
|
.width-66 {
|
|
width: 66.67%;
|
|
|
|
@media (min-width: $two-columns-breakpoint) {
|
|
&-desktop {
|
|
width: 66.67%;
|
|
}
|
|
}
|
|
}
|
|
|
|
// who known
|
|
.highlighted {
|
|
background-color: var(
|
|
--background-contrast-yellow-moutarde
|
|
); // from fr-badge--new
|
|
color: var(--text-label-yellow-tournesol);
|
|
padding: 0 0.5rem;
|
|
}
|
|
|
|
.overflow-y-visible {
|
|
overflow: visible;
|
|
}
|
|
|
|
.super {
|
|
vertical-align: super;
|
|
}
|
|
|
|
.border-left {
|
|
border-left: 4px solid var(--background-contrast-grey);
|
|
padding-left: $default-padding;
|
|
}
|
|
|
|
// Labels that we only want for screen readers
|
|
// https://www.coolfields.co.uk/2016/05/text-for-screen-readers-only-updated/
|
|
.sr-only {
|
|
border: none;
|
|
clip: rect(1px, 1px, 1px, 1px);
|
|
clip-path: inset(50%);
|
|
height: 1px;
|
|
margin: -1px;
|
|
width: 1px;
|
|
overflow: hidden;
|
|
position: absolute !important;
|
|
word-wrap: normal !important;
|
|
}
|
|
|
|
.ml-auto {
|
|
margin-left: auto;
|
|
}
|
|
|
|
.truncate-80 {
|
|
width: 80%;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
// generate spacer utility like bootstrap my-2 -> margin-left/right: 2 * $default-spacer
|
|
// using $direction.key as css modifier, $direction.values to set css properties
|
|
// scale it using $steps
|
|
$directions: (
|
|
't': (
|
|
'margin-top'
|
|
),
|
|
'r': (
|
|
'margin-right'
|
|
),
|
|
'b': (
|
|
'margin-bottom'
|
|
),
|
|
'l': (
|
|
'margin-left'
|
|
),
|
|
'x': (
|
|
'margin-left',
|
|
'margin-right'
|
|
),
|
|
'y': (
|
|
'margin-top',
|
|
'margin-bottom'
|
|
),
|
|
'': (
|
|
'margin'
|
|
)
|
|
);
|
|
$steps: (0, 1, 2, 3, 4, 5, 6, 7, 8);
|
|
|
|
@each $modifier, $properties in $directions {
|
|
@each $step in $steps {
|
|
@each $property in $properties {
|
|
.m#{$modifier}-#{$step} {
|
|
#{$property}: $step * $default-spacer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$directions: (
|
|
't': (
|
|
'padding-top'
|
|
),
|
|
'r': (
|
|
'padding-right'
|
|
),
|
|
'b': (
|
|
'padding-bottom'
|
|
),
|
|
'l': (
|
|
'padding-left'
|
|
),
|
|
'x': (
|
|
'padding-left',
|
|
'padding-right'
|
|
),
|
|
'y': (
|
|
'padding-top',
|
|
'padding-bottom'
|
|
),
|
|
'': (
|
|
'padding'
|
|
)
|
|
);
|
|
$steps: (0, 1, 2, 3, 4, 5, 6, 7, 8);
|
|
|
|
@each $modifier, $properties in $directions {
|
|
@each $step in $steps {
|
|
@each $property in $properties {
|
|
.p#{$modifier}-#{$step} {
|
|
#{$property}: $step * $default-spacer;
|
|
}
|
|
}
|
|
}
|
|
}
|