@mixin marginClasses($i, $calc) { &-m { &-#{$i} { margin: $calc !important; } &x-#{$i} { margin-left: $calc !important; margin-right: $calc !important; } &y-#{$i} { margin-top: $calc !important; margin-bottom: $calc !important; } &t-#{$i} { margin-top: $calc !important; } &b-#{$i} { margin-bottom: $calc !important; } &l-#{$i} { margin-left: $calc !important; } &r-#{$i} { margin-right: $calc !important; } } } @mixin paddingClasses($i, $calc) { &-p { &-#{$i} { padding: $calc !important; } &x-#{$i} { padding-left: $calc !important; padding-right: $calc !important; } &y-#{$i} { padding-top: $calc !important; padding-bottom: $calc !important; } &t-#{$i} { padding-top: $calc !important; } &b-#{$i} { padding-bottom: $calc !important; } &l-#{$i} { padding-left: $calc !important; } &r-#{$i} { padding-right: $calc !important; } } } @mixin generateClasses($spacingLevels) { @for $i from 1 through $spacingLevels { $calc: calc(0.25rem * $i); .loom { @include marginClasses($i, $calc); @include paddingClasses($i, $calc); } } }