/* Set $assets-path in _global.scss to form the correct links to the parent folder of fonts/ based on the location of the compiled css
 * @forward "00-base/configure" with (
     $assets-path: "~@massds/mayflower-assets/static"
   );
*/

@use "paths" as *;

@use "variables" as *;

@use "fonts-langs-vars" as langs;

@use "mixins/ma-font-face" as *;

@use "mixins/ma-langlist" as *;

/////////////////////////////////////
// Import fonts
/* The fallback non-variable Noto Sans font */

@font-face {
  font-family: 'Noto Sans';
  src:  url('#{$assets-path}/fonts/noto/Latin/NotoSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('#{$assets-path}/fonts/noto/Latin/NotoSans-Regular.woff2') format('woff2'),
        url('#{$assets-path}/fonts/noto/Latin/NotoSans-Regular.woff') format('woff');
  font-style: normal;
  font-display: $fonts-display-global;
}
/* The fallback non-variable Noto Sans Italic font */

@font-face {
  font-family: 'Noto Sans';
  src:  url('#{$assets-path}/fonts/noto/Latin/NotoSans-Italic.eot?#iefix') format('embedded-opentype'),
        url('#{$assets-path}/fonts/noto/Latin/NotoSans-Italic.woff2') format('woff2'),
        url('#{$assets-path}/fonts/noto/Latin/NotoSans-Italic.woff') format('woff');
  font-style: italic;
  font-display: $fonts-display-global;
}

@supports ( font-variation-settings: normal ) {
  /* The variable font of Noto Sans */

  @font-face {
    font-family: 'Noto Sans VF';
    src:  url('#{$assets-path}/fonts/noto/Latin/NotoSans-VF.eot?#iefix') format('embedded-opentype'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSans-VF.woff2') format('woff2'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSans-VF.woff') format('woff'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSans-VF.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: $fonts-display-global;
  }
  /* The variable font of Noto Sans Italic */

  @font-face {
    font-family: 'Noto Sans VF';
    src:  url('#{$assets-path}/fonts/noto/Latin/NotoSansItalic-VF.eot?#iefix') format('embedded-opentype'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSansItalic-VF.woff2') format('woff2'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSansItalic-VF.woff') format('woff'),
          url('#{$assets-path}/fonts/noto/Latin/NotoSansItalic-VF.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: $fonts-display-global;
  }
  /* The variable font of Noto Sans Mono */

  @font-face {
    font-family: 'Noto Sans Mono VF';
    src:  url('#{$assets-path}/fonts/noto/Mono/NotoSansMono-VF.woff') format('woff'),
          url('#{$assets-path}/fonts/noto/Mono/NotoSansMono-VF.eot?#iefix') format('embedded-opentype'),
          url('#{$assets-path}/fonts/noto/Mono/NotoSansMono-VF.ttf') format('truetype'),
          url('#{$assets-path}/fonts/noto/Mono/NotoSansMono-VF.svg#NotoSans-Mono') format('svg');
    font-weight: 100 900;
    font-style: normal;
    font-display: $fonts-display-global;
  }
}

/////////////////////////////////////
// Import language support fonts (conditionally)
/* Set $fonts-langs-support in _global.scss to enable/disable imports of additional fonts for language support.
 * By default $fonts-langs-support is set to true
 * To disable:
 * @forward "00-base/configure" with (
     $fonts-langs-support: false
   );
*/

@if $fonts-langs-support {

  @supports ( font-variation-settings: normal ) {

    @font-face {

      @include ma-font-face(Noto, Sans, Arabic, null, VF, -subset, 100 900, normal, $fonts-display-global, langs.$arabic, null, null);
    }
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Arabic, null, Bold, -subset, $fonts-bold, normal, $fonts-display-global, langs.$arabic, null, null);
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Arabic, null, Regular, -subset, $fonts-normal, normal, $fonts-display-global, langs.$arabic, null, null);
  }

  // Hebrew

  @supports ( font-variation-settings: normal ) {

    @font-face {

      @include ma-font-face(Noto, Sans, Hebrew, null, VF, -subset, 100 900, normal, $fonts-display-global, langs.$hebrew, null, null);
    }
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Hebrew, null, Bold, -subset, $fonts-bold, normal, $fonts-display-global, langs.$hebrew, null, null);
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Hebrew, null, Regular, -subset, $fonts-normal, normal, $fonts-display-global, langs.$hebrew, null, null);
  }

  // Khmer

  @supports ( font-variation-settings: normal ) {

    @font-face {

      @include ma-font-face(Noto, Sans, Khmer, null, VF, -subset, 100 900, normal, $fonts-display-global, langs.$khmer, null, null);
    }
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Khmer, null, Bold, -subset, $fonts-bold, normal, $fonts-display-global, langs.$khmer, null, null);
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Khmer, null, Regular, -subset, $fonts-normal, normal, $fonts-display-global, langs.$khmer, null, null);
  }

  // Myanmar

  @supports ( font-variation-settings: normal ) {

    @font-face {

      @include ma-font-face(Noto, Sans, Myanmar, null, VF, -subset, 100 900, normal, $fonts-display-global, langs.$myanmar, null, null);
    }
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Myanmar, null, Bold, -subset, $fonts-bold, normal, $fonts-display-global, langs.$myanmar, null, null);
  }

  @font-face {

    @include ma-font-face(Noto, Sans, Myanmar, null, Regular, -subset, $fonts-normal, normal, $fonts-display-global, langs.$myanmar, null, null);
  }
}


/////////////////////////////////////
// Set fonts

html {
  font-family: $fonts;
}

/////////////////////////////////////
// Set language support fonts (conditionally)

@if $fonts-langs-support {

  * {

    @include ma-langlist(langs.$arabic-sans, rtl, langs.$langs-Arab);
  }

  * {

    @include ma-langlist(langs.$hebrew-sans, rtl, langs.$langs-Hebr);
  }

  * {

    @include ma-langlist(langs.$khmer-sans, null, langs.$langs-Khmr);
  }

  * {

    @include ma-langlist(langs.$myanmar-sans, null, langs.$langs-Mymr);
  }
}
