/* Frameless by Joni Korpi licensed under CC0 */ // // Configuration // @use "sass:math"; $font-size: 16px; // Your base font-size in pixels $em: math.div($font-size, 1em); // Shorthand for outputting ems $column: 60px; // The column-width of your grid in pixels $gutter: 20px; // The gutter-width of your grid in pixels // // Column-widths in variables, in ems // $cols1: math.div( 1 * ($column + $gutter) - $gutter, $em); $cols2: math.div( 2 * ($column + $gutter) - $gutter, $em); $cols3: math.div( 3 * ($column + $gutter) - $gutter, $em); $cols4: math.div( 4 * ($column + $gutter) - $gutter, $em); $cols5: math.div( 5 * ($column + $gutter) - $gutter, $em); $cols6: math.div( 6 * ($column + $gutter) - $gutter, $em); $cols7: math.div( 7 * ($column + $gutter) - $gutter, $em); $cols8: math.div( 8 * ($column + $gutter) - $gutter, $em); $cols9: math.div( 9 * ($column + $gutter) - $gutter, $em); $cols10: math.div(10 * ($column + $gutter) - $gutter, $em); $cols11: math.div(11 * ($column + $gutter) - $gutter, $em); $cols12: math.div(12 * ($column + $gutter) - $gutter, $em); $desktop: 942px; $tabletPortrait: 768px; $mobileIntermediate: 640px; $mobile: 480px; /* Media Queries */ /* Width */ /* * ... small | medium | intermediate | big ... * ... medium-and-smaller | * ... intermediate-and-smaller | */ $small: "only screen and (max-width : #{$mobile - 1})"; $medium: "only screen and (min-width : #{$mobile}) and (max-width : #{$tabletPortrait - 1})"; $intermediate: "only screen and (min-width : #{$tabletPortrait}) and (max-width : #{$desktop - 1})"; $big: "only screen and (min-width : #{$desktop})"; $medium-and-smaller: "only screen and (max-width : #{$tabletPortrait - 1})"; $intermediate-and-smaller: "only screen and (max-width : #{$desktop - 1})"; $medium-and-intermediate: "only screen and (min-width : #{$mobile}) and (max-width : #{$desktop - 1})"; /* Height */ $small-height: "only screen and (max-height : #{$mobile - 1})"; $medium-height: "only screen and (min-height : #{$mobile}) and (max-height : #{$tabletPortrait - 1})"; // // Column-widths in a function, in ems // @mixin width ($cols: 1) { width: math.div($cols * ($column + $gutter) - $gutter, $em); } //4 columns @mixin submobile ($parent-selector, $child-selector) { @media #{$small} { #{$parent-selector} { text-align: center; } #{$child-selector} { margin: 0 auto; width: 100%; } @content; } } //6 columns @mixin mobile ($parent-selector, $child-selector) { @media #{$medium} { #{$parent-selector} { text-align: center; } #{$child-selector} { margin: 0 auto; width: $mobile; } @content; } } //8 columns @mixin tablet ($parent-selector, $child-selector) { @media #{$intermediate} { #{$parent-selector} { text-align: center; } #{$child-selector} { margin: 0 auto; width: $tabletPortrait; } } } //12 columns @mixin desktop ($parent-selector, $child-selector) { @media #{$big} { #{$child-selector} { margin: 0 auto; width: $desktop; } } } @mixin responsive-layout ($parent-selector, $child-selector) { @include submobile($parent-selector, $child-selector); @include mobile($parent-selector, $child-selector); @include tablet($parent-selector, $child-selector); @include desktop($parent-selector, $child-selector); } @include responsive-layout("#view", ".inner");