@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
  /* Keep Vietnamese precomposed glyphs on the verified fallback font. */
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-ExtraBold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

@font-face {
  font-family: 'Neue Einstellung';
  src: url('./NeueEinstellung-Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+0250-1DFF, U+1F00-FFFF;
}

/*
 * Be Vietnam Pro is the complete Vietnamese text face.  The supplied Neue
 * Einstellung files have malformed positioning for several Vietnamese
 * combining/precomposed accents, so content text uses this family as the
 * primary face while the original font remains available above.
 */
@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  src: url('./fonts-vietnamese/BeVietnamPro-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --rock-site-font: 'Be Vietnam Pro', 'Neue Einstellung', Arial, 'Segoe UI', sans-serif;
}

/* Apply the supplied Vietnamese font globally while preserving icon fonts. */
html body,
html body *:not(.fa):not([class^='fa-']):not([class*=' fa-']):not(.icon):not([class^='icon-']):not([class*=' icon-']) {
  font-family: var(--rock-site-font) !important;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html body .fa,
html body [class^='fa-'],
html body [class*=' fa-'] {
  font-family: 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
}

html body .icon,
html body [class^='icon-'],
html body [class*=' icon-'] {
  font-family: 'fl-icons' !important;
}
