$widths: ( s: (max-width: $tablet), m: (min-width: $tablet), l: (min-width: $desktop), xl: (min-width: $widescreen), xxl: (min-width: $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: ((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; } } } @each $size, $width in $widths { @media #{$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: ((100%/12)*$i); } } .#{$size}-hidden { display: none !important; } .#{$size}-visible { display: block !important; } } } .vertical-center { display: flex; align-items: center; } .horizontal-center { display: flex; justify-content: center; margin-left: auto; margin-right: auto; } .pull-right { text-align: right; float: right; } .hidden { display: none !important; } .no-content { display: flex; font-size: 1.5em; align-items: center; justify-content: center; }