@font-face {
  font-family: "MF Khmer Sans";
  src: url("NotoSansKhmer-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "MF Khmer Sans";
  src: url("NotoSansKhmer-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "MF Khmer Sans";
  src: url("NotoSansKhmer-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "MF Khmer Sans";
  src: url("NotoSansKhmer-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-ui: "MF Khmer Sans", "Noto Sans Khmer", "Segoe UI", Tahoma, Arial, sans-serif;
  --font-khmer: "MF Khmer Sans", "Noto Sans Khmer", sans-serif;
  --font-print: "MF Khmer Sans", "Noto Sans Khmer", Georgia, serif;
  --line-height-ui: 1.55;
  --line-height-khmer: 1.75;
  --letter-spacing-khmer: 0;
}

html,
body,
button,
input,
select,
textarea,
option,
optgroup,
table,
th,
td,
label,
legend {
  font-family: var(--font-ui);
}

html {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  font-family: var(--font-ui);
}

body {
  line-height: var(--line-height-ui);
  font-family: var(--font-ui);
  overflow-wrap: anywhere;
}

:lang(km),
[lang="km"],
.khmer,
.khmer * {
  font-family: var(--font-khmer);
  line-height: var(--line-height-khmer);
  letter-spacing: var(--letter-spacing-khmer);
  word-break: normal;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

option,
optgroup {
  font-family: inherit;
}

input::placeholder,
textarea::placeholder {
  font-family: inherit;
}

a,
label,
th,
td,
.btn,
.badge,
.card-title,
.brand-title,
.brand-company,
.nav-item,
.nav-section,
.topbar h1,
.topbar h2,
.topbar .sub,
.stat-label,
.stat-value,
.stat-sub {
  overflow-wrap: anywhere;
}

:lang(km) h1,
:lang(km) h2,
:lang(km) h3,
:lang(km) h4,
:lang(km) h5,
:lang(km) h6,
:lang(km) p,
:lang(km) a,
:lang(km) button,
:lang(km) label,
:lang(km) th,
:lang(km) td,
:lang(km) input,
:lang(km) select,
:lang(km) textarea,
.khmer h1,
.khmer h2,
.khmer h3,
.khmer h4,
.khmer h5,
.khmer h6,
.khmer p,
.khmer a,
.khmer button,
.khmer label,
.khmer th,
.khmer td,
.khmer input,
.khmer select,
.khmer textarea {
  font-family: var(--font-khmer);
  letter-spacing: var(--letter-spacing-khmer);
}

:lang(km) th,
:lang(km) label,
:lang(km) .card-title,
:lang(km) .nav-section,
.khmer th,
.khmer label,
.khmer .card-title,
.khmer .nav-section {
  text-transform: none;
  letter-spacing: 0;
}

@media print {
  html,
  body,
  table,
  th,
  td {
    font-family: var(--font-print);
  }
}
