diff --git a/web/react/components/channel_loader.jsx b/web/react/components/channel_loader.jsx index c8f1196a83..13045d7323 100644 --- a/web/react/components/channel_loader.jsx +++ b/web/react/components/channel_loader.jsx @@ -10,6 +10,7 @@ import SocketStore from '../stores/socket_store.jsx'; import ChannelStore from '../stores/channel_store.jsx'; import PostStore from '../stores/post_store.jsx'; import UserStore from '../stores/user_store.jsx'; +import PreferenceStore from '../stores/preference_store.jsx'; import * as Utils from '../utils/utils.jsx'; import Constants from '../utils/constants.jsx'; @@ -69,6 +70,9 @@ export default class ChannelLoader extends React.Component { Utils.applyTheme(Constants.THEMES.default); } + const selectedFont = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', {value: Constants.DEFAULT_FONT}).value; + Utils.applyFont(selectedFont); + $('body').on('mouseenter mouseleave', '.post', function mouseOver(ev) { if (ev.type === 'mouseenter') { $(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--after'); diff --git a/web/react/components/user_settings/user_settings_display.jsx b/web/react/components/user_settings/user_settings_display.jsx index 43c8d33d12..dc3865c681 100644 --- a/web/react/components/user_settings/user_settings_display.jsx +++ b/web/react/components/user_settings/user_settings_display.jsx @@ -6,14 +6,17 @@ import SettingItemMin from '../setting_item_min.jsx'; import SettingItemMax from '../setting_item_max.jsx'; import Constants from '../../utils/constants.jsx'; import PreferenceStore from '../../stores/preference_store.jsx'; +import * as Utils from '../../utils/utils.jsx'; function getDisplayStateFromStores() { const militaryTime = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'use_military_time', {value: 'false'}); const nameFormat = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'name_format', {value: 'username'}); + const selectedFont = PreferenceStore.getPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', {value: Constants.DEFAULT_FONT}); return { militaryTime: militaryTime.value, - nameFormat: nameFormat.value + nameFormat: nameFormat.value, + selectedFont: selectedFont.value }; } @@ -24,15 +27,20 @@ export default class UserSettingsDisplay extends React.Component { this.handleSubmit = this.handleSubmit.bind(this); this.handleClockRadio = this.handleClockRadio.bind(this); this.handleNameRadio = this.handleNameRadio.bind(this); + this.handleFont = this.handleFont.bind(this); this.updateSection = this.updateSection.bind(this); this.state = getDisplayStateFromStores(); + this.selectedFont = this.state.selectedFont; } handleSubmit() { const timePreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'use_military_time', this.state.militaryTime); const namePreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'name_format', this.state.nameFormat); + const fontPreference = PreferenceStore.setPreference(Constants.Preferences.CATEGORY_DISPLAY_SETTINGS, 'selected_font', this.state.selectedFont); - savePreferences([timePreference, namePreference], + this.selectedFont = this.state.selectedFont; + + savePreferences([timePreference, namePreference, fontPreference], () => { PreferenceStore.emitChange(); this.updateSection(''); @@ -48,6 +56,10 @@ export default class UserSettingsDisplay extends React.Component { handleNameRadio(nameFormat) { this.setState({nameFormat}); } + handleFont(selectedFont) { + Utils.applyFont(selectedFont); + this.setState({selectedFont}); + } updateSection(section) { this.setState(getDisplayStateFromStores()); this.props.updateSection(section); @@ -56,6 +68,8 @@ export default class UserSettingsDisplay extends React.Component { const serverError = this.state.serverError || null; let clockSection; let nameFormatSection; + let fontSection; + if (this.props.activeSection === 'clock') { const clockFormat = [false, false]; if (this.state.militaryTime === 'true') { @@ -209,6 +223,69 @@ export default class UserSettingsDisplay extends React.Component { ); } + if (this.props.activeSection === 'font') { + const options = []; + Object.keys(Constants.FONTS).forEach((fontName, idx) => { + const className = Constants.FONTS[fontName]; + options.push( + + ); + }); + + const inputs = [ +
+
+ + + {this.state.selectedFont} + +
+

