Its important to have the $side in the beginning of the arguments in the assemble mixin as this is the only one without a default value it has to be declared first.
@mixin assemble($side, $bg: #fff, $pad: 10px) { background: $bg; border-#{$side}: 1px solid #ccc; padding: $pad; } .factory { @include assemble($side: left); } .highrise { @include assemble($side: right,$bg: #797979, $pad: 20px); }