:root {
    --ui-font-family-ibm-plex-sans: 'IBM Plex Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --ui-font-face-ibm-plex-sans: 'IBM Plex Sans';
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Thin'), local('IBMPlexSans-Thin'),
    url('fonts/IBMPlexSans-Thin.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Thin.woff') format('woff'),
    url('fonts/IBMPlexSans-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Thin Italic'), local('IBMPlexSans-ThinItalic'),
    url('fonts/IBMPlexSans-ThinItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-ThinItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans ExtraLight'), local('IBMPlexSans-ExtraLight'),
    url('fonts/IBMPlexSans-ExtraLight.woff2') format('woff2'),
    url('fonts/IBMPlexSans-ExtraLight.woff') format('woff'),
    url('fonts/IBMPlexSans-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans ExtraLight Italic'), local('IBMPlexSans-ExtraLightItalic'),
    url('fonts/IBMPlexSans-ExtraLightItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-ExtraLightItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Light'), local('IBMPlexSans-Light'),
    url('fonts/IBMPlexSans-Light.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Light.woff') format('woff'),
    url('fonts/IBMPlexSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Light Italic'), local('IBMPlexSans-LightItalic'),
    url('fonts/IBMPlexSans-LightItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-LightItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Regular'), local('IBMPlexSans-Regular'),
    url('fonts/IBMPlexSans-Regular.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Regular.woff') format('woff'),
    url('fonts/IBMPlexSans-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Italic'), local('IBMPlexSans-Italic'),
    url('fonts/IBMPlexSans-Italic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Italic.woff') format('woff'),
    url('fonts/IBMPlexSans-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Bold'), local('IBMPlexSans-Bold'),
    url('fonts/IBMPlexSans-Bold.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Bold.woff') format('woff'),
    url('fonts/IBMPlexSans-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Bold Italic'), local('IBMPlexSans-BoldItalic'),
    url('fonts/IBMPlexSans-BoldItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-BoldItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Medium'), local('IBMPlexSans-Medium'),
    url('fonts/IBMPlexSans-Medium.woff2') format('woff2'),
    url('fonts/IBMPlexSans-Medium.woff') format('woff'),
    url('fonts/IBMPlexSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans Medium Italic'), local('IBMPlexSans-MediumItalic'),
    url('fonts/IBMPlexSans-MediumItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-MediumItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans SemiBold'), local('IBMPlexSans-SemiBold'),
    url('fonts/IBMPlexSans-SemiBold.woff2') format('woff2'),
    url('fonts/IBMPlexSans-SemiBold.woff') format('woff'),
    url('fonts/IBMPlexSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans';
    src: local('IBM Plex Sans SemiBold Italic'), local('IBMPlexSans-SemiBoldItalic'),
    url('fonts/IBMPlexSans-SemiBoldItalic.woff2') format('woff2'),
    url('fonts/IBMPlexSans-SemiBoldItalic.woff') format('woff'),
    url('fonts/IBMPlexSans-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
