$FontPathSourceSansPro: '~npm-font-source-sans-pro/fonts';
$basePath: '#{$FontPathSourceSansPro}/WOFF2/TTF/SourceSansPro';

@mixin fontface($name, $path, $weight: null, $style: null, $exts: woff2) {
  $src: null;
  @each $ext in $exts {
    $src: append($src, url(quote($path + "." + $ext)) format(quote($ext)), comma);
  }
  @font-face {
    font-family: quote($name);
    font-weight: $weight;
    font-style: $style;
    font-stretch: normal;
    font-display: swap;
    src: $src;
  }
}

@include fontface('Source Sans Pro', '#{$basePath}-Regular.ttf', 400, normal);
@include fontface('Source Sans Pro', '#{$basePath}-It.ttf', 400, italic);
@include fontface('Source Sans Pro', '#{$basePath}-Semibold.ttf', 600, normal);
@include fontface('Source Sans Pro', '#{$basePath}-SemiboldIt.ttf', 600, italic);
@include fontface('Source Sans Pro', '#{$basePath}-Bold.ttf', 700, normal);