%rounded-corner-defaults { border-style: solid; border-width: $border-size; } @mixin border-image($color) { border-image-source: url('data:image/svg+xml;utf8,'); } @mixin compact-border-image($color) { border-image-source: url('data:image/svg+xml;utf8,'); } @mixin border-image-repeat() { border-image-repeat: stretch; // for chrome @media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) { border-image-repeat: space; } // for firefox @supports (-moz-appearance: meterbar) { border-image-repeat: stretch; } } @mixin rounded-corners($isDark: false) { @extend %rounded-corner-defaults; border-image-slice: 3; border-image-width: 3; @include border-image-repeat(); @if $isDark { @include border-image($color-white); border-image-outset: 0; } @else { @include border-image($color-black); border-image-outset: 2; } } @mixin compact-rounded-corners($isDark: false) { @extend %rounded-corner-defaults; border-image-slice: 2; border-image-width: 2; @include border-image-repeat(); @if $isDark { @include compact-border-image($color-white); border-image-outset: 0; } @else { @include compact-border-image($color-black); border-image-outset: 2; } }