329 lines
5.2 KiB
SCSS
329 lines
5.2 KiB
SCSS
@use './variables' as *;
|
|
@use './mixins';
|
|
|
|
.position-fixed {
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: 2;
|
|
}
|
|
|
|
.position-sticky {
|
|
position: sticky;
|
|
left: 0;
|
|
top: 0;
|
|
z-index: 2;
|
|
}
|
|
|
|
.d-none {
|
|
display: none;
|
|
}
|
|
|
|
.d-block {
|
|
display: block;
|
|
}
|
|
|
|
.d-flex {
|
|
display: flex;
|
|
}
|
|
|
|
.visually-hidden {
|
|
height: 0;
|
|
width: 0;
|
|
position: absolute;
|
|
overflow: hidden;
|
|
}
|
|
|
|
@include mixins.responsive using($screen-size) {
|
|
.d-#{$screen-size}-none {
|
|
display: none;
|
|
}
|
|
.d-#{$screen-size}-block {
|
|
display: block;
|
|
}
|
|
|
|
.d-#{$screen-size}-flex {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.flex-eq > * {
|
|
flex: 100%;
|
|
}
|
|
|
|
.flex-column {
|
|
flex-direction: column !important;
|
|
}
|
|
.flex-row {
|
|
flex-direction: row !important;
|
|
}
|
|
|
|
@include mixins.responsive using($screen-size) {
|
|
.flex-#{$screen-size}-column {
|
|
flex-direction: column !important;
|
|
}
|
|
.flex-#{$screen-size}-row {
|
|
flex-direction: row !important;
|
|
}
|
|
}
|
|
|
|
.hstack {
|
|
--prj-gap: var(--prj-spacing-3);
|
|
display: flex;
|
|
gap: var(--prj-gap);
|
|
align-items: center;
|
|
}
|
|
|
|
.hstack-reverse {
|
|
--prj-gap: var(--prj-spacing-3);
|
|
display: flex;
|
|
gap: var(--prj-gap);
|
|
align-items: center;
|
|
flex-direction: row-reverse;
|
|
}
|
|
|
|
.vstack {
|
|
--prj-gap: var(--prj-spacing-3);
|
|
display: flex;
|
|
gap: var(--prj-gap);
|
|
flex-direction: column;
|
|
}
|
|
|
|
.vstack-reverse {
|
|
--prj-gap: var(--prj-spacing-3);
|
|
display: flex;
|
|
flex-direction: column-reverse;
|
|
}
|
|
|
|
.flex-grow {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.flex-wrap {
|
|
flex-wrap: wrap;
|
|
}
|
|
.flex-nowrap {
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
@include mixins.responsive using($size-name) {
|
|
.flex-#{$size-name}-wrap {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.flex-#{$size-name}-nowrap {
|
|
flex-wrap: nowrap;
|
|
}
|
|
}
|
|
|
|
.flex-center {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.justify-content-center {
|
|
justify-content: center !important;
|
|
}
|
|
|
|
.justify-content-between {
|
|
justify-content: space-between !important;
|
|
}
|
|
|
|
.justify-content-around {
|
|
justify-content: space-around !important;
|
|
}
|
|
|
|
.align-items-center {
|
|
align-items: center !important;
|
|
}
|
|
|
|
.grid {
|
|
--prj-gap: var(--prj-spacing-3);
|
|
--prj-columns: repeat(3, 1fr);
|
|
--prj-min-col-width: 150px;
|
|
display: grid;
|
|
grid-template-columns: var(--prj-columns);
|
|
gap: var(--prj-gap);
|
|
}
|
|
|
|
@mixin grid-cols($amount) {
|
|
--prj-columns: repeat(#{$amount}, minmax(var(--prj-min-col-width), 1fr));
|
|
}
|
|
|
|
@for $i from 1 through 12 {
|
|
.grid-cols-#{$i} {
|
|
@include grid-cols($i);
|
|
}
|
|
}
|
|
|
|
@include mixins.responsive-steps(1, 12) using ($size-name, $index) {
|
|
.grid-#{$size-name}-cols-#{$index} {
|
|
@include grid-cols($index);
|
|
}
|
|
}
|
|
|
|
.list-unstyle {
|
|
list-style: none;
|
|
}
|
|
|
|
.text-justify {
|
|
text-align: justify;
|
|
text-justify: inter-word;
|
|
}
|
|
|
|
.text-start {
|
|
text-align: start;
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.text-end {
|
|
text-align: end;
|
|
}
|
|
|
|
.align-start {
|
|
vertical-align: start;
|
|
}
|
|
|
|
.align-center {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.align-end {
|
|
vertical-align: end;
|
|
}
|
|
|
|
.overflow-scroll {
|
|
overflow: scroll;
|
|
}
|
|
.overflow-x-scroll {
|
|
overflow-x: scroll;
|
|
}
|
|
.overflow-y-scroll {
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
.w-auto {
|
|
width: auto;
|
|
}
|
|
.h-auto {
|
|
height: auto;
|
|
}
|
|
@for $i from 0 through 100 {
|
|
.w-#{$i} {
|
|
width: percentage(calc($i / 100));
|
|
}
|
|
.h-#{$i} {
|
|
height: percentage(calc($i / 100));
|
|
}
|
|
}
|
|
|
|
@include mixins.responsive-steps(0, 100) using ($size-name, $index) {
|
|
.w-#{$size-name}-#{$index} {
|
|
width: percentage(calc($index / 100));
|
|
}
|
|
|
|
.h-#{$size-name}-#{$index} {
|
|
height: percentage(calc($index / 100));
|
|
}
|
|
}
|
|
|
|
@mixin spacing-utils($name, $value, $screen-size: false) {
|
|
@if $screen-size {
|
|
$name: '#{$screen-size}-#{$name}';
|
|
}
|
|
|
|
.m-#{$name} {
|
|
margin: $value !important;
|
|
}
|
|
.mx-#{$name} {
|
|
margin-left: $value !important;
|
|
margin-right: $value !important;
|
|
}
|
|
.my-#{$name} {
|
|
margin-top: $value !important;
|
|
margin-bottom: $value !important;
|
|
}
|
|
.mt-#{$name} {
|
|
margin-top: $value !important;
|
|
}
|
|
.mb-#{$name} {
|
|
margin-bottom: $value !important;
|
|
}
|
|
.ml-#{$name} {
|
|
margin-left: $value !important;
|
|
}
|
|
.mr-#{$name} {
|
|
margin-right: $value !important;
|
|
}
|
|
.p-#{$name} {
|
|
padding: $value !important;
|
|
}
|
|
.px-#{$name} {
|
|
padding-left: $value !important;
|
|
padding-right: $value !important;
|
|
}
|
|
.py-#{$name} {
|
|
padding-top: $value !important;
|
|
padding-bottom: $value !important;
|
|
}
|
|
.pt-#{$name} {
|
|
padding-top: $value !important;
|
|
}
|
|
.pb-#{$name} {
|
|
padding-bottom: $value !important;
|
|
}
|
|
.pl-#{$name} {
|
|
padding-left: $value !important;
|
|
}
|
|
.pr-#{$name} {
|
|
padding-right: $value !important;
|
|
}
|
|
|
|
.gap-#{$name} {
|
|
--prj-gap: #{$value};
|
|
}
|
|
}
|
|
|
|
@include spacing-utils(auto, auto);
|
|
@include mixins.responsive using($screen-size) {
|
|
@include spacing-utils(auto, auto);
|
|
}
|
|
|
|
@each $index, $variable, $value in $spacings {
|
|
@include spacing-utils($index, var(#{$variable}));
|
|
@include mixins.responsive using($screen-size) {
|
|
@include spacing-utils($index, var(#{$variable}), $screen-size);
|
|
}
|
|
}
|
|
|
|
.shadow-0 {
|
|
box-shadow: none;
|
|
}
|
|
|
|
.shadow-1 {
|
|
box-shadow: 10px 10px 5px 0px var(--prj-shadow);
|
|
}
|
|
|
|
.border-radius {
|
|
border-radius: var(--prj-border-radius);
|
|
}
|
|
|
|
.text-none {
|
|
text-transform: none;
|
|
}
|
|
.text-capitalize {
|
|
text-transform: capitalize;
|
|
}
|
|
.text-uppercase {
|
|
text-transform: uppercase;
|
|
}
|
|
.text-uppercase {
|
|
text-transform: uppercase;
|
|
}
|
|
.text-lowercase {
|
|
text-transform: lowercase;
|
|
}
|