platypush/platypush/backend/http/webapp/src/style/layout.scss

185 lines
3.7 KiB
SCSS

@use "sass:math";
$tablet: 769px;
$desktop: 1024px;
$widescreen: 1216px;
$fullhd: 1408px;
$widths: (
m: $tablet,
l: $desktop,
xl: $widescreen,
xxl: $fullhd,
);
@for $i from 1 through 12 {
.col-#{$i} {
float: left;
box-sizing: border-box;
@if $i < 12 {
width: (4.66666666667%*$i) + (4% * if($i > 1, $i - 1, 0));
margin-left: 4%;
} @else {
width: 100%;
margin-left: 0;
}
&:first-child {
margin-left: 0;
}
}
.col-no-margin-#{$i} {
float: left;
box-sizing: border-box;
width: ((math.div(100%, 12))*$i);
margin: 0;
}
@if $i < 12 {
.col-offset-#{$i}:first-child {
margin-left: (8.66666666667%*$i) !important;
}
.col-offset-#{$i}:not(first-child) {
margin-left: 4% + (8.66666666667%*$i) !important;
}
}
}
@media screen and (max-width: calc(#{$tablet} - 1px)) {
@for $i from 1 through 12 {
.col-s-#{$i} {
float: left;
box-sizing: border-box;
@if $i < 12 {
width: (4.66666666667%*$i) + (4% * if($i > 1, $i - 1, 0));
margin-left: 4%;
} @else {
width: 100%;
margin-left: 0;
}
&:first-child {
margin-left: 0;
}
}
@if $i < 12 {
.col-offset-s-#{$i} {
margin-left: (8.66666666667%*$i);
}
}
.col-no-margin-s-#{$i} {
float: left;
box-sizing: border-box;
width: (math.div(100%, 12)*$i);
}
}
.s-hidden {
display: none !important;
}
.s-visible {
display: block !important;
}
}
@each $size, $width in $widths {
@media screen and (min-width: $width) {
@for $i from 1 through 12 {
.col-#{$size}-#{$i} {
float: left;
box-sizing: border-box;
@if $i < 12 {
width: #{(4.66666666667%*$i) + (4% * if($i > 1, $i - 1, 0))};
margin-left: 4%;
} @else {
width: 100%;
margin-left: 0;
}
&:first-child {
margin-left: 0;
}
}
@if $i < 12 {
.col-offset-#{$size}-#{$i} {
margin-left: #{(8.66666666667%*$i)};
}
}
.col-no-margin-#{$size}-#{$i} {
float: left;
box-sizing: border-box;
width: (math.div(100%, 12)*$i);
}
}
.#{$size}-hidden {
display: none !important;
}
.#{$size}-visible {
display: block !important;
}
}
}
@mixin from($device) {
@media screen and (min-width: $device) {
@content;
}
}
@mixin until($device) {
@media screen and (max-width: calc(#{$device} - 1px)) {
@content;
}
}
@mixin between($from, $until) {
@media screen and (min-width: $from) and (max-width: calc(#{$until} - 1px)) {
@content;
}
}
.vertical-center {
display: flex;
align-items: center;
}
.horizontal-center {
display: flex;
justify-content: center;
margin-left: auto;
margin-right: auto;
}
@mixin pull-right {
display: inline-flex;
text-align: right;
justify-content: right;
flex-grow: 1;
}
.pull-right {
@include pull-right;
}
.hidden {
display: none !important;
}
.no-content {
display: flex;
font-size: 1.5em;
align-items: center;
justify-content: center;
}