diff --git a/src/public/app/layouts/desktop_layout.js b/src/public/app/layouts/desktop_layout.js
index e44d496fd..7f2156c01 100644
--- a/src/public/app/layouts/desktop_layout.js
+++ b/src/public/app/layouts/desktop_layout.js
@@ -99,7 +99,8 @@ export default class DesktopLayout {
return new RootContainer(launcherPaneIsHorizontal)
.setParent(appContext)
.class((launcherPaneIsHorizontal ? "horizontal" : "vertical") + "-layout")
- .optChild(launcherPaneIsHorizontal, new FlexContainer('row')
+ .optChild(launcherPaneIsHorizontal, new FlexContainer('row')
+ .class("tab-row-container")
.child(new TabRowWidget().class("full-width"))
.child(new TitleBarButtonsWidget())
.css('height', '40px')
diff --git a/src/public/app/widgets/type_widgets/options/appearance/theme.js b/src/public/app/widgets/type_widgets/options/appearance/theme.js
index 7efedd523..e26fc2a0d 100644
--- a/src/public/app/widgets/type_widgets/options/appearance/theme.js
+++ b/src/public/app/widgets/type_widgets/options/appearance/theme.js
@@ -66,8 +66,9 @@ export default class ThemeOptions extends OptionsWidget {
async optionsLoaded(options) {
const themes = [
+ { val: 'next', title: t("theme.triliumnext") },
{ val: 'light', title: t('theme.light_theme') },
- { val: 'dark', title: t('theme.dark_theme') }
+ { val: 'dark', title: t('theme.dark_theme') }
].concat(await server.get('options/user-themes'));
this.$themeSelect.empty();
diff --git a/src/public/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf b/src/public/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf
new file mode 100644
index 000000000..43ed4f5ee
Binary files /dev/null and b/src/public/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf differ
diff --git a/src/public/fonts/Inter/Inter-VariableFont_opsz,wght.ttf b/src/public/fonts/Inter/Inter-VariableFont_opsz,wght.ttf
new file mode 100644
index 000000000..e31b51e3e
Binary files /dev/null and b/src/public/fonts/Inter/Inter-VariableFont_opsz,wght.ttf differ
diff --git a/src/public/fonts/Inter/OFL.txt b/src/public/fonts/Inter/OFL.txt
new file mode 100644
index 000000000..d05ec4b38
--- /dev/null
+++ b/src/public/fonts/Inter/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/public/fonts/Inter/README.txt b/src/public/fonts/Inter/README.txt
new file mode 100644
index 000000000..b92a417e0
--- /dev/null
+++ b/src/public/fonts/Inter/README.txt
@@ -0,0 +1,118 @@
+Inter Variable Font
+===================
+
+This download contains Inter as both variable fonts and static fonts.
+
+Inter is a variable font with these axes:
+ opsz
+ wght
+
+This means all the styles are contained in these files:
+ Inter/Inter-VariableFont_opsz,wght.ttf
+ Inter/Inter-Italic-VariableFont_opsz,wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Inter:
+ Inter/static/Inter_18pt-Thin.ttf
+ Inter/static/Inter_18pt-ExtraLight.ttf
+ Inter/static/Inter_18pt-Light.ttf
+ Inter/static/Inter_18pt-Regular.ttf
+ Inter/static/Inter_18pt-Medium.ttf
+ Inter/static/Inter_18pt-SemiBold.ttf
+ Inter/static/Inter_18pt-Bold.ttf
+ Inter/static/Inter_18pt-ExtraBold.ttf
+ Inter/static/Inter_18pt-Black.ttf
+ Inter/static/Inter_24pt-Thin.ttf
+ Inter/static/Inter_24pt-ExtraLight.ttf
+ Inter/static/Inter_24pt-Light.ttf
+ Inter/static/Inter_24pt-Regular.ttf
+ Inter/static/Inter_24pt-Medium.ttf
+ Inter/static/Inter_24pt-SemiBold.ttf
+ Inter/static/Inter_24pt-Bold.ttf
+ Inter/static/Inter_24pt-ExtraBold.ttf
+ Inter/static/Inter_24pt-Black.ttf
+ Inter/static/Inter_28pt-Thin.ttf
+ Inter/static/Inter_28pt-ExtraLight.ttf
+ Inter/static/Inter_28pt-Light.ttf
+ Inter/static/Inter_28pt-Regular.ttf
+ Inter/static/Inter_28pt-Medium.ttf
+ Inter/static/Inter_28pt-SemiBold.ttf
+ Inter/static/Inter_28pt-Bold.ttf
+ Inter/static/Inter_28pt-ExtraBold.ttf
+ Inter/static/Inter_28pt-Black.ttf
+ Inter/static/Inter_18pt-ThinItalic.ttf
+ Inter/static/Inter_18pt-ExtraLightItalic.ttf
+ Inter/static/Inter_18pt-LightItalic.ttf
+ Inter/static/Inter_18pt-Italic.ttf
+ Inter/static/Inter_18pt-MediumItalic.ttf
+ Inter/static/Inter_18pt-SemiBoldItalic.ttf
+ Inter/static/Inter_18pt-BoldItalic.ttf
+ Inter/static/Inter_18pt-ExtraBoldItalic.ttf
+ Inter/static/Inter_18pt-BlackItalic.ttf
+ Inter/static/Inter_24pt-ThinItalic.ttf
+ Inter/static/Inter_24pt-ExtraLightItalic.ttf
+ Inter/static/Inter_24pt-LightItalic.ttf
+ Inter/static/Inter_24pt-Italic.ttf
+ Inter/static/Inter_24pt-MediumItalic.ttf
+ Inter/static/Inter_24pt-SemiBoldItalic.ttf
+ Inter/static/Inter_24pt-BoldItalic.ttf
+ Inter/static/Inter_24pt-ExtraBoldItalic.ttf
+ Inter/static/Inter_24pt-BlackItalic.ttf
+ Inter/static/Inter_28pt-ThinItalic.ttf
+ Inter/static/Inter_28pt-ExtraLightItalic.ttf
+ Inter/static/Inter_28pt-LightItalic.ttf
+ Inter/static/Inter_28pt-Italic.ttf
+ Inter/static/Inter_28pt-MediumItalic.ttf
+ Inter/static/Inter_28pt-SemiBoldItalic.ttf
+ Inter/static/Inter_28pt-BoldItalic.ttf
+ Inter/static/Inter_28pt-ExtraBoldItalic.ttf
+ Inter/static/Inter_28pt-BlackItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Black.ttf b/src/public/fonts/Inter/static/Inter_18pt-Black.ttf
new file mode 100644
index 000000000..89673de1c
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Black.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-BlackItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-BlackItalic.ttf
new file mode 100644
index 000000000..b33602f1e
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-BlackItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Bold.ttf b/src/public/fonts/Inter/static/Inter_18pt-Bold.ttf
new file mode 100644
index 000000000..cd13f60ce
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Bold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-BoldItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-BoldItalic.ttf
new file mode 100644
index 000000000..0d19c1aab
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-BoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-ExtraBold.ttf b/src/public/fonts/Inter/static/Inter_18pt-ExtraBold.ttf
new file mode 100644
index 000000000..e71c601c0
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-ExtraBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..df450629b
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-ExtraLight.ttf b/src/public/fonts/Inter/static/Inter_18pt-ExtraLight.ttf
new file mode 100644
index 000000000..f9c6cfc5b
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-ExtraLight.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf
new file mode 100644
index 000000000..275f305e2
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Italic.ttf b/src/public/fonts/Inter/static/Inter_18pt-Italic.ttf
new file mode 100644
index 000000000..14d3595bc
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Italic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Light.ttf b/src/public/fonts/Inter/static/Inter_18pt-Light.ttf
new file mode 100644
index 000000000..acae36128
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Light.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-LightItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-LightItalic.ttf
new file mode 100644
index 000000000..f69e18b03
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-LightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Medium.ttf b/src/public/fonts/Inter/static/Inter_18pt-Medium.ttf
new file mode 100644
index 000000000..71d90172f
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Medium.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-MediumItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-MediumItalic.ttf
new file mode 100644
index 000000000..5c8c8b145
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-MediumItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Regular.ttf b/src/public/fonts/Inter/static/Inter_18pt-Regular.ttf
new file mode 100644
index 000000000..ce097c825
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Regular.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-SemiBold.ttf b/src/public/fonts/Inter/static/Inter_18pt-SemiBold.ttf
new file mode 100644
index 000000000..053185e5d
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-SemiBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf
new file mode 100644
index 000000000..d9c9896d3
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-Thin.ttf b/src/public/fonts/Inter/static/Inter_18pt-Thin.ttf
new file mode 100644
index 000000000..e68ec4704
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-Thin.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_18pt-ThinItalic.ttf b/src/public/fonts/Inter/static/Inter_18pt-ThinItalic.ttf
new file mode 100644
index 000000000..134e8372f
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_18pt-ThinItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Black.ttf b/src/public/fonts/Inter/static/Inter_24pt-Black.ttf
new file mode 100644
index 000000000..dbb1b3bc7
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Black.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-BlackItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-BlackItalic.ttf
new file mode 100644
index 000000000..b89d61c1f
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-BlackItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Bold.ttf b/src/public/fonts/Inter/static/Inter_24pt-Bold.ttf
new file mode 100644
index 000000000..46b3583c5
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Bold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-BoldItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-BoldItalic.ttf
new file mode 100644
index 000000000..d1c0f5393
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-BoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-ExtraBold.ttf b/src/public/fonts/Inter/static/Inter_24pt-ExtraBold.ttf
new file mode 100644
index 000000000..b775c0843
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-ExtraBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..3461a928f
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-ExtraLight.ttf b/src/public/fonts/Inter/static/Inter_24pt-ExtraLight.ttf
new file mode 100644
index 000000000..2ec6ca3fe
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-ExtraLight.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf
new file mode 100644
index 000000000..c634a5d21
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Italic.ttf b/src/public/fonts/Inter/static/Inter_24pt-Italic.ttf
new file mode 100644
index 000000000..1048b07a1
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Italic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Light.ttf b/src/public/fonts/Inter/static/Inter_24pt-Light.ttf
new file mode 100644
index 000000000..1a2a6f252
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Light.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-LightItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-LightItalic.ttf
new file mode 100644
index 000000000..ded5a7539
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-LightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Medium.ttf b/src/public/fonts/Inter/static/Inter_24pt-Medium.ttf
new file mode 100644
index 000000000..5c88739bd
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Medium.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-MediumItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-MediumItalic.ttf
new file mode 100644
index 000000000..be091b1dc
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-MediumItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Regular.ttf b/src/public/fonts/Inter/static/Inter_24pt-Regular.ttf
new file mode 100644
index 000000000..6b088a711
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Regular.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-SemiBold.ttf b/src/public/fonts/Inter/static/Inter_24pt-SemiBold.ttf
new file mode 100644
index 000000000..ceb8576ab
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-SemiBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf
new file mode 100644
index 000000000..6921df226
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-Thin.ttf b/src/public/fonts/Inter/static/Inter_24pt-Thin.ttf
new file mode 100644
index 000000000..3505b357e
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-Thin.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_24pt-ThinItalic.ttf b/src/public/fonts/Inter/static/Inter_24pt-ThinItalic.ttf
new file mode 100644
index 000000000..a3e6febe5
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_24pt-ThinItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Black.ttf b/src/public/fonts/Inter/static/Inter_28pt-Black.ttf
new file mode 100644
index 000000000..66a252f8f
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Black.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-BlackItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-BlackItalic.ttf
new file mode 100644
index 000000000..3c8fdf968
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-BlackItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Bold.ttf b/src/public/fonts/Inter/static/Inter_28pt-Bold.ttf
new file mode 100644
index 000000000..d17828b2b
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Bold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-BoldItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-BoldItalic.ttf
new file mode 100644
index 000000000..6fce50a84
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-BoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-ExtraBold.ttf b/src/public/fonts/Inter/static/Inter_28pt-ExtraBold.ttf
new file mode 100644
index 000000000..6d87caec3
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-ExtraBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..1a5673590
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-ExtraLight.ttf b/src/public/fonts/Inter/static/Inter_28pt-ExtraLight.ttf
new file mode 100644
index 000000000..d42b3f54d
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-ExtraLight.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf
new file mode 100644
index 000000000..90e2f20cb
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Italic.ttf b/src/public/fonts/Inter/static/Inter_28pt-Italic.ttf
new file mode 100644
index 000000000..c2a143ac2
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Italic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Light.ttf b/src/public/fonts/Inter/static/Inter_28pt-Light.ttf
new file mode 100644
index 000000000..5eeff3a59
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Light.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-LightItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-LightItalic.ttf
new file mode 100644
index 000000000..6b90b7668
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-LightItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Medium.ttf b/src/public/fonts/Inter/static/Inter_28pt-Medium.ttf
new file mode 100644
index 000000000..00120fe72
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Medium.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-MediumItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-MediumItalic.ttf
new file mode 100644
index 000000000..7481e7ba8
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-MediumItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Regular.ttf b/src/public/fonts/Inter/static/Inter_28pt-Regular.ttf
new file mode 100644
index 000000000..855b6f476
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Regular.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-SemiBold.ttf b/src/public/fonts/Inter/static/Inter_28pt-SemiBold.ttf
new file mode 100644
index 000000000..8b84efcf8
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-SemiBold.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf
new file mode 100644
index 000000000..2e22c5ac2
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-Thin.ttf b/src/public/fonts/Inter/static/Inter_28pt-Thin.ttf
new file mode 100644
index 000000000..94e61089e
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-Thin.ttf differ
diff --git a/src/public/fonts/Inter/static/Inter_28pt-ThinItalic.ttf b/src/public/fonts/Inter/static/Inter_28pt-ThinItalic.ttf
new file mode 100644
index 000000000..d3d44cdb1
Binary files /dev/null and b/src/public/fonts/Inter/static/Inter_28pt-ThinItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf b/src/public/fonts/Noto_Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf
new file mode 100644
index 000000000..e4a0658f0
Binary files /dev/null and b/src/public/fonts/Noto_Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf differ
diff --git a/src/public/fonts/Noto_Sans/NotoSans-VariableFont_wdth,wght.ttf b/src/public/fonts/Noto_Sans/NotoSans-VariableFont_wdth,wght.ttf
new file mode 100644
index 000000000..ceb7b2fed
Binary files /dev/null and b/src/public/fonts/Noto_Sans/NotoSans-VariableFont_wdth,wght.ttf differ
diff --git a/src/public/fonts/Noto_Sans/OFL.txt b/src/public/fonts/Noto_Sans/OFL.txt
new file mode 100644
index 000000000..09f020bb9
--- /dev/null
+++ b/src/public/fonts/Noto_Sans/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2022 The Noto Project Authors (https://github.com/notofonts/latin-greek-cyrillic)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/public/fonts/Noto_Sans/README.txt b/src/public/fonts/Noto_Sans/README.txt
new file mode 100644
index 000000000..aeb63ed3d
--- /dev/null
+++ b/src/public/fonts/Noto_Sans/README.txt
@@ -0,0 +1,136 @@
+Noto Sans Variable Font
+=======================
+
+This download contains Noto Sans as both variable fonts and static fonts.
+
+Noto Sans is a variable font with these axes:
+ wdth
+ wght
+
+This means all the styles are contained in these files:
+ Noto_Sans/NotoSans-VariableFont_wdth,wght.ttf
+ Noto_Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Noto Sans:
+ Noto_Sans/static/NotoSans_ExtraCondensed-Thin.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLight.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Light.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Regular.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Medium.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-SemiBold.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Bold.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBold.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Black.ttf
+ Noto_Sans/static/NotoSans_Condensed-Thin.ttf
+ Noto_Sans/static/NotoSans_Condensed-ExtraLight.ttf
+ Noto_Sans/static/NotoSans_Condensed-Light.ttf
+ Noto_Sans/static/NotoSans_Condensed-Regular.ttf
+ Noto_Sans/static/NotoSans_Condensed-Medium.ttf
+ Noto_Sans/static/NotoSans_Condensed-SemiBold.ttf
+ Noto_Sans/static/NotoSans_Condensed-Bold.ttf
+ Noto_Sans/static/NotoSans_Condensed-ExtraBold.ttf
+ Noto_Sans/static/NotoSans_Condensed-Black.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Thin.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-ExtraLight.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Light.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Regular.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Medium.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-SemiBold.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Bold.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-ExtraBold.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Black.ttf
+ Noto_Sans/static/NotoSans-Thin.ttf
+ Noto_Sans/static/NotoSans-ExtraLight.ttf
+ Noto_Sans/static/NotoSans-Light.ttf
+ Noto_Sans/static/NotoSans-Regular.ttf
+ Noto_Sans/static/NotoSans-Medium.ttf
+ Noto_Sans/static/NotoSans-SemiBold.ttf
+ Noto_Sans/static/NotoSans-Bold.ttf
+ Noto_Sans/static/NotoSans-ExtraBold.ttf
+ Noto_Sans/static/NotoSans-Black.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-ThinItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLightItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-LightItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-Italic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-MediumItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-SemiBoldItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-BoldItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf
+ Noto_Sans/static/NotoSans_ExtraCondensed-BlackItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-ThinItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-ExtraLightItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-LightItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-Italic.ttf
+ Noto_Sans/static/NotoSans_Condensed-MediumItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-SemiBoldItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-BoldItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-ExtraBoldItalic.ttf
+ Noto_Sans/static/NotoSans_Condensed-BlackItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-ThinItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-ExtraLightItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-LightItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-Italic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-MediumItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-SemiBoldItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-BoldItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-ExtraBoldItalic.ttf
+ Noto_Sans/static/NotoSans_SemiCondensed-BlackItalic.ttf
+ Noto_Sans/static/NotoSans-ThinItalic.ttf
+ Noto_Sans/static/NotoSans-ExtraLightItalic.ttf
+ Noto_Sans/static/NotoSans-LightItalic.ttf
+ Noto_Sans/static/NotoSans-Italic.ttf
+ Noto_Sans/static/NotoSans-MediumItalic.ttf
+ Noto_Sans/static/NotoSans-SemiBoldItalic.ttf
+ Noto_Sans/static/NotoSans-BoldItalic.ttf
+ Noto_Sans/static/NotoSans-ExtraBoldItalic.ttf
+ Noto_Sans/static/NotoSans-BlackItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Black.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Black.ttf
new file mode 100644
index 000000000..3e3f99a73
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Black.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-BlackItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-BlackItalic.ttf
new file mode 100644
index 000000000..b9ceb5dda
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-BlackItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Bold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Bold.ttf
new file mode 100644
index 000000000..c4c4b1ee4
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Bold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-BoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-BoldItalic.ttf
new file mode 100644
index 000000000..e6b2ac3db
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-BoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBold.ttf
new file mode 100644
index 000000000..fcb880636
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..1c925c3c3
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLight.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLight.ttf
new file mode 100644
index 000000000..19f1ceb69
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLight.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLightItalic.ttf
new file mode 100644
index 000000000..bdb26128a
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Italic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Italic.ttf
new file mode 100644
index 000000000..d71d481fa
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Italic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Light.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Light.ttf
new file mode 100644
index 000000000..c30b617a4
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Light.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-LightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-LightItalic.ttf
new file mode 100644
index 000000000..970c40d50
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-LightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Medium.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Medium.ttf
new file mode 100644
index 000000000..ccf6f01b6
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Medium.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-MediumItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-MediumItalic.ttf
new file mode 100644
index 000000000..fa237fcd0
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-MediumItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Regular.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Regular.ttf
new file mode 100644
index 000000000..9b4f9dbb3
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Regular.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-SemiBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-SemiBold.ttf
new file mode 100644
index 000000000..5c54f6cdf
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-SemiBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-SemiBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-SemiBoldItalic.ttf
new file mode 100644
index 000000000..762f83658
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-Thin.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-Thin.ttf
new file mode 100644
index 000000000..82220637e
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-Thin.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans-ThinItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans-ThinItalic.ttf
new file mode 100644
index 000000000..2a1168861
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans-ThinItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Black.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Black.ttf
new file mode 100644
index 000000000..2fdfc1bcc
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Black.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BlackItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BlackItalic.ttf
new file mode 100644
index 000000000..8092d06f7
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BlackItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Bold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Bold.ttf
new file mode 100644
index 000000000..35932b693
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Bold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BoldItalic.ttf
new file mode 100644
index 000000000..0adcf7eb9
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-BoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBold.ttf
new file mode 100644
index 000000000..0448ffe5e
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..e50a5280e
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLight.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLight.ttf
new file mode 100644
index 000000000..1d6e0a062
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLight.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLightItalic.ttf
new file mode 100644
index 000000000..c8a16ebf8
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Italic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Italic.ttf
new file mode 100644
index 000000000..89ede74c4
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Italic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Light.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Light.ttf
new file mode 100644
index 000000000..0ca97d05b
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Light.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-LightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-LightItalic.ttf
new file mode 100644
index 000000000..2e7718f2a
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-LightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Medium.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Medium.ttf
new file mode 100644
index 000000000..5c7978f2d
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Medium.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-MediumItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-MediumItalic.ttf
new file mode 100644
index 000000000..4b2bca434
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-MediumItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Regular.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Regular.ttf
new file mode 100644
index 000000000..fcbd0fb3b
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Regular.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBold.ttf
new file mode 100644
index 000000000..453d89a5c
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBoldItalic.ttf
new file mode 100644
index 000000000..9dbecc530
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Thin.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Thin.ttf
new file mode 100644
index 000000000..c4fd95883
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-Thin.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ThinItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ThinItalic.ttf
new file mode 100644
index 000000000..d65cfc807
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_Condensed-ThinItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Black.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Black.ttf
new file mode 100644
index 000000000..d339a3a9b
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Black.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BlackItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BlackItalic.ttf
new file mode 100644
index 000000000..4ac8b5286
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BlackItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Bold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Bold.ttf
new file mode 100644
index 000000000..2dbf7098a
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Bold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BoldItalic.ttf
new file mode 100644
index 000000000..3bc2d64cf
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-BoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBold.ttf
new file mode 100644
index 000000000..6a74a88d5
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..ba978e9d2
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLight.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLight.ttf
new file mode 100644
index 000000000..0f1c0f9db
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLight.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLightItalic.ttf
new file mode 100644
index 000000000..441b349f7
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Italic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Italic.ttf
new file mode 100644
index 000000000..7a0b6309e
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Italic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Light.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Light.ttf
new file mode 100644
index 000000000..6c9ddeda1
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Light.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-LightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-LightItalic.ttf
new file mode 100644
index 000000000..05b12b940
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-LightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Medium.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Medium.ttf
new file mode 100644
index 000000000..d8737caf5
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Medium.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-MediumItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-MediumItalic.ttf
new file mode 100644
index 000000000..6c57a8aca
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-MediumItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Regular.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Regular.ttf
new file mode 100644
index 000000000..1ad3d1439
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Regular.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBold.ttf
new file mode 100644
index 000000000..cc663cdfa
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBoldItalic.ttf
new file mode 100644
index 000000000..5b19db683
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Thin.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Thin.ttf
new file mode 100644
index 000000000..0b605ac2b
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-Thin.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ThinItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ThinItalic.ttf
new file mode 100644
index 000000000..533a10e4a
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_ExtraCondensed-ThinItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Black.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Black.ttf
new file mode 100644
index 000000000..b9a7052ee
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Black.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BlackItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BlackItalic.ttf
new file mode 100644
index 000000000..6e706f949
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BlackItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Bold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Bold.ttf
new file mode 100644
index 000000000..73aa1fe13
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Bold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BoldItalic.ttf
new file mode 100644
index 000000000..f32d25c56
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-BoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBold.ttf
new file mode 100644
index 000000000..c7c8d43b8
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..f7fb19f2a
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLight.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLight.ttf
new file mode 100644
index 000000000..0b393146d
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLight.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLightItalic.ttf
new file mode 100644
index 000000000..b53e45a06
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Italic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Italic.ttf
new file mode 100644
index 000000000..13ea866be
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Italic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Light.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Light.ttf
new file mode 100644
index 000000000..78e816f78
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Light.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-LightItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-LightItalic.ttf
new file mode 100644
index 000000000..9c579eea0
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-LightItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Medium.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Medium.ttf
new file mode 100644
index 000000000..6cadb30b1
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Medium.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-MediumItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-MediumItalic.ttf
new file mode 100644
index 000000000..d0958164d
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-MediumItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Regular.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Regular.ttf
new file mode 100644
index 000000000..e39c8ebea
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Regular.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBold.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBold.ttf
new file mode 100644
index 000000000..a3c674b53
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBold.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBoldItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBoldItalic.ttf
new file mode 100644
index 000000000..ea02c7e04
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Thin.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Thin.ttf
new file mode 100644
index 000000000..78816dc51
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-Thin.ttf differ
diff --git a/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ThinItalic.ttf b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ThinItalic.ttf
new file mode 100644
index 000000000..1cd84aed4
Binary files /dev/null and b/src/public/fonts/Noto_Sans/static/NotoSans_SemiCondensed-ThinItalic.ttf differ
diff --git a/src/public/fonts/Nunito/Nunito-Italic-VariableFont_wght.ttf b/src/public/fonts/Nunito/Nunito-Italic-VariableFont_wght.ttf
new file mode 100644
index 000000000..08ec228a7
Binary files /dev/null and b/src/public/fonts/Nunito/Nunito-Italic-VariableFont_wght.ttf differ
diff --git a/src/public/fonts/Nunito/Nunito-VariableFont_wght.ttf b/src/public/fonts/Nunito/Nunito-VariableFont_wght.ttf
new file mode 100644
index 000000000..0a00f63fe
Binary files /dev/null and b/src/public/fonts/Nunito/Nunito-VariableFont_wght.ttf differ
diff --git a/src/public/fonts/Nunito/OFL.txt b/src/public/fonts/Nunito/OFL.txt
new file mode 100644
index 000000000..8f5b7e218
--- /dev/null
+++ b/src/public/fonts/Nunito/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2014 The Nunito Project Authors (https://github.com/googlefonts/nunito)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/public/fonts/Nunito/README.txt b/src/public/fonts/Nunito/README.txt
new file mode 100644
index 000000000..0935d13bf
--- /dev/null
+++ b/src/public/fonts/Nunito/README.txt
@@ -0,0 +1,79 @@
+Nunito Variable Font
+====================
+
+This download contains Nunito as both variable fonts and static fonts.
+
+Nunito is a variable font with this axis:
+ wght
+
+This means all the styles are contained in these files:
+ Nunito/Nunito-VariableFont_wght.ttf
+ Nunito/Nunito-Italic-VariableFont_wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Nunito:
+ Nunito/static/Nunito-ExtraLight.ttf
+ Nunito/static/Nunito-Light.ttf
+ Nunito/static/Nunito-Regular.ttf
+ Nunito/static/Nunito-Medium.ttf
+ Nunito/static/Nunito-SemiBold.ttf
+ Nunito/static/Nunito-Bold.ttf
+ Nunito/static/Nunito-ExtraBold.ttf
+ Nunito/static/Nunito-Black.ttf
+ Nunito/static/Nunito-ExtraLightItalic.ttf
+ Nunito/static/Nunito-LightItalic.ttf
+ Nunito/static/Nunito-Italic.ttf
+ Nunito/static/Nunito-MediumItalic.ttf
+ Nunito/static/Nunito-SemiBoldItalic.ttf
+ Nunito/static/Nunito-BoldItalic.ttf
+ Nunito/static/Nunito-ExtraBoldItalic.ttf
+ Nunito/static/Nunito-BlackItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/src/public/fonts/Nunito/static/Nunito-Black.ttf b/src/public/fonts/Nunito/static/Nunito-Black.ttf
new file mode 100644
index 000000000..81d557c5b
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Black.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-BlackItalic.ttf b/src/public/fonts/Nunito/static/Nunito-BlackItalic.ttf
new file mode 100644
index 000000000..b4ba5a1fd
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-BlackItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-Bold.ttf b/src/public/fonts/Nunito/static/Nunito-Bold.ttf
new file mode 100644
index 000000000..886134dcf
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Bold.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-BoldItalic.ttf b/src/public/fonts/Nunito/static/Nunito-BoldItalic.ttf
new file mode 100644
index 000000000..0cb4efae9
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-BoldItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-ExtraBold.ttf b/src/public/fonts/Nunito/static/Nunito-ExtraBold.ttf
new file mode 100644
index 000000000..711765e6e
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-ExtraBold.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-ExtraBoldItalic.ttf b/src/public/fonts/Nunito/static/Nunito-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..bffce10eb
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-ExtraLight.ttf b/src/public/fonts/Nunito/static/Nunito-ExtraLight.ttf
new file mode 100644
index 000000000..d9eabf95e
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-ExtraLight.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-ExtraLightItalic.ttf b/src/public/fonts/Nunito/static/Nunito-ExtraLightItalic.ttf
new file mode 100644
index 000000000..2037f4a78
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-Italic.ttf b/src/public/fonts/Nunito/static/Nunito-Italic.ttf
new file mode 100644
index 000000000..f4ab11496
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Italic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-Light.ttf b/src/public/fonts/Nunito/static/Nunito-Light.ttf
new file mode 100644
index 000000000..e64c0fef6
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Light.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-LightItalic.ttf b/src/public/fonts/Nunito/static/Nunito-LightItalic.ttf
new file mode 100644
index 000000000..b465e5a22
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-LightItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-Medium.ttf b/src/public/fonts/Nunito/static/Nunito-Medium.ttf
new file mode 100644
index 000000000..e24c1d61a
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Medium.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-MediumItalic.ttf b/src/public/fonts/Nunito/static/Nunito-MediumItalic.ttf
new file mode 100644
index 000000000..6fec09572
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-MediumItalic.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-Regular.ttf b/src/public/fonts/Nunito/static/Nunito-Regular.ttf
new file mode 100644
index 000000000..9411bfbe9
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-Regular.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-SemiBold.ttf b/src/public/fonts/Nunito/static/Nunito-SemiBold.ttf
new file mode 100644
index 000000000..1326a7dcf
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-SemiBold.ttf differ
diff --git a/src/public/fonts/Nunito/static/Nunito-SemiBoldItalic.ttf b/src/public/fonts/Nunito/static/Nunito-SemiBoldItalic.ttf
new file mode 100644
index 000000000..d20e95f7b
Binary files /dev/null and b/src/public/fonts/Nunito/static/Nunito-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu/UFL.txt b/src/public/fonts/Ubuntu/UFL.txt
new file mode 100644
index 000000000..6e722c88d
--- /dev/null
+++ b/src/public/fonts/Ubuntu/UFL.txt
@@ -0,0 +1,96 @@
+-------------------------------
+UBUNTU FONT LICENCE Version 1.0
+-------------------------------
+
+PREAMBLE
+This licence allows the licensed fonts to be used, studied, modified and
+redistributed freely. The fonts, including any derivative works, can be
+bundled, embedded, and redistributed provided the terms of this licence
+are met. The fonts and derivatives, however, cannot be released under
+any other licence. The requirement for fonts to remain under this
+licence does not require any document created using the fonts or their
+derivatives to be published under this licence, as long as the primary
+purpose of the document is not to be a vehicle for the distribution of
+the fonts.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this licence and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Original Version" refers to the collection of Font Software components
+as received under this licence.
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to
+a new environment.
+
+"Copyright Holder(s)" refers to all individuals and companies who have a
+copyright ownership of the Font Software.
+
+"Substantially Changed" refers to Modified Versions which can be easily
+identified as dissimilar to the Font Software by users of the Font
+Software comparing the Original Version with the Modified Version.
+
+To "Propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification and with or without charging
+a redistribution fee), making available to the public, and in some
+countries other activities as well.
+
+PERMISSION & CONDITIONS
+This licence does not grant any rights under trademark law and all such
+rights are reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of the Font Software, to propagate the Font Software, subject to
+the below conditions:
+
+1) Each copy of the Font Software must contain the above copyright
+notice and this licence. These can be included either as stand-alone
+text files, human-readable headers or in the appropriate machine-
+readable metadata fields within text or binary files as long as those
+fields can be easily viewed by the user.
+
+2) The font name complies with the following:
+(a) The Original Version must retain its name, unmodified.
+(b) Modified Versions which are Substantially Changed must be renamed to
+avoid use of the name of the Original Version or similar names entirely.
+(c) Modified Versions which are not Substantially Changed must be
+renamed to both (i) retain the name of the Original Version and (ii) add
+additional naming elements to distinguish the Modified Version from the
+Original Version. The name of such Modified Versions must be the name of
+the Original Version, with "derivative X" where X represents the name of
+the new work, appended to that name.
+
+3) The name(s) of the Copyright Holder(s) and any contributor to the
+Font Software shall not be used to promote, endorse or advertise any
+Modified Version, except (i) as required by this licence, (ii) to
+acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
+their explicit written permission.
+
+4) The Font Software, modified or unmodified, in part or in whole, must
+be distributed entirely under this licence, and must not be distributed
+under any other licence. The requirement for fonts to remain under this
+licence does not affect any document created using the Font Software,
+except any version of the Font Software extracted from a document
+created using the Font Software may only be distributed under this
+licence.
+
+TERMINATION
+This licence becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
+DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/public/fonts/Ubuntu/Ubuntu-Bold.ttf b/src/public/fonts/Ubuntu/Ubuntu-Bold.ttf
new file mode 100644
index 000000000..c2293d5c8
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-Bold.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-BoldItalic.ttf b/src/public/fonts/Ubuntu/Ubuntu-BoldItalic.ttf
new file mode 100644
index 000000000..ce6e784df
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-BoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-Italic.ttf b/src/public/fonts/Ubuntu/Ubuntu-Italic.ttf
new file mode 100644
index 000000000..a599244e7
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-Italic.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-Light.ttf b/src/public/fonts/Ubuntu/Ubuntu-Light.ttf
new file mode 100644
index 000000000..b310d150b
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-Light.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-LightItalic.ttf b/src/public/fonts/Ubuntu/Ubuntu-LightItalic.ttf
new file mode 100644
index 000000000..ad0741b4a
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-LightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-Medium.ttf b/src/public/fonts/Ubuntu/Ubuntu-Medium.ttf
new file mode 100644
index 000000000..7340a40aa
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-Medium.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-MediumItalic.ttf b/src/public/fonts/Ubuntu/Ubuntu-MediumItalic.ttf
new file mode 100644
index 000000000..36ac1aed6
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-MediumItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu/Ubuntu-Regular.ttf b/src/public/fonts/Ubuntu/Ubuntu-Regular.ttf
new file mode 100644
index 000000000..f98a2dab8
Binary files /dev/null and b/src/public/fonts/Ubuntu/Ubuntu-Regular.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/README.txt b/src/public/fonts/Ubuntu_Sans/README.txt
new file mode 100644
index 000000000..1b45b9143
--- /dev/null
+++ b/src/public/fonts/Ubuntu_Sans/README.txt
@@ -0,0 +1,112 @@
+Ubuntu Sans Variable Font
+=========================
+
+This download contains Ubuntu Sans as both variable fonts and static fonts.
+
+Ubuntu Sans is a variable font with these axes:
+ wdth
+ wght
+
+This means all the styles are contained in these files:
+ Ubuntu_Sans/UbuntuSans-VariableFont_wdth,wght.ttf
+ Ubuntu_Sans/UbuntuSans-Italic-VariableFont_wdth,wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Ubuntu Sans:
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Thin.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLight.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Light.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Regular.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Medium.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBold.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Bold.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBold.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Thin.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLight.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Light.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Regular.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Medium.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBold.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Bold.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBold.ttf
+ Ubuntu_Sans/static/UbuntuSans-Thin.ttf
+ Ubuntu_Sans/static/UbuntuSans-ExtraLight.ttf
+ Ubuntu_Sans/static/UbuntuSans-Light.ttf
+ Ubuntu_Sans/static/UbuntuSans-Regular.ttf
+ Ubuntu_Sans/static/UbuntuSans-Medium.ttf
+ Ubuntu_Sans/static/UbuntuSans-SemiBold.ttf
+ Ubuntu_Sans/static/UbuntuSans-Bold.ttf
+ Ubuntu_Sans/static/UbuntuSans-ExtraBold.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-ThinItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-LightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-Italic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-MediumItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-BoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ThinItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-LightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Italic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-MediumItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-BoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-ThinItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-ExtraLightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-LightItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-Italic.ttf
+ Ubuntu_Sans/static/UbuntuSans-MediumItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-SemiBoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-BoldItalic.ttf
+ Ubuntu_Sans/static/UbuntuSans-ExtraBoldItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (UFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/src/public/fonts/Ubuntu_Sans/UFL.txt b/src/public/fonts/Ubuntu_Sans/UFL.txt
new file mode 100644
index 000000000..6e722c88d
--- /dev/null
+++ b/src/public/fonts/Ubuntu_Sans/UFL.txt
@@ -0,0 +1,96 @@
+-------------------------------
+UBUNTU FONT LICENCE Version 1.0
+-------------------------------
+
+PREAMBLE
+This licence allows the licensed fonts to be used, studied, modified and
+redistributed freely. The fonts, including any derivative works, can be
+bundled, embedded, and redistributed provided the terms of this licence
+are met. The fonts and derivatives, however, cannot be released under
+any other licence. The requirement for fonts to remain under this
+licence does not require any document created using the fonts or their
+derivatives to be published under this licence, as long as the primary
+purpose of the document is not to be a vehicle for the distribution of
+the fonts.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this licence and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Original Version" refers to the collection of Font Software components
+as received under this licence.
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to
+a new environment.
+
+"Copyright Holder(s)" refers to all individuals and companies who have a
+copyright ownership of the Font Software.
+
+"Substantially Changed" refers to Modified Versions which can be easily
+identified as dissimilar to the Font Software by users of the Font
+Software comparing the Original Version with the Modified Version.
+
+To "Propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification and with or without charging
+a redistribution fee), making available to the public, and in some
+countries other activities as well.
+
+PERMISSION & CONDITIONS
+This licence does not grant any rights under trademark law and all such
+rights are reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of the Font Software, to propagate the Font Software, subject to
+the below conditions:
+
+1) Each copy of the Font Software must contain the above copyright
+notice and this licence. These can be included either as stand-alone
+text files, human-readable headers or in the appropriate machine-
+readable metadata fields within text or binary files as long as those
+fields can be easily viewed by the user.
+
+2) The font name complies with the following:
+(a) The Original Version must retain its name, unmodified.
+(b) Modified Versions which are Substantially Changed must be renamed to
+avoid use of the name of the Original Version or similar names entirely.
+(c) Modified Versions which are not Substantially Changed must be
+renamed to both (i) retain the name of the Original Version and (ii) add
+additional naming elements to distinguish the Modified Version from the
+Original Version. The name of such Modified Versions must be the name of
+the Original Version, with "derivative X" where X represents the name of
+the new work, appended to that name.
+
+3) The name(s) of the Copyright Holder(s) and any contributor to the
+Font Software shall not be used to promote, endorse or advertise any
+Modified Version, except (i) as required by this licence, (ii) to
+acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
+their explicit written permission.
+
+4) The Font Software, modified or unmodified, in part or in whole, must
+be distributed entirely under this licence, and must not be distributed
+under any other licence. The requirement for fonts to remain under this
+licence does not affect any document created using the Font Software,
+except any version of the Font Software extracted from a document
+created using the Font Software may only be distributed under this
+licence.
+
+TERMINATION
+This licence becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
+COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
+DEALINGS IN THE FONT SOFTWARE.
diff --git a/src/public/fonts/Ubuntu_Sans/UbuntuSans-Italic-VariableFont_wdth,wght.ttf b/src/public/fonts/Ubuntu_Sans/UbuntuSans-Italic-VariableFont_wdth,wght.ttf
new file mode 100644
index 000000000..d964bd251
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/UbuntuSans-Italic-VariableFont_wdth,wght.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/UbuntuSans-VariableFont_wdth,wght.ttf b/src/public/fonts/Ubuntu_Sans/UbuntuSans-VariableFont_wdth,wght.ttf
new file mode 100644
index 000000000..0f8b94fe5
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/UbuntuSans-VariableFont_wdth,wght.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Bold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Bold.ttf
new file mode 100644
index 000000000..94f2142d4
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Bold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-BoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-BoldItalic.ttf
new file mode 100644
index 000000000..c627f6009
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-BoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBold.ttf
new file mode 100644
index 000000000..b6ebd9c97
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..0d2de88a8
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLight.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLight.ttf
new file mode 100644
index 000000000..de71460be
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLight.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLightItalic.ttf
new file mode 100644
index 000000000..8b28b35c1
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Italic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Italic.ttf
new file mode 100644
index 000000000..7bac9dbf7
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Italic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Light.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Light.ttf
new file mode 100644
index 000000000..54299d38b
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Light.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-LightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-LightItalic.ttf
new file mode 100644
index 000000000..ba8a6ca3a
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-LightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Medium.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Medium.ttf
new file mode 100644
index 000000000..987e815a0
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Medium.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-MediumItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-MediumItalic.ttf
new file mode 100644
index 000000000..53658cb78
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-MediumItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Regular.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Regular.ttf
new file mode 100644
index 000000000..d972bdc06
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Regular.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBold.ttf
new file mode 100644
index 000000000..e7b0b27e7
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBoldItalic.ttf
new file mode 100644
index 000000000..eadd86298
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Thin.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Thin.ttf
new file mode 100644
index 000000000..8e2e75007
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-Thin.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ThinItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ThinItalic.ttf
new file mode 100644
index 000000000..b005d6ad8
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans-ThinItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Bold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Bold.ttf
new file mode 100644
index 000000000..6890cfc34
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Bold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-BoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-BoldItalic.ttf
new file mode 100644
index 000000000..58566b088
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-BoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBold.ttf
new file mode 100644
index 000000000..e390f2eac
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..3b7707a0c
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLight.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLight.ttf
new file mode 100644
index 000000000..69ad3bc41
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLight.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLightItalic.ttf
new file mode 100644
index 000000000..1986037ce
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Italic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Italic.ttf
new file mode 100644
index 000000000..d0583d125
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Italic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Light.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Light.ttf
new file mode 100644
index 000000000..e3011559e
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Light.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-LightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-LightItalic.ttf
new file mode 100644
index 000000000..c97b0703b
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-LightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Medium.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Medium.ttf
new file mode 100644
index 000000000..514b7f423
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Medium.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-MediumItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-MediumItalic.ttf
new file mode 100644
index 000000000..0384dc3ca
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-MediumItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Regular.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Regular.ttf
new file mode 100644
index 000000000..c99a26cd8
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Regular.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBold.ttf
new file mode 100644
index 000000000..ff2c303a6
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBoldItalic.ttf
new file mode 100644
index 000000000..79cf40a49
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Thin.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Thin.ttf
new file mode 100644
index 000000000..bc0cf575d
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-Thin.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ThinItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ThinItalic.ttf
new file mode 100644
index 000000000..9dcad4bbd
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_Condensed-ThinItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Bold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Bold.ttf
new file mode 100644
index 000000000..917b40880
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Bold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-BoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-BoldItalic.ttf
new file mode 100644
index 000000000..02f9dd394
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-BoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBold.ttf
new file mode 100644
index 000000000..465628a80
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBoldItalic.ttf
new file mode 100644
index 000000000..850dc733f
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLight.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLight.ttf
new file mode 100644
index 000000000..176795353
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLight.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLightItalic.ttf
new file mode 100644
index 000000000..587261953
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ExtraLightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Italic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Italic.ttf
new file mode 100644
index 000000000..6009cce59
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Italic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Light.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Light.ttf
new file mode 100644
index 000000000..d76f4849c
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Light.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-LightItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-LightItalic.ttf
new file mode 100644
index 000000000..ad1074ae4
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-LightItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Medium.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Medium.ttf
new file mode 100644
index 000000000..91b9fbbde
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Medium.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-MediumItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-MediumItalic.ttf
new file mode 100644
index 000000000..2ad85643e
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-MediumItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Regular.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Regular.ttf
new file mode 100644
index 000000000..22b011e1a
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Regular.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBold.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBold.ttf
new file mode 100644
index 000000000..2eb97e896
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBold.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBoldItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBoldItalic.ttf
new file mode 100644
index 000000000..856a6b7fb
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-SemiBoldItalic.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Thin.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Thin.ttf
new file mode 100644
index 000000000..aef88ddfb
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-Thin.ttf differ
diff --git a/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ThinItalic.ttf b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ThinItalic.ttf
new file mode 100644
index 000000000..a86b5711f
Binary files /dev/null and b/src/public/fonts/Ubuntu_Sans/static/UbuntuSans_SemiCondensed-ThinItalic.ttf differ
diff --git a/src/public/stylesheets/style.css b/src/public/stylesheets/style.css
index 4bc65baa4..97d24ec1e 100644
--- a/src/public/stylesheets/style.css
+++ b/src/public/stylesheets/style.css
@@ -859,56 +859,6 @@ a.external:not(.no-arrow):after, a[href^="http://"]:not(.no-arrow):after, a[href
vertical-align: baseline !important;
}
-.ck-content pre {
- border: 0;
- border-radius: 6px;
- box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.2);
- padding: 0 !important;
- margin-top: 2px !important;
- overflow: unset;
-}
-
-html .note-detail-editable-text :not(figure, .include-note):first-child {
- /* Create some space for the top-side shadow */
- margin-top: 1px !important;
-}
-
-.ck.ck-editor__editable pre[data-language]::after {
- --ck-color-code-block-label-background: rgba(128, 128, 128, .5);
- border-radius: 0 0 5px 5px;
- padding: 0px 10px;
- letter-spacing: .5px;
- font-weight: bold;
-}
-
-.ck-content pre code {
- display: block;
- padding: 1em;
- overflow: auto;
-}
-
-.ck-content pre code::-webkit-scrollbar {
- height: 6px;
-}
-
-.ck-content pre code::-webkit-scrollbar-thumb {
- height: 4px;
- border: none !important;
- background: gray !important;
-}
-
-.ck-content pre code::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb {
- cursor: default;
-}
-
-.note-detail-printable:not(.word-wrap) pre code {
- white-space: pre;
- margin-right: 1em;
-}
-
-.code-sample-wrapper .hljs {
- transition: background-color linear 100ms;
-}
.side-checkbox {
display: flex;
diff --git a/src/public/stylesheets/theme-next.css b/src/public/stylesheets/theme-next.css
new file mode 100644
index 000000000..b0661215e
--- /dev/null
+++ b/src/public/stylesheets/theme-next.css
@@ -0,0 +1,911 @@
+@font-face {
+ font-family: "Noto Sans";
+ src: url(../fonts/Noto_Sans/NotoSans-VariableFont_wdth\,wght.ttf);
+}
+
+@font-face {
+ font-family: "Ubuntu Sans";
+ src: url(../fonts/Ubuntu_Sans/UbuntuSans-VariableFont_wdth\,wght.ttf);
+}
+
+@font-face {
+ font-family: "Nunito";
+ src: url(../fonts/Nunito/Nunito-VariableFont_wght.ttf);
+}
+
+@font-face {
+ font-family: "Inter";
+ src: url(../fonts/Inter/Inter-VariableFont_opsz\,wght.ttf);
+}
+
+:root {
+ /* --main-font-family: "Noto Sans", sans-serif; */
+ --main-font-family: "Ubuntu Sans", sans-serif;
+ /* --main-font-family: "Ubuntu", sans-serif; */
+ /* --main-font-family: "Nunito", sans-serif; */
+ /* --main-font-family: "Inter", sans-serif; */
+
+ --main-font-size: normal;
+
+ --tree-font-family: var(--main-font-family);
+ --tree-font-size: normal;
+
+ --detail-font-family: var(--main-font-family);
+ --detail-font-size: normal;
+
+ --monospace-font-family: JetBrainsLight;
+ --monospace-font-size: normal;
+
+ --left-pane-item-selected-shadow-size: 2px;
+
+ --launcher-pane-size: 58px;
+ --launcher-pane-button-margin: 6px;
+ --launcher-pane-button-gap: 3px;
+
+ --tab-bar-height: 50px;
+ --tab-height: 36px;
+ --tab-first-item-horiz-offset: 1px;
+ --new-tab-button-size: 24px;
+
+ --center-pane-border-radius: 10px;
+
+ --menu-padding-size: 8px;
+ --menu-item-icon-vert-offset: 0;
+}
+
+/*
+ * THEME COLORS
+ */
+
+/*
+ * Light theme scheme
+ */
+:root {
+ --theme-style: light;
+
+ --main-background-color: white;
+ --main-text-color: black;
+ --main-border-color: #ccc;
+ --dropdown-border-color: #ccc;
+ --dropdown-shadow-opacity: .2;
+ --dropdown-item-icon-destructive-color: #ec5138;
+ --disabled-tooltip-icon-color: #004382;
+
+ --accented-background-color: #f5f5f5;
+ --more-accented-background-color: #ddd;
+
+ --button-background-color: transparent;
+ --button-border-color: #ddd;
+ --button-text-color: black;
+ --button-border-radius: 5px;
+ --button-disabled-background-color: #ddd;
+ --button-disabled-text-color: black;
+
+ --primary-button-background-color: #6c757d;
+ --primary-button-text-color: white;
+ --primary-button-border-color: #6c757d;
+
+ --muted-text-color: #666;
+
+ --input-text-color: black;
+ --input-background-color: transparent;
+
+ --hover-item-text-color: black;
+ --hover-item-background-color: #0000001a;
+ --hover-item-border-color: transparent;
+
+ --active-item-text-color: black;
+ --active-item-background-color: #ddd;
+ --active-item-border-color: transparent;
+
+ --menu-text-color: #272727;
+ --menu-background-color: #ffffffd9;
+ --menu-item-icon-color: #505050;
+ --menu-item-disabled-opacity: .5;
+ --menu-item-keyboard-shortcut-color: #666666a8;
+ --menu-item-arrow-color: #00000080;
+ --menu-item-delimiter-color: #00000030;
+
+ --modal-background-color: white;
+ --modal-backdrop-color: black;
+
+ --quick-search-background: #00000012;
+ --quick-search-color: #06060682;
+ --quick-search-hover-background: #00000020;
+ --quick-search-focus-border: #00000029;
+ --quick-search-focus-background: #ffffff80;
+ --quick-search-focus-color: #000;
+
+ --left-pane-collapsed-border-color: #0000000d;
+ --left-pane-background-color: #f2f2f2;
+ --left-pane-text-color: #383838;
+ --left-pane-item-hover-background: #eaeaea;
+ --left-pane-item-selected-background: white;
+ --left-pane-item-selected-color: black;
+ --left-pane-item-selected-shadow: 1px 1px 2px rgba(0, 0, 0, .2);
+ --left-pane-item-action-button-background: #d7d7d7;
+ --left-pane-item-action-button-color: inherit;
+ --left-pane-item-action-button-hover-background: white;
+ --left-pane-item-action-button-hover-shadow: 2px 2px 3px rgba(0, 0, 0, .15);
+ --left-pane-item-selected-action-button-hover-shadow: 2px 2px 10px rgba(0, 0, 0, .25);
+
+ --launcher-pane-background-color: #e8e8e8;
+ --launcher-pane-text-color: #464646;
+ --launcher-pane-button-hover-color: black;
+ --launcher-pane-button-hover-background: white;
+ --launcher-pane-button-hover-shadow: 4px 4px 4px rgba(0, 0, 0, .075);
+
+ --root-background: var(--left-pane-background-color);
+
+ --gutter-color: transparent;
+ --gutter-hover-color: #bfbfbf;
+
+ --tab-close-button-hover-background: #c95a5a;
+ --tab-close-button-hover-color: white;
+
+ --active-tab-background-color: white;
+ --active-tab-hover-background-color: var(--active-tab-background-color);
+ --active-tab-text-color: black;
+ --active-tab-shadow: 3px 3px 6px rgba(0, 0, 0, .1), -1px -1px 3px rgba(0, 0, 0, .05);
+ --active-tab-dragging-shadow: var(--active-tab-shadow), 0 0 20px rgba(0, 0, 0, .1);
+
+ --inactive-tab-background-color: transparent;
+ --inactive-tab-hover-background-color: #00000016;
+ --inactive-tab-text-color: #4e4e4e;
+
+ --new-tab-button-background: #d8d8d8;
+ --new-tab-button-color: #3a3a3a;
+ --new-tab-button-shadow: 2px 2px 4px rgba(0, 0, 0, .2);
+ --new-tab-button-hover-background: white;
+ --new-tab-button-hover-color: black;
+
+ --right-pane-item-hover-background: #ececec;
+ --right-pane-item-hover-color: inherit;
+
+ --scrollbar-border-color: #ddd;
+ --scrollbar-background-color: #ddd;
+ --tooltip-background-color: #f8f8f8;
+ --link-color: blue;
+
+ --mermaid-theme: default;
+
+ --code-block-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1), 0px 0px 2px rgba(0, 0, 0, 0.2);
+}
+
+/*
+ * Dark color scheme
+ */
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --theme-style: dark;
+
+ --main-background-color: #333;
+ --main-text-color: #ccc;
+ --main-border-color: #aaa;
+ --dropdown-border-color: #555;
+ --dropdown-shadow-opacity: .6;
+ --dropdown-item-icon-destructive-color: #de6e5b;
+ --disabled-tooltip-icon-color: #7fd2ef;
+
+
+ --accented-background-color: #555;
+ --more-accented-background-color: #777;
+
+ --button-background-color: transparent;
+ --button-border-color: #ccc;
+ --button-text-color: currentColor;
+ --button-border-radius: 5px;
+ --button-disabled-background-color: transparent;
+ --button-disabled-text-color: #999;
+
+ --primary-button-background-color: #888;
+ --primary-button-text-color: white;
+ --primary-button-border-color: #999;
+
+ --muted-text-color: #bbb;
+
+ --input-text-color: #ccc;
+ --input-background-color: #333;
+
+ --hover-item-text-color: #efefef;
+ --hover-item-background-color: #ffffff24;
+ --hover-item-border-color: transparent;
+
+ --active-item-text-color: black;
+ --active-item-background-color: #777;
+ --active-item-border-color: transparent;
+
+ --new-tab-button-background: #fff0;
+ --new-tab-button-color: #ffffff96;
+ --new-tab-button-shadow: 2px 2px 4px rgba(0, 0, 0, .4);
+ --new-tab-button-hover-background: #fff3;
+ --new-tab-button-hover-color: white;
+
+ --menu-text-color: #e3e3e3;
+ --menu-background-color: #222222d9;
+ --menu-item-icon-color: #8c8c8c;
+ --menu-item-disabled-opacity: .5;
+ --menu-item-keyboard-shortcut-color: #ffffff8f;
+ --menu-item-arrow-color: #ffffffa3;
+ --menu-item-delimiter-color: #ffffff1c;
+
+
+ --modal-background-color: #333;
+ --modal-backdrop-color: #444;
+
+ --quick-search-background: #ffffff12;
+ --quick-search-color: #ffffff52;
+ --quick-search-hover-background: #ffffff1f;
+ --quick-search-focus-border: #80808095;
+ --quick-search-focus-background: #ffffff1f;
+ --quick-search-focus-color: white;
+
+ --left-pane-collapsed-border-color: #0009;
+ --left-pane-background-color: #1f1f1f;
+ --left-pane-text-color: #AAAAAA;
+ --left-pane-item-hover-background: #ffffff0d;
+ --left-pane-item-selected-background: #ffffff25;
+ --left-pane-item-selected-color: #dfdfdf;
+ --left-pane-item-selected-shadow: 1px 1px 2px rgba(0, 0, 0, .6);
+ --left-pane-item-action-button-background: #ffffff73;
+ --left-pane-item-action-button-color: black;
+ --left-pane-item-action-button-hover-background: #ffffffad;
+ --left-pane-item-action-button-hover-shadow: 2px 2px 3px rgba(0, 0, 0, .15);
+ --left-pane-item-selected-action-button-hover-shadow: 2px 2px 10px rgba(0, 0, 0, .25);
+
+ --launcher-pane-background-color: #1a1a1a;
+ --launcher-pane-text-color: #909090;
+ --launcher-pane-button-hover-color: #ffffff;
+ --launcher-pane-button-hover-background: #ffffff1c;
+ --launcher-pane-button-hover-shadow: 4px 4px 4px rgba(0, 0, 0, .2);
+
+ --root-background: var(--left-pane-background-color);
+
+ --gutter-color: transparent;
+ --gutter-hover-color: #626262;
+
+ --tab-close-button-hover-background: #a45353;
+ --tab-close-button-hover-color: white;
+
+ --active-tab-background-color: #ffffff1c;
+ --active-tab-hover-background-color: var(--active-tab-background-color);
+ --active-tab-text-color: #ffffffcd;
+ --active-tab-shadow: 3px 3px 6px rgba(0, 0, 0, .2), -1px -1px 3px rgba(0, 0, 0, .4);
+ --active-tab-dragging-shadow: var(--active-tab-shadow), 0 0 20px rgba(0, 0, 0, .4);
+
+ --inactive-tab-background-color: transparent;
+ --inactive-tab-hover-background-color: #ffffff0f;
+ --inactive-tab-text-color: #7c7c7c;
+
+ --right-pane-item-hover-background: #ffffff26;
+ --right-pane-item-hover-color: white;
+
+ --scrollbar-border-color: #666;
+ --scrollbar-background-color: #333;
+ --tooltip-background-color: #333;
+ --link-color: lightskyblue;
+
+ --mermaid-theme: dark;
+
+ --code-block-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
+ }
+
+ body ::-webkit-calendar-picker-indicator {
+ filter: invert(1);
+ }
+
+ body .CodeMirror {
+ filter: invert(90%) hue-rotate(180deg);
+ }
+
+ .excalidraw.theme--dark {
+ --theme-filter: invert(80%) hue-rotate(180deg) !important;
+ }
+
+ body .todo-list input[type="checkbox"]:not(:checked):before {
+ border-color: var(--muted-text-color) !important;
+ }
+
+ .btn-close {
+ filter: invert(1);
+ }
+}
+
+/*
+ * USER INTERFACE
+ */
+
+ @keyframes fade-in {
+ from {
+ opacity: 0;
+ } to {
+ opacity: 1;
+ }
+}
+
+#root-widget {
+ background-color: var(--root-background);
+}
+
+/* Matches when the left pane is collapsed */
+:has(#left-pane.hidden-int) {
+ --center-pane-border-radius: 0;
+ --tab-first-item-horiz-offset: 5px;
+}
+
+:has(#left-pane.hidden-int) #launcher-pane.vertical {
+ border-right: 2px solid var(--left-pane-collapsed-border-color);
+}
+
+/*
+ * Launcher pane
+ */
+
+#launcher-pane.vertical {
+ width: var(--launcher-pane-size) !important;
+ padding-bottom: var(--launcher-pane-button-gap);
+}
+
+#launcher-pane.horizontal {
+ height: var(--launcher-pane-size) !important;
+}
+
+#launcher-pane .launcher-button {
+ width: calc(var(--launcher-pane-size) - (var(--launcher-pane-button-margin) * 2)) !important;
+ height: calc(var(--launcher-pane-size) - (var(--launcher-pane-button-margin) * 2)) !important;
+ margin: var(--launcher-pane-button-gap) var(--launcher-pane-button-margin);
+ padding: 0 !important;
+ border-radius: 8px;
+ transition: background-color 300ms ease-out,
+ color 300ms ease-out,
+ box-shadow 300ms ease-out;
+ cursor: default;
+}
+
+#launcher-pane .launcher-button:active,
+#launcher-pane .launcher-button.show {
+ transform: scale(0.9);
+ transition: transform 50ms linear;
+}
+
+#launcher-pane .launcher-button:hover,
+#launcher-pane .launcher-button.right-dropdown-button.show {
+ background: var(--launcher-pane-button-hover-background);
+ color: var(--launcher-pane-button-hover-color);
+ box-shadow: var(--launcher-pane-button-hover-shadow);
+ transition: background-color 100ms ease-in,
+ color 80ms ease-in,
+ box-shadow 100ms ease-in;
+}
+
+#launcher-pane .global-menu-button {
+ --hover-item-background-color: transparent;
+}
+
+/*
+ * Left pane
+ */
+
+ /* Search Box */
+
+#left-pane .quick-search {
+ --padding-top: 8px;
+ --padding-left: 8px;
+ --padding-right: 8px;
+ --padding-bottom: 8px;
+
+ position: relative;
+ flex-direction: row-reverse;
+ align-items: center;
+ height: unset;
+ contain: unset;
+ padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
+}
+
+#left-pane .quick-search::before {
+ /* The background rectangle of the search box */
+ position: absolute;
+ content: "";
+ top: var(--padding-top);
+ left: var(--padding-left);
+ bottom: var(--padding-bottom);
+ right: var(--padding-right);
+ z-index: 0;
+ border: 2px solid transparent;
+ border-radius: 6px;
+ background: var(--quick-search-background);
+ transition: background-color 200ms ease-in;
+}
+
+#left-pane .quick-search:hover:before {
+ /* Hovered search box background rectangle */
+ background: var(--quick-search-hover-background);
+ transition: background-color 75ms ease-out;
+}
+
+#left-pane .quick-search:focus-within:before {
+ /* Focused search box background rectangle */
+ border-color: var(--quick-search-focus-border);
+ background: var(--quick-search-focus-background);
+ transition: background-color 100ms ease-out;
+}
+
+#left-pane .quick-search input {
+ padding-left: 15px;
+ box-shadow: unset;
+ background: transparent;
+}
+
+#left-pane .quick-search input::placeholder {
+ color: var(--quick-search-color);
+}
+
+#left-pane .quick-search:focus-within input {
+ color: var(--quick-search-focus-color) !important;
+}
+
+#left-pane .quick-search .search-button {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 25px;
+ height: 25px;
+ margin-right: 8px;
+ border-radius: 50%;
+ padding: 0;
+ color: var(--quick-search-color) !important;
+ transition: background-color 200ms ease-in !important;
+}
+
+#left-pane .quick-search .search-button:active {
+ transform: scale(.85);
+}
+
+#left-pane .quick-search:focus-within:has(input:not(:placeholder-shown)) .search-button {
+ /* Matches when the input has a value and the focus is inside the search box */
+ background: var(--left-pane-item-action-button-background) !important;
+ color: var(--left-pane-item-action-button-color) !important;
+ transition: background-color 500ms ease-out !important;
+}
+
+html body #left-pane .quick-search:focus-within .search-button:hover,
+#left-pane .quick-search .search-button.show {
+ /* Hover state */
+ background: var(--left-pane-item-action-button-hover-background) !important;
+ color: var(--left-pane-item-action-button-color) !important;
+ transition: background-color 100ms ease-out !important;
+}
+
+/* Tree */
+
+
+#left-pane .tree-actions {
+ /* TODO: relocate instead of hiding */
+ display: none;
+}
+
+#left-pane div.tree {
+ padding: 0 12px;
+ animation: fade-in 200ms ease-in;
+}
+
+#left-pane span.fancytree-node {
+ border: unset;
+ border-radius: 6px;
+ cursor: default;
+}
+
+/* The root element of the tree */
+#left-pane .fancytree-container > li:first-child > span {
+ padding-left: 12px;
+}
+
+#left-pane span.fancytree-node.fancytree-active {
+ position: relative;
+ background: transparent !important;
+ color: var(--left-pane-item-selected-color) !important;
+}
+
+@keyframes left-pane-item-select {
+ from {
+ opacity: 0;
+ } to {
+ opacity: 1;
+ }
+}
+
+#left-pane span.fancytree-node.fancytree-active::before {
+ position: absolute;
+ content: "";
+ top: var(--left-pane-item-selected-shadow-size);
+ left: var(--left-pane-item-selected-shadow-size);
+ bottom: var(--left-pane-item-selected-shadow-size);
+ right: var(--left-pane-item-selected-shadow-size);
+ background: var(--left-pane-item-selected-background) !important;
+ box-shadow: var(--left-pane-item-selected-shadow);
+ border-radius: 6px;
+ animation: left-pane-item-select 200ms ease-out;
+ z-index: -1;
+}
+
+#left-pane .fancytree-expander {
+ opacity: .65;
+ transition: opacity 150ms ease-in;
+}
+
+#left-pane .fancytree-expander:hover {
+ opacity: 1;
+ transition: opacity 300ms ease-out;
+}
+
+#left-pane .fancytree-custom-icon {
+ margin-top: 0; /* Use this to align the icon with the tree view item's caption */
+}
+
+#left-pane span .fancytree-title {
+ margin-top: -5px;
+}
+
+#left-pane span.fancytree-active .fancytree-title {
+ font-weight: normal;
+}
+
+#left-pane span.fancytree-node:hover {
+ background: var(--left-pane-item-hover-background);
+}
+
+#left-pane span.fancytree-node.shared .fancytree-title::after {
+ opacity: .5;
+}
+
+#left-pane .tree-item-button {
+ margin-right: 6px;
+ border: unset;
+ border-radius: 50%;
+ background: var(--left-pane-item-action-button-background);
+ color: var(--left-pane-item-action-button-color);
+ transition: background-color 200ms ease-out,
+ box-shadow 200ms ease-out;
+}
+
+#left-pane .tree-item-button:hover {
+ background: var(--left-pane-item-action-button-hover-background);
+ box-shadow: var(--left-pane-item-action-button-hover-shadow);
+ transition: background-color 100ms ease-in,
+ box-shadow 100ms ease-in;
+}
+
+#left-pane span.fancytree-node.fancytree-active .tree-item-button:hover {
+ box-shadow: var(--left-pane-item-selected-action-button-hover-shadow);
+}
+
+#context-menu-container {
+ /* The context menu of the tree */
+ --menu-item-icon-vert-offset: 1.5px;
+}
+
+/*
+ * Gutter
+ */
+
+.gutter {
+ background: var(--gutter-color) !important;
+ transition: background 150ms ease-out;
+}
+
+.gutter:hover {
+ background: var(--gutter-hover-color) !important;
+ transition: background 300ms ease-in;
+}
+
+/*
+ * Tab bar
+ */
+
+/* The parent element of the tab bar */
+#rest-pane > div.component:first-child {
+ height: var(--tab-bar-height) !important;
+}
+
+.tab-row-widget,
+.tab-row-container {
+ background: transparent !important;
+ height: var(--tab-bar-height) !important;
+}
+
+.tab-row-widget-container {
+ margin-top: calc((var(--tab-bar-height) - var(--tab-height)) / 2);
+ height: var(--tab-height) !important;
+}
+
+.tab-row-widget .note-tab .note-tab-wrapper {
+ height: var(--tab-height) !important;
+ transition: background 75ms ease-in,
+ box-shadow 75ms ease-in;
+}
+
+.tab-row-widget .note-tab .note-tab-wrapper:hover {
+ transition: none;
+}
+
+.tab-row-widget .note-tab:nth-child(1) {
+ transform: translate3d(var(--tab-first-item-horiz-offset), 0, 0);
+}
+
+.tab-row-widget-is-sorting .note-tab[active] .note-tab-wrapper {
+ transform: scale(.85);
+ box-shadow: var(--active-tab-dragging-shadow) !important;
+}
+
+.tab-row-widget .note-tab[active] .note-tab-wrapper {
+ box-shadow: var(--active-tab-shadow);
+ font-weight: unset !important;
+ transition: background 150ms ease-out,
+ box-shadow 300ms ease-out;
+}
+
+.tab-row-widget-is-sorting .note-tab-drag-handle {
+ cursor: grabbing !important;
+}
+
+.tab-row-widget .note-tab-close {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ transition: background-color 75ms ease-out,
+ color 75ms ease-out;
+
+}
+
+.tab-row-widget .note-tab-close:hover {
+ background: var(--tab-close-button-hover-background) !important;
+ color: var(--tab-close-button-hover-color) !important;
+ transition-timing-function: ease-in;
+}
+
+.tab-row-widget .note-new-tab {
+ position: relative;
+ margin-left: 3px;
+ color: transparent; /* Prevent the original "+" from being displayed */
+}
+
+.tab-row-widget .note-new-tab {
+ background: transparent !important;
+}
+
+.tab-row-widget .note-new-tab::before {
+ /* The background circle */
+ position: absolute;
+ content: "";
+ top: calc((var(--tab-height) - var(--new-tab-button-size)) / 2);
+ left: calc((var(--tab-height) - var(--new-tab-button-size)) / 2);
+ width: var(--new-tab-button-size);
+ height: var(--new-tab-button-size);
+ background: var(--new-tab-button-background);
+ border-radius: 50%;
+ transition: background-color 200ms ease-out,
+ box-shadow 200ms ease-out,
+ transform 300ms ease-in;
+ will-change: transform;
+}
+
+.tab-row-widget .note-new-tab:hover::before {
+ background: var(--new-tab-button-hover-background);
+ box-shadow: var(--new-tab-button-shadow);
+ transition: background-color 100ms ease-in,
+ box-shadow 100ms ease-in;
+}
+
+.tab-row-widget .note-new-tab::after {
+ /* The "X" icon */
+ display: flex;
+ position: absolute;
+ content: "\ebc0";
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ align-items: center;
+ justify-content: center;
+ font-family: boxicons;
+ font-size: calc(var(--new-tab-button-size) * .75);
+ color: var(--new-tab-button-color);
+ transition: color 300ms ease-out,
+ transform 300ms ease-in;
+ will-change: transform;
+}
+
+.tab-row-widget .note-new-tab:hover::after {
+ color: var(--new-tab-button-hover-color);
+ transition: color 100ms ease-in,
+}
+
+.tab-row-widget .note-new-tab:active:before,
+.tab-row-widget .note-new-tab:active:after {
+ transform: scale(.85);
+ transition: transform 75ms ease-out;
+}
+
+/*
+ * Center pane
+ */
+
+ #center-pane {
+ border-radius: var(--center-pane-border-radius) 0 0 0;
+ padding-top: 30px;
+ background: var(--main-background-color);
+ }
+
+
+/*
+ * Table of contents & Highlights list
+ */
+
+#right-pane {
+ background: var(--main-background-color);
+}
+
+#right-pane .toc li,
+#right-pane .highlights-list li {
+ padding: 2px 8px;
+ border-radius: 4px;
+ text-align: unset;
+ transition: background-color 150ms ease-in,
+ color 150ms ease-in;
+}
+
+#right-pane .highlights-list li {
+ line-height: 1.2;
+ padding: 8px;
+}
+
+#right-pane .toc li::marker,
+#right-pane .highlights-list li::marker {
+ color: var(--muted-text-color);
+}
+
+#right-pane .toc li:hover,
+#right-pane .highlights-list li:hover {
+ background: var(--right-pane-item-hover-background);
+ color: var(--right-pane-item-hover-color);
+ font-weight: normal;
+ transition: background-color 300ms ease-out
+ color 300ms ease-out;
+}
+
+#right-pane .toc li:active,
+#right-pane .highlights-list li:active {
+ background: transparent;
+ transition: none;
+}
+
+/*
+ * Menus
+ */
+
+.dropdown-menu {
+ border-radius: 10px;
+ backdrop-filter: blur(10px) saturate(6);
+ padding: var(--menu-padding-size) !important;
+ font-size: .90rem !important;
+}
+
+.dropdown-item {
+ padding: 2px 16px 2px 8px !important;
+ /* Note: the right padding should also accommodate the submenu arrow. */
+ border-radius: 6px;
+ cursor: default !important;
+}
+
+html body .dropdown-item.disabled {
+ color: var(--menu-text-color) !important;
+ opacity: var(--menu-item-disabled-opacity);
+}
+
+/* Menu item icon */
+.dropdown-item .bx {
+ transform: translateY(var(--menu-item-icon-vert-offset));
+ color: var(--menu-item-icon-color) !important;
+ font-size: 1.1em;
+}
+
+/* Menu item keyboard shortcut */
+.dropdown-item kbd {
+ margin-left: 16px;
+ font-family: unset !important;
+ font-size: unset !important;
+ color: var(--menu-item-keyboard-shortcut-color) !important;
+}
+
+.dropdown-divider {
+ position: relative;
+ border-color: transparent !important;
+ overflow: visible;
+}
+
+.dropdown-divider::after {
+ position: absolute;
+ content: "";
+ top: -1px;
+ left: calc(0px - var(--menu-padding-size));
+ right: calc(0px - var(--menu-padding-size));
+ border-top: 1px solid var(--menu-item-delimiter-color);
+}
+
+/* Menu item arrow */
+.dropdown-menu .dropdown-toggle::after {
+ content: "\ed3b" !important;
+ position: absolute;
+ display: flex !important;
+ align-items: center;
+ justify-content: center;
+ top: 0;
+ right: 0;
+ height: 100%;
+ margin: unset !important;
+ border: unset !important;
+ padding: 0 4px;
+ font-family: boxicons;
+ font-size: 1.2em;
+ color: var(--menu-item-arrow-color) !important;
+}
+
+/*
+ * TEXT NOTES
+ */
+
+/*
+ * Code Blocks
+ */
+
+.ck-content pre {
+ border: 0;
+ border-radius: 6px;
+ box-shadow: var(--code-block-box-shadow);
+ padding: 0 !important;
+ margin-top: 2px !important;
+ overflow: unset;
+}
+
+html .note-detail-editable-text :not(figure, .include-note):first-child {
+ /* Create some space for the top-side shadow */
+ margin-top: 1px !important;
+}
+
+.ck.ck-editor__editable pre[data-language]::after {
+ --ck-color-code-block-label-background: rgba(128, 128, 128, .5);
+ border-radius: 0 0 5px 5px;
+ padding: 0px 10px;
+ letter-spacing: .5px;
+ font-weight: bold;
+}
+
+.ck-content pre code {
+ display: block;
+ padding: 1em;
+ overflow: auto;
+}
+
+.ck-content pre code::-webkit-scrollbar {
+ height: 6px;
+}
+
+.ck-content pre code::-webkit-scrollbar-thumb {
+ height: 4px;
+ border: none !important;
+ background: gray !important;
+}
+
+.ck-content pre code::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb {
+ cursor: default;
+}
+
+.note-detail-printable:not(.word-wrap) pre code {
+ white-space: pre;
+ margin-right: 1em;
+}
+
+.code-sample-wrapper .hljs {
+ transition: background-color linear 100ms;
+}
\ No newline at end of file
diff --git a/src/public/translations/en/translation.json b/src/public/translations/en/translation.json
index 2d0fdf7af..53feaa3d1 100644
--- a/src/public/translations/en/translation.json
+++ b/src/public/translations/en/translation.json
@@ -1073,6 +1073,7 @@
"override_theme_fonts_label": "Override theme fonts",
"light_theme": "Light",
"dark_theme": "Dark",
+ "triliumnext": "TriliumNext (beta)",
"layout": "Layout",
"layout-vertical-title": "Vertical",
"layout-horizontal-title": "Horizontal",
diff --git a/src/routes/index.ts b/src/routes/index.ts
index ca204e868..f5951d3c6 100644
--- a/src/routes/index.ts
+++ b/src/routes/index.ts
@@ -54,6 +54,8 @@ function getThemeCssUrl(theme: string) {
return false; // light theme is always loaded as baseline
} else if (theme === 'dark') {
return `${assetPath}/stylesheets/theme-dark.css`;
+ } else if (theme === "next") {
+ return `${assetPath}/stylesheets/theme-next.css`;
} else {
const themeNote = attributeService.getNoteWithLabel('appTheme', theme);
diff --git a/src/services/options_init.ts b/src/services/options_init.ts
index cd7063274..60cce2176 100644
--- a/src/services/options_init.ts
+++ b/src/services/options_init.ts
@@ -38,10 +38,9 @@ interface DefaultOption {
* Initializes the default options for new databases only.
*
* @param initialized `true` if the database has been fully initialized (i.e. a new database was created), or `false` if the database is created for sync.
- * @param theme the theme to set as default, based on a user's system preference.
* @param opts additional options to be initialized, for example the sync configuration.
*/
-async function initNotSyncedOptions(initialized: boolean, theme: string, opts: NotSyncedOpts = {}) {
+async function initNotSyncedOptions(initialized: boolean, opts: NotSyncedOpts = {}) {
optionService.createOption('openNoteContexts', JSON.stringify([
{
notePath: 'root',
@@ -59,7 +58,7 @@ async function initNotSyncedOptions(initialized: boolean, theme: string, opts: N
optionService.createOption('lastSyncedPull', '0', false);
optionService.createOption('lastSyncedPush', '0', false);
- optionService.createOption('theme', theme, false);
+ optionService.createOption('theme', 'next', false);
optionService.createOption('syncServerHost', opts.syncServerHost || '', false);
optionService.createOption('syncServerTimeout', '120000', false);
diff --git a/src/services/sql_init.ts b/src/services/sql_init.ts
index 256971423..85ddef334 100644
--- a/src/services/sql_init.ts
+++ b/src/services/sql_init.ts
@@ -57,7 +57,6 @@ async function createInitialDatabase() {
const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, "utf-8");
const demoFile = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/demo.zip`);
- const defaultTheme = await getDefaultTheme();
let rootNote!: BNote;
@@ -90,7 +89,7 @@ async function createInitialDatabase() {
}).save();
optionsInitService.initDocumentOptions();
- optionsInitService.initNotSyncedOptions(true, defaultTheme, {});
+ optionsInitService.initNotSyncedOptions(true, {});
optionsInitService.initStartupOptions();
password.resetPassword();
});
@@ -128,7 +127,6 @@ async function createDatabaseForSync(options: OptionRow[], syncServerHost = '',
throw new Error("DB is already initialized");
}
- const defaultTheme = await getDefaultTheme();
const schema = fs.readFileSync(`${resourceDir.DB_INIT_DIR}/schema.sql`, "utf8");
// We have to import async since options init requires keyboard actions which require translations.
@@ -137,7 +135,7 @@ async function createDatabaseForSync(options: OptionRow[], syncServerHost = '',
sql.transactional(() => {
sql.executeScript(schema);
- optionsInitService.initNotSyncedOptions(false, defaultTheme, { syncServerHost, syncProxy });
+ optionsInitService.initNotSyncedOptions(false, { syncServerHost, syncProxy });
// document options required for sync to kick off
for (const opt of options) {
@@ -148,16 +146,6 @@ async function createDatabaseForSync(options: OptionRow[], syncServerHost = '',
log.info("Schema and not synced options generated.");
}
-async function getDefaultTheme() {
- if (utils.isElectron()) {
- const {nativeTheme} = await import("electron");
- return nativeTheme.shouldUseDarkColors ? 'dark' : 'light';
- } else {
- // default based on the poll in https://github.com/zadam/trilium/issues/2516
- return "dark";
- }
-}
-
function setDbAsInitialized() {
if (!isDbInitialized()) {
optionService.setOption('initialized', 'true');
diff --git a/src/views/login.ejs b/src/views/login.ejs
index be01bd623..a17a58909 100644
--- a/src/views/login.ejs
+++ b/src/views/login.ejs
@@ -79,5 +79,8 @@
+
+
+