{'Select the font displayed in the Mattermost user interface.'}
+
+ ]; + + fontSection = ( + { + if (this.selectedFont !== this.state.selectedFont) { + this.handleFont(this.selectedFont); + } + this.updateSection(''); + e.preventDefault(); + }} + /> + ); + } else { + fontSection = ( + { + this.props.updateSection('font'); + }} + /> + ); + } + return (
@@ -239,6 +316,8 @@ export default class UserSettingsDisplay extends React.Component {
{nameFormatSection}
+ {fontSection} +
); diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx index 372e155563..122fad3486 100644 --- a/web/react/utils/constants.jsx +++ b/web/react/utils/constants.jsx @@ -344,6 +344,21 @@ export default { } ], DEFAULT_CODE_THEME: 'github', + FONTS: { + 'Droid Serif': 'font--droid_serif', + 'Roboto Slab': 'font--roboto_slab', + Lora: 'font--lora', + Slabo: 'font--slabo', + Arvo: 'font--arvo', + 'Open Sans': 'font--open_sans', + Roboto: 'font--roboto', + 'PT Sans': 'font--pt_sans', + Lato: 'font--lato', + 'Source Sans Pro': 'font--source_sans_pro', + 'Exo 2': 'font--exo_2', + Ubuntu: 'font--ubuntu' + }, + DEFAULT_FONT: 'Open Sans', Preferences: { CATEGORY_DIRECT_CHANNEL_SHOW: 'direct_channel_show', CATEGORY_DISPLAY_SETTINGS: 'display_settings', diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index 9b2f7e0575..b3d1350b66 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -694,6 +694,17 @@ export function applyTheme(theme) { } updateCodeTheme(theme.codeTheme); } + +export function applyFont(fontName) { + const body = document.querySelector('body'); + body.classList.forEach((className) => { + if (className.lastIndexOf('font') === 0) { + body.classList.remove(className); + } + }); + body.classList.add(Constants.FONTS[fontName]); +} + export function changeCss(className, classValue, classRepeat) { // we need invisible container to store additional css definitions var cssMainContainer = $('#css-modifier-container'); diff --git a/web/static/css/google-fonts.css b/web/static/css/google-fonts.css index a9d9d1a801..62c58e390d 100644 --- a/web/static/css/google-fonts.css +++ b/web/static/css/google-fonts.css @@ -128,3 +128,205 @@ url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/open-sans-v13-latin-ext_latin_cyrillic-ext_greek-ext_greek_cyrillic_vietnamese-800italic.svg#OpenSans') format('svg'); /* Legacy iOS */ } + +/* Lato */ +@font-face { + font-family: 'Lato'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Lato-regular.eot'); + src: local('Lato Regular'), local('Lato-regular'), + url('/static/fonts/Lato-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Lato-regular.woff2') format('woff2'), + url('/static/fonts/Lato-regular.woff') format('woff'), + url('/static/fonts/Lato-regular.ttf') format('truetype'), + url('/static/fonts/Lato-regular.svg#Lato') format('svg'); +} + +/* Droid Serif */ +@font-face { + font-family: 'Droid Serif'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Droid-Serif-regular.eot'); + src: local('Droid Serif'), local('Droid-Serif-regular'), + url('/static/fonts/Droid-Serif-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Droid-Serif-regular.woff2') format('woff2'), + url('/static/fonts/Droid-Serif-regular.woff') format('woff'), + url('/static/fonts/Droid-Serif-regular.ttf') format('truetype'), + url('/static/fonts/Droid-Serif-regular.svg#DroidSerif') format('svg'); +} + +/* Lora */ +@font-face { + font-family: 'Lora'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Lora-regular.eot'); + src: local('Lora'), local('Lora-regular'), + url('/static/fonts/Lora-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Lora-regular.woff2') format('woff2'), + url('/static/fonts/Lora-regular.woff') format('woff'), + url('/static/fonts/Lora-regular.ttf') format('truetype'), + url('/static/fonts/Lora-regular.svg#Lora') format('svg'); +} + +/* Slabo */ +@font-face { + font-family: 'Slabo 13px'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Slabo-13px-regular.eot'); + src: local('Slabo 13px'), local('Slabo-13px-regular'), + url('/static/fonts/Slabo-13px-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Slabo-13px-regular.woff2') format('woff2'), + url('/static/fonts/Slabo-13px-regular.woff') format('woff'), + url('/static/fonts/Slabo-13px-regular.ttf') format('truetype'), + url('/static/fonts/Slabo-13px-regular.svg#Slabo13px') format('svg'); +} + +/* Arvo */ +@font-face { + font-family: 'Arvo'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Arvo-regular.eot'); + src: local('Arvo'), local('Arvo-regular'), + url('/static/fonts/Arvo-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Arvo-regular.woff2') format('woff2'), + url('/static/fonts/Arvo-regular.woff') format('woff'), + url('/static/fonts/Arvo-regular.ttf') format('truetype'), + url('/static/fonts/Arvo-regular.svg#Arvo') format('svg'); +} + +/* Roboto */ +@font-face { + font-family: 'Roboto'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Roboto-regular.eot'); + src: local('Roboto'), local('Roboto-regular'), + url('/static/fonts/Roboto-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Roboto-regular.woff2') format('woff2'), + url('/static/fonts/Roboto-regular.woff') format('woff'), + url('/static/fonts/Roboto-regular.ttf') format('truetype'), + url('/static/fonts/Roboto-regular.svg#Roboto') format('svg'); +} + +/* PT Sans */ +@font-face { + font-family: 'PT Sans'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/PT-Sans-regular.eot'); + src: local('PT Sans'), local('PT-Sans-regular'), + url('/static/fonts/PT-Sans-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/PT-Sans-regular.woff2') format('woff2'), + url('/static/fonts/PT-Sans-regular.woff') format('woff'), + url('/static/fonts/PT-Sans-regular.ttf') format('truetype'), + url('/static/fonts/PT-Sans-regular.svg#PTSans') format('svg'); +} + +/* Source Sans Pro */ +@font-face { + font-family: 'Source Sans Pro'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Source-Sans-Pro-regular.eot'); + src: local('Source Sans Pro'), local('Source-Sans-Pro-regular'), + url('/static/fonts/Source-Sans-Pro-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Source-Sans-Pro-regular.woff2') format('woff2'), + url('/static/fonts/Source-Sans-Pro-regular.woff') format('woff'), + url('/static/fonts/Source-Sans-Pro-regular.ttf') format('truetype'), + url('/static/fonts/Source-Sans-Pro-regular.svg#SourceSansPro') format('svg'); +} + +/* Exo 2 */ +@font-face { + font-family: 'Exo 2'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Exo-2-regular.eot'); + src: local('Exo 2'), local('Exo-2-regular'), + url('/static/fonts/Exo-2-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Exo-2-regular.woff2') format('woff2'), + url('/static/fonts/Exo-2-regular.woff') format('woff'), + url('/static/fonts/Exo-2-regular.ttf') format('truetype'), + url('/static/fonts/Exo-2-regular.svg#Exo2') format('svg'); +} + +/* Ubuntu */ +@font-face { + font-family: 'Ubuntu'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Ubuntu-regular.eot'); + src: local('Ubuntu'), local('Ubuntu-regular'), + url('/static/fonts/Ubuntu-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Ubuntu-regular.woff2') format('woff2'), + url('/static/fonts/Ubuntu-regular.woff') format('woff'), + url('/static/fonts/Ubuntu-regular.ttf') format('truetype'), + url('/static/fonts/Ubuntu-regular.svg#Ubuntu') format('svg'); +} + +/* Roboto Slab */ +@font-face { + font-family: 'Roboto Slab'; + font-weight: 400; + font-style: normal; + src: url('/static/fonts/Roboto-Slab-regular.eot'); + src: local('Roboto Slab Regular'), local('Roboto-Slab-regular'), + url('/static/fonts/Roboto-Slab-regular.eot?#iefix') format('embedded-opentype'), + url('/static/fonts/Roboto-Slab-regular.woff2') format('woff2'), + url('/static/fonts/Roboto-Slab-regular.woff') format('woff'), + url('/static/fonts/Roboto-Slab-regular.ttf') format('truetype'), + url('/static/fonts/Roboto-Slab-regular.svg#RobotoSlab') format('svg'); +} + +.font--open_sans { + font-family: 'Open Sans', 'sans-serif'; +} + +.font--droid_serif { + font-family: 'Droid Serif', 'serif'; +} + +.font--roboto_slab { + font-family: 'Roboto Slab', 'serif'; +} + +.font--lora { + font-family: 'Lora', 'serif'; +} + +.font--slabo { + font-family: 'Slabo 13px', 'sans-serif'; +} + +.font--arvo { + font-family: 'Arvo', 'serif'; +} + +.font--roboto { + font-family: 'Roboto', 'sans-serif'; +} + +.font--pt_sans { + font-family: 'PT Sans', 'sans-serif'; +} + +.font--lato { + font-family: 'Lato', 'sans-serif'; +} + +.font--source_sans_pro { + font-family: 'Source Sans Pro', 'sans-serif'; +} + +.font--exo_2 { + font-family: 'Exo 2', 'sans-serif'; +} + +.font--ubuntu { + font-family: Ubuntu, 'sans-serif'; +} \ No newline at end of file diff --git a/web/static/fonts/Arvo-regular.eot b/web/static/fonts/Arvo-regular.eot new file mode 100644 index 0000000000..a69a4110d7 Binary files /dev/null and b/web/static/fonts/Arvo-regular.eot differ diff --git a/web/static/fonts/Arvo-regular.svg b/web/static/fonts/Arvo-regular.svg new file mode 100644 index 0000000000..6352e5077b --- /dev/null +++ b/web/static/fonts/Arvo-regular.svg @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Arvo-regular.ttf b/web/static/fonts/Arvo-regular.ttf new file mode 100644 index 0000000000..0dfe27e4e3 Binary files /dev/null and b/web/static/fonts/Arvo-regular.ttf differ diff --git a/web/static/fonts/Arvo-regular.woff b/web/static/fonts/Arvo-regular.woff new file mode 100644 index 0000000000..ff60300b24 Binary files /dev/null and b/web/static/fonts/Arvo-regular.woff differ diff --git a/web/static/fonts/Arvo-regular.woff2 b/web/static/fonts/Arvo-regular.woff2 new file mode 100644 index 0000000000..243006f4ba Binary files /dev/null and b/web/static/fonts/Arvo-regular.woff2 differ diff --git a/web/static/fonts/Droid-Serif-regular.eot b/web/static/fonts/Droid-Serif-regular.eot new file mode 100644 index 0000000000..99d028feb1 Binary files /dev/null and b/web/static/fonts/Droid-Serif-regular.eot differ diff --git a/web/static/fonts/Droid-Serif-regular.svg b/web/static/fonts/Droid-Serif-regular.svg new file mode 100644 index 0000000000..446bbc66c0 --- /dev/null +++ b/web/static/fonts/Droid-Serif-regular.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Droid-Serif-regular.ttf b/web/static/fonts/Droid-Serif-regular.ttf new file mode 100644 index 0000000000..82a9b160db Binary files /dev/null and b/web/static/fonts/Droid-Serif-regular.ttf differ diff --git a/web/static/fonts/Droid-Serif-regular.woff b/web/static/fonts/Droid-Serif-regular.woff new file mode 100644 index 0000000000..91a41e958f Binary files /dev/null and b/web/static/fonts/Droid-Serif-regular.woff differ diff --git a/web/static/fonts/Droid-Serif-regular.woff2 b/web/static/fonts/Droid-Serif-regular.woff2 new file mode 100644 index 0000000000..1d5e4b632e Binary files /dev/null and b/web/static/fonts/Droid-Serif-regular.woff2 differ diff --git a/web/static/fonts/Exo-2-regular.eot b/web/static/fonts/Exo-2-regular.eot new file mode 100644 index 0000000000..20b381e4c4 Binary files /dev/null and b/web/static/fonts/Exo-2-regular.eot differ diff --git a/web/static/fonts/Exo-2-regular.svg b/web/static/fonts/Exo-2-regular.svg new file mode 100644 index 0000000000..3027fdad04 --- /dev/null +++ b/web/static/fonts/Exo-2-regular.svg @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Exo-2-regular.ttf b/web/static/fonts/Exo-2-regular.ttf new file mode 100644 index 0000000000..3953ab5f83 Binary files /dev/null and b/web/static/fonts/Exo-2-regular.ttf differ diff --git a/web/static/fonts/Exo-2-regular.woff b/web/static/fonts/Exo-2-regular.woff new file mode 100644 index 0000000000..e635c84b7f Binary files /dev/null and b/web/static/fonts/Exo-2-regular.woff differ diff --git a/web/static/fonts/Exo-2-regular.woff2 b/web/static/fonts/Exo-2-regular.woff2 new file mode 100644 index 0000000000..ed9c8fb331 Binary files /dev/null and b/web/static/fonts/Exo-2-regular.woff2 differ diff --git a/web/static/fonts/Lato-latin-ext.woff2 b/web/static/fonts/Lato-latin-ext.woff2 new file mode 100644 index 0000000000..33e333f1d2 Binary files /dev/null and b/web/static/fonts/Lato-latin-ext.woff2 differ diff --git a/web/static/fonts/Lato-latin.woff2 b/web/static/fonts/Lato-latin.woff2 new file mode 100644 index 0000000000..5469216e1f Binary files /dev/null and b/web/static/fonts/Lato-latin.woff2 differ diff --git a/web/static/fonts/Lato-regular.eot b/web/static/fonts/Lato-regular.eot new file mode 100644 index 0000000000..28343da023 Binary files /dev/null and b/web/static/fonts/Lato-regular.eot differ diff --git a/web/static/fonts/Lato-regular.svg b/web/static/fonts/Lato-regular.svg new file mode 100644 index 0000000000..f7678d37c0 --- /dev/null +++ b/web/static/fonts/Lato-regular.svg @@ -0,0 +1,4148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Lato-regular.ttf b/web/static/fonts/Lato-regular.ttf new file mode 100644 index 0000000000..7608bc3e0f Binary files /dev/null and b/web/static/fonts/Lato-regular.ttf differ diff --git a/web/static/fonts/Lato-regular.woff b/web/static/fonts/Lato-regular.woff new file mode 100644 index 0000000000..fe27504d07 Binary files /dev/null and b/web/static/fonts/Lato-regular.woff differ diff --git a/web/static/fonts/Lato-regular.woff2 b/web/static/fonts/Lato-regular.woff2 new file mode 100644 index 0000000000..c83fe95542 Binary files /dev/null and b/web/static/fonts/Lato-regular.woff2 differ diff --git a/web/static/fonts/Lora-regular.eot b/web/static/fonts/Lora-regular.eot new file mode 100644 index 0000000000..c209f9ac7e Binary files /dev/null and b/web/static/fonts/Lora-regular.eot differ diff --git a/web/static/fonts/Lora-regular.svg b/web/static/fonts/Lora-regular.svg new file mode 100644 index 0000000000..c3c9968ed2 --- /dev/null +++ b/web/static/fonts/Lora-regular.svg @@ -0,0 +1,9002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Lora-regular.ttf b/web/static/fonts/Lora-regular.ttf new file mode 100644 index 0000000000..87053298d4 Binary files /dev/null and b/web/static/fonts/Lora-regular.ttf differ diff --git a/web/static/fonts/Lora-regular.woff b/web/static/fonts/Lora-regular.woff new file mode 100644 index 0000000000..2b9a6be8fb Binary files /dev/null and b/web/static/fonts/Lora-regular.woff differ diff --git a/web/static/fonts/Lora-regular.woff2 b/web/static/fonts/Lora-regular.woff2 new file mode 100644 index 0000000000..dfa9891a39 Binary files /dev/null and b/web/static/fonts/Lora-regular.woff2 differ diff --git a/web/static/fonts/PT-Sans-regular.eot b/web/static/fonts/PT-Sans-regular.eot new file mode 100644 index 0000000000..428f39fca8 Binary files /dev/null and b/web/static/fonts/PT-Sans-regular.eot differ diff --git a/web/static/fonts/PT-Sans-regular.svg b/web/static/fonts/PT-Sans-regular.svg new file mode 100644 index 0000000000..c23a6b1bc9 --- /dev/null +++ b/web/static/fonts/PT-Sans-regular.svg @@ -0,0 +1,1335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/PT-Sans-regular.ttf b/web/static/fonts/PT-Sans-regular.ttf new file mode 100644 index 0000000000..d55372b83f Binary files /dev/null and b/web/static/fonts/PT-Sans-regular.ttf differ diff --git a/web/static/fonts/PT-Sans-regular.woff b/web/static/fonts/PT-Sans-regular.woff new file mode 100644 index 0000000000..28d33bc5c0 Binary files /dev/null and b/web/static/fonts/PT-Sans-regular.woff differ diff --git a/web/static/fonts/PT-Sans-regular.woff2 b/web/static/fonts/PT-Sans-regular.woff2 new file mode 100644 index 0000000000..f2ab5aed05 Binary files /dev/null and b/web/static/fonts/PT-Sans-regular.woff2 differ diff --git a/web/static/fonts/Roboto-Slab-regular.eot b/web/static/fonts/Roboto-Slab-regular.eot new file mode 100644 index 0000000000..926a22baa0 Binary files /dev/null and b/web/static/fonts/Roboto-Slab-regular.eot differ diff --git a/web/static/fonts/Roboto-Slab-regular.svg b/web/static/fonts/Roboto-Slab-regular.svg new file mode 100644 index 0000000000..ffbbc45965 --- /dev/null +++ b/web/static/fonts/Roboto-Slab-regular.svg @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Roboto-Slab-regular.ttf b/web/static/fonts/Roboto-Slab-regular.ttf new file mode 100644 index 0000000000..141d6c08c8 Binary files /dev/null and b/web/static/fonts/Roboto-Slab-regular.ttf differ diff --git a/web/static/fonts/Roboto-Slab-regular.woff b/web/static/fonts/Roboto-Slab-regular.woff new file mode 100644 index 0000000000..dab1852d8d Binary files /dev/null and b/web/static/fonts/Roboto-Slab-regular.woff differ diff --git a/web/static/fonts/Roboto-Slab-regular.woff2 b/web/static/fonts/Roboto-Slab-regular.woff2 new file mode 100644 index 0000000000..1444ec4185 Binary files /dev/null and b/web/static/fonts/Roboto-Slab-regular.woff2 differ diff --git a/web/static/fonts/Roboto-regular.eot b/web/static/fonts/Roboto-regular.eot new file mode 100644 index 0000000000..d26bc8f519 Binary files /dev/null and b/web/static/fonts/Roboto-regular.eot differ diff --git a/web/static/fonts/Roboto-regular.svg b/web/static/fonts/Roboto-regular.svg new file mode 100644 index 0000000000..ed55c105d7 --- /dev/null +++ b/web/static/fonts/Roboto-regular.svg @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Roboto-regular.ttf b/web/static/fonts/Roboto-regular.ttf new file mode 100644 index 0000000000..7b25f3ce94 Binary files /dev/null and b/web/static/fonts/Roboto-regular.ttf differ diff --git a/web/static/fonts/Roboto-regular.woff b/web/static/fonts/Roboto-regular.woff new file mode 100644 index 0000000000..5e353cf47a Binary files /dev/null and b/web/static/fonts/Roboto-regular.woff differ diff --git a/web/static/fonts/Roboto-regular.woff2 b/web/static/fonts/Roboto-regular.woff2 new file mode 100644 index 0000000000..d1035f9a10 Binary files /dev/null and b/web/static/fonts/Roboto-regular.woff2 differ diff --git a/web/static/fonts/Slabo-13px-regular.eot b/web/static/fonts/Slabo-13px-regular.eot new file mode 100644 index 0000000000..640ccb2fc8 Binary files /dev/null and b/web/static/fonts/Slabo-13px-regular.eot differ diff --git a/web/static/fonts/Slabo-13px-regular.svg b/web/static/fonts/Slabo-13px-regular.svg new file mode 100644 index 0000000000..77adfd8a1e --- /dev/null +++ b/web/static/fonts/Slabo-13px-regular.svg @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Slabo-13px-regular.ttf b/web/static/fonts/Slabo-13px-regular.ttf new file mode 100644 index 0000000000..48beee06c6 Binary files /dev/null and b/web/static/fonts/Slabo-13px-regular.ttf differ diff --git a/web/static/fonts/Slabo-13px-regular.woff b/web/static/fonts/Slabo-13px-regular.woff new file mode 100644 index 0000000000..60b13ce3ab Binary files /dev/null and b/web/static/fonts/Slabo-13px-regular.woff differ diff --git a/web/static/fonts/Slabo-13px-regular.woff2 b/web/static/fonts/Slabo-13px-regular.woff2 new file mode 100644 index 0000000000..b07da4e797 Binary files /dev/null and b/web/static/fonts/Slabo-13px-regular.woff2 differ diff --git a/web/static/fonts/Source-Sans-Pro-regular.eot b/web/static/fonts/Source-Sans-Pro-regular.eot new file mode 100644 index 0000000000..5dd59e7745 Binary files /dev/null and b/web/static/fonts/Source-Sans-Pro-regular.eot differ diff --git a/web/static/fonts/Source-Sans-Pro-regular.svg b/web/static/fonts/Source-Sans-Pro-regular.svg new file mode 100644 index 0000000000..a19acae2c5 --- /dev/null +++ b/web/static/fonts/Source-Sans-Pro-regular.svg @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Source-Sans-Pro-regular.ttf b/web/static/fonts/Source-Sans-Pro-regular.ttf new file mode 100644 index 0000000000..950ff8bd4b Binary files /dev/null and b/web/static/fonts/Source-Sans-Pro-regular.ttf differ diff --git a/web/static/fonts/Source-Sans-Pro-regular.woff b/web/static/fonts/Source-Sans-Pro-regular.woff new file mode 100644 index 0000000000..d97a490d3c Binary files /dev/null and b/web/static/fonts/Source-Sans-Pro-regular.woff differ diff --git a/web/static/fonts/Source-Sans-Pro-regular.woff2 b/web/static/fonts/Source-Sans-Pro-regular.woff2 new file mode 100644 index 0000000000..da49c62c18 Binary files /dev/null and b/web/static/fonts/Source-Sans-Pro-regular.woff2 differ diff --git a/web/static/fonts/Ubuntu-regular.eot b/web/static/fonts/Ubuntu-regular.eot new file mode 100644 index 0000000000..c6fb045b8f Binary files /dev/null and b/web/static/fonts/Ubuntu-regular.eot differ diff --git a/web/static/fonts/Ubuntu-regular.svg b/web/static/fonts/Ubuntu-regular.svg new file mode 100644 index 0000000000..a789385dc8 --- /dev/null +++ b/web/static/fonts/Ubuntu-regular.svg @@ -0,0 +1,1456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/static/fonts/Ubuntu-regular.ttf b/web/static/fonts/Ubuntu-regular.ttf new file mode 100644 index 0000000000..18fecfac83 Binary files /dev/null and b/web/static/fonts/Ubuntu-regular.ttf differ diff --git a/web/static/fonts/Ubuntu-regular.woff b/web/static/fonts/Ubuntu-regular.woff new file mode 100644 index 0000000000..19a6189d16 Binary files /dev/null and b/web/static/fonts/Ubuntu-regular.woff differ diff --git a/web/static/fonts/Ubuntu-regular.woff2 b/web/static/fonts/Ubuntu-regular.woff2 new file mode 100644 index 0000000000..5adbc9934f Binary files /dev/null and b/web/static/fonts/Ubuntu-regular.woff2 differ