diff --git a/odex30_base/expert_theme/__manifest__.py b/odex30_base/expert_theme/__manifest__.py
index 0a5f8d3..0f4b5e9 100644
--- a/odex30_base/expert_theme/__manifest__.py
+++ b/odex30_base/expert_theme/__manifest__.py
@@ -24,6 +24,8 @@
'views/expert_theme_config_views.xml',
'views/expert_home_views.xml',
'views/expert_menu_views.xml',
+ 'views/web_layout.xml',
+ 'views/res_config_settings_views.xml',
],
'assets': {
'web.assets_frontend': [
@@ -33,6 +35,8 @@
'expert_theme/static/src/js/expert_login_template.js',
],
'web.assets_backend': [
+ 'expert_theme/static/src/fonts/en_fonts.scss',
+ 'expert_theme/static/src/fonts/ar_fonts.scss',
'expert_theme/static/src/scss/expert_theme_config.scss',
'expert_theme/static/src/scss/expert_theme.scss',
'expert_theme/static/src/js/expert_theme_dynamic.js',
@@ -40,6 +44,11 @@
'expert_theme/static/src/js/expert_home.js',
'expert_theme/static/src/js/expert_login_template_list.js',
'expert_theme/static/src/xml/expert_home.xml',
+ 'expert_theme/static/src/language_menu/language_menu.js',
+ 'expert_theme/static/src/language_menu/language_menu.xml',
+ 'expert_theme/static/src/language_menu/language_menu.scss',
+ 'expert_theme/static/src/scss/intro_loader.scss',
+ 'expert_theme/static/src/js/intro_loader.js',
]
},
'installable': True,
diff --git a/odex30_base/expert_theme/controllers/__init__.py b/odex30_base/expert_theme/controllers/__init__.py
index 2b4d723..6b5f334 100644
--- a/odex30_base/expert_theme/controllers/__init__.py
+++ b/odex30_base/expert_theme/controllers/__init__.py
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
from . import expert_controller
+from . import main
\ No newline at end of file
diff --git a/odex30_base/expert_theme/controllers/main.py b/odex30_base/expert_theme/controllers/main.py
new file mode 100644
index 0000000..fc6cbac
--- /dev/null
+++ b/odex30_base/expert_theme/controllers/main.py
@@ -0,0 +1,18 @@
+import base64
+from odoo import http
+from odoo.http import request
+
+class IntroLoaderController(http.Controller):
+
+ @http.route('/intro_loader/image', type='http', auth="none")
+ def intro_loader_image(self, **kwargs):
+ # Fetch image from config
+ img_b64 = request.env['ir.config_parameter'].sudo().get_param('intro_loader.image_data')
+
+ if not img_b64:
+ # Return a 1x1 transparent pixel or default Odoo logo if none set
+ return request.redirect('/web/static/img/logo2.png')
+
+ image_data = base64.b64decode(img_b64)
+ headers = [('Content-Type', 'image/png')]
+ return request.make_response(image_data, headers)
\ No newline at end of file
diff --git a/odex30_base/expert_theme/i18n/ar_001.po b/odex30_base/expert_theme/i18n/ar_001.po
new file mode 100644
index 0000000..7231d7f
--- /dev/null
+++ b/odex30_base/expert_theme/i18n/ar_001.po
@@ -0,0 +1,1528 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * expert_theme
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 18.2a1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2026-01-06 05:42+0000\n"
+"PO-Revision-Date: 2026-01-06 05:42+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_modern_page
+msgid "Expert"
+msgstr "خبير"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_modern_page
+msgid "E"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Editing Existing Template: You are editing an existing template. \n"
+" To create a NEW template, go back to the list and click \"New\" button."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Note: Logo and image will be used across all three pages "
+"(Login, Signup, Reset Password) when Corporate template is active."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Note: Logo and image will be used across all three pages "
+"(Login, Signup, Reset Password) when Minimal template is active."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Note: Logo and image will be used across all three pages "
+"(Login, Signup, Reset Password) when Modern template is active."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Note: Only one template can be active at a time. \n"
+" Activating this template will deactivate all others. \n"
+" Each template has a completely different HTML structure and design."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Template Types: Sending the instructions by email ... The instructions to unlink your subscription from the previous database(s) have been sent Unable to send the instructions by email, please contact the Odoo Support
\n"
+" • Default: Standard Odoo login page
\n"
+" • Modern: Card design with gradient background
\n"
+" • Minimal: Clean minimal design
\n"
+" • Corporate: Professional dark theme"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Access Portal"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_tree
+msgid "Activate"
+msgstr "تفعيل"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__active
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__active
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_search
+msgid "Active"
+msgstr "نشط"
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__almarai
+msgid "Almarai"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Apply Theme"
+msgstr "تطبيق المظهر"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__arabic_fonts_style
+msgid "Arabic Fonts Style"
+msgstr "نمط الخطوط العربية"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_tree
+msgid ""
+"Are you sure you want to activate this template? It will deactivate all "
+"other templates."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.ui.menu,name:expert_theme.menu_expert_login_templates
+msgid "Auth Pages Templates"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.ui.menu,name:expert_theme.menu_expert_theme_colors
+msgid "Backend Themes"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__background_color
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Background Color"
+msgstr "لون الخلفية"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Background Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_button_bg_color
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_button_bg_color
+msgid "Background color for login button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_button_bg_hover
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_button_bg_hover
+msgid "Background color for login button on hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_button_bg_color
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_button_bg_color
+msgid "Background color for signup button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_button_bg_hover
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_button_bg_hover
+msgid "Background color for signup button on hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__background_color
+msgid "Background color for the login page"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Background color for the login page (used for CSS customization)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__beiruti
+msgid "Beiruti"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__border_color
+msgid "Border Color"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Border Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Button Colors"
+msgstr "ألوان الأزرار"
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_button_text
+msgid "Button text for Minimal template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_button_text
+msgid "Button text for Minimal template signup page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_button_text
+msgid "Button text for Modern template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_button_text
+msgid "Button text for Modern template signup page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__cairo
+msgid "Cairo"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "Check the browser console for debugging information"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,description:expert_theme.expert_login_template_minimal
+msgid "Clean minimal design template"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "Click to open"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__home_banner_bg_type__color
+msgid "Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__navbar_brand_color
+msgid "Color of the brand/logo text in the navbar"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__navbar_link_color
+msgid "Color of the links in the navbar"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid ""
+"Company\n"
+" Portal"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_modern_page
+msgid "Company Logo"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__corporate_template_logo
+msgid ""
+"Company logo to display on Corporate login, signup, and reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_template_logo
+msgid ""
+"Company logo to display on Minimal login, signup, and reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_template_logo
+msgid ""
+"Company logo to display on Modern login, signup, and reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__name
+msgid "Configuration Name"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.actions.act_window,help:expert_theme.action_expert_login_template
+msgid ""
+"Configure different login page templates and switch between them.\n"
+" Each template can have different colors, backgrounds, and styles."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__bg_content
+msgid "Content Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_login_template__template_type__corporate
+msgid "Corporate Design"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,name:expert_theme.expert_login_template_corporate
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Corporate Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__corporate_template_image
+msgid "Corporate Template Image"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__corporate_template_logo
+msgid "Corporate Template Logo"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_signup_button_text:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_signup_button_text:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_signup_button_text:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_signup_button_text:expert_theme.expert_login_template_modern
+#: model:expert.login.template,minimal_signup_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_signup_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_signup_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_signup_title:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_signup_button_text:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_signup_button_text:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_signup_button_text:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_signup_button_text:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_signup_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_signup_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_signup_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_signup_title:expert_theme.expert_login_template_modern
+msgid "Create an account"
+msgstr "إنشاء حساب"
+
+#. module: expert_theme
+#: model_terms:ir.actions.act_window,help:expert_theme.action_expert_login_template
+msgid "Create your first login page template!"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.actions.act_window,help:expert_theme.action_expert_theme_config
+msgid "Create your first theme configuration!"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__create_uid
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__create_date
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.actions.act_window,help:expert_theme.action_expert_theme_config
+msgid ""
+"Customize the colors of your Expert Theme by creating a new configuration.\n"
+" You can set primary colors, button colors, backgrounds, and more."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__danger_color
+msgid "Danger Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__danger_color
+msgid "Danger/Error state (red)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__default
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__default
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+msgid "Default"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_login_template__template_type__default
+msgid "Default Odoo Login"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,name:expert_theme.expert_login_template_default
+msgid "Default Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__border_color
+msgid "Default border color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__is_default
+msgid "Default template to use"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Describe this template..."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__description
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Description"
+msgstr "الوصف"
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__description
+msgid "Description of this template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__display_name
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__display_name
+#: model:ir.model.fields,field_description:expert_theme.field_ir_http__display_name
+msgid "Display Name"
+msgstr "الاسم المعروض"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_tree
+msgid "Duplicate"
+msgstr "تكرار"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__english_fonts_style
+msgid "English Fonts Style"
+msgstr "نمط الخطوط الإنجليزية"
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_reset_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_reset_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_reset_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_reset_subtitle:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_reset_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_reset_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_reset_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_reset_subtitle:expert_theme.expert_login_template_modern
+msgid "Enter your email to receive reset instructions"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Enter your password"
+msgstr "أدخل كلمة المرور"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Enter your username"
+msgstr "أدخل اسم المستخدم"
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "Error:"
+msgstr "خطأ:"
+
+#. module: expert_theme
+#: model:ir.actions.client,name:expert_theme.action_expert_home
+msgid "Expert Home"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model,name:expert_theme.model_expert_login_template
+msgid "Expert Login Page Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model,name:expert_theme.model_expert_theme_config
+msgid "Expert Theme Color Configuration"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Expert Theme Configuration"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_tree
+msgid "Expert Theme Configurations"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Fonts Settings"
+msgstr "إعدادات الخطوط"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__bg_gradient_end
+msgid "Gradient End"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__bg_gradient_start
+msgid "Gradient Start"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_search
+msgid "Group By"
+msgstr "تجميع حسب"
+
+#. module: expert_theme
+#: model:ir.model,name:expert_theme.model_ir_http
+msgid "HTTP Routing"
+msgstr "مسار HTTP"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__home_banner_bg_image
+msgid "Home Banner Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__home_banner_bg_type
+msgid "Home Banner Background Type"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Home Banner Settings"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__home_banner_text
+msgid "Home Banner Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__navbar_link_hover
+msgid "Hover color for navbar links"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__primary_hover
+msgid "Hover state for primary elements"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__secondary_hover
+msgid "Hover state for secondary elements"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__ibm_plex_sans_arabic
+msgid "IBM Plex Sans Arabic"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__id
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__id
+#: model:ir.model.fields,field_description:expert_theme.field_ir_http__id
+msgid "ID"
+msgstr "المُعرف"
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__home_banner_bg_type__image
+msgid "Image"
+msgstr "صورة"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__home_banner_bg_image_filename
+msgid "Image Filename"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__corporate_template_image
+msgid ""
+"Image to display on the right side of Corporate login, signup, and reset "
+"password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_template_image
+msgid ""
+"Image to display on the right side of Minimal login, signup, and reset "
+"password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_template_image
+msgid ""
+"Image to display on the right side of Modern login, signup, and reset "
+"password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_search
+msgid "Inactive"
+msgstr "غير نشط"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__info_color
+msgid "Info Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__info_color
+msgid "Info state (blue)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__inter
+msgid "Inter"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__is_default
+msgid "Is Default Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_signup_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_signup_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_signup_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_signup_subtitle:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_signup_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_signup_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_signup_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_signup_subtitle:expert_theme.expert_login_template_modern
+msgid "Join us today and get started"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_modern_page
+msgid ""
+"Kindly fill in your details below to sign in to your\n"
+" account"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_login_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_login_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_login_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_login_subtitle:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_login_subtitle:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_login_subtitle:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_login_subtitle:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_login_subtitle:expert_theme.expert_login_template_modern
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+msgid "Kindly fill in your details below to sign in to your account"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__write_uid
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__write_date
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__libertinus_serif_display
+msgid "Libertinus Serif Display"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__libre_baskerville
+msgid "Libre Baskerville"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__border_light
+msgid "Light Border"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_light
+msgid "Light Button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_light_hover
+msgid "Light Button Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_light_text
+msgid "Light Button Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__text_light
+msgid "Light Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__border_light
+msgid "Light border color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_light_hover
+msgid "Light button hover state"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_light_text
+msgid "Light button text color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_light
+msgid "Light buttons (like \"Learn More\" buttons)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__text_light
+msgid "Light text (for dark backgrounds)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__primary_light
+msgid "Light version of primary color"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "Loading your modules..."
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "Loading..."
+msgstr "جارٍ التحميل..."
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_button_bg_hover
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_button_bg_hover
+msgid "Login Button BG Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_button_bg_color
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_button_bg_color
+msgid "Login Button Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_button_text
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_button_text
+msgid "Login Button Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_button_text_color
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_button_text_color
+msgid "Login Button Text Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_button_text_hover
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_button_text_hover
+msgid "Login Button Text Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Login Page"
+msgstr "صفحة تسجيل الدخول"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Login Page Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.actions.act_window,name:expert_theme.action_expert_login_template
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_tree
+msgid "Login Page Templates"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_subtitle
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_subtitle
+msgid "Login Subtitle"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_login_title
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_login_title
+msgid "Login Title"
+msgstr "عنوان تسجيل الدخول"
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__primary_color
+msgid "Main brand color - affects navbar, primary buttons, and accents"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__bg_content
+msgid "Main content background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__text_primary
+msgid "Main text color (dark)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_login_template__template_type__minimal
+msgid "Minimal Design"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,name:expert_theme.expert_login_template_minimal
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Minimal Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_template_image
+msgid "Minimal Template Image"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_template_logo
+msgid "Minimal Template Logo"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Minimal Template Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_login_template__template_type__modern
+msgid "Modern Card Design"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,name:expert_theme.expert_login_template_modern
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Modern Template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_template_image
+msgid "Modern Template Image"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_template_logo
+msgid "Modern Template Logo"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Modern Template Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,description:expert_theme.expert_login_template_modern
+msgid "Modern card design with gradient background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__name
+msgid "Name of the login page template"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__navbar_brand_color
+msgid "Navbar Brand Color"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Navbar Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__navbar_link_color
+msgid "Navbar Link Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__navbar_link_hover
+msgid "Navbar Link Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__bg_primary
+msgid "Navbar background"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "No installed modules found."
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "No modules are currently installed"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__noto_kufi_arabic
+msgid "Noto Kufi Arabic"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__noto_sans_arabic
+msgid "Noto Sans Arabic"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.ui.menu,name:expert_theme.menu_expert_root
+msgid "Odex Theme"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__active
+msgid ""
+"Only one template can be active at a time. Activate this template to use it "
+"on the login page."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__sequence
+msgid "Order of display"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__oswald
+msgid "Oswald"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__bg_gradient_end
+msgid "Page gradient end color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__bg_gradient_start
+msgid "Page gradient start color"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Password"
+msgstr "كلمة المرور"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__bg_primary
+msgid "Primary Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_primary
+msgid "Primary Button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_primary_hover
+msgid "Primary Button Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__primary_color
+msgid "Primary Color"
+msgstr "اللون الأساسي"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Primary Colors"
+msgstr "الألوان الأساسية"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__primary_hover
+msgid "Primary Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__primary_light
+msgid "Primary Light"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__text_primary
+msgid "Primary Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_primary_hover
+msgid "Primary button hover state"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_primary
+msgid "Primary buttons (like \"Activate\" buttons)"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,description:expert_theme.expert_login_template_corporate
+msgid "Professional corporate dark theme"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__quicksand
+msgid "Quicksand"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__raleway
+msgid "Raleway"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Reset Password Page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_reset_subtitle
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_reset_subtitle
+msgid "Reset Password Subtitle"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_reset_title
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_reset_title
+msgid "Reset Password Title"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_reset_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_reset_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_reset_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_reset_title:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_reset_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_reset_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_reset_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_reset_title:expert_theme.expert_login_template_modern
+msgid "Reset your password"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__roboto
+msgid "Roboto"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__rubik
+msgid "Rubik"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Save"
+msgstr "حفظ"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+msgid "Search Login Templates"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_search
+msgid "Search Theme Configurations"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__bg_secondary
+msgid "Secondary Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_secondary
+msgid "Secondary Button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__btn_secondary_hover
+msgid "Secondary Button Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__secondary_color
+msgid "Secondary Color"
+msgstr "اللون الثانوي"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Secondary Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__secondary_hover
+msgid "Secondary Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__text_secondary
+msgid "Secondary Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__secondary_color
+msgid "Secondary brand color - affects upgrade buttons and secondary elements"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_secondary_hover
+msgid "Secondary button hover state"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__btn_secondary
+msgid "Secondary buttons (like \"Upgrade\" buttons)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__text_secondary
+msgid "Secondary text color (gray)"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Secure Login Access"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__template_type
+msgid ""
+"Select the login page template design. Each design has a completely "
+"different HTML structure and layout."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__sequence
+msgid "Sequence"
+msgstr "التسلسل"
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__bg_secondary
+msgid "Sidebar background"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_login_button_text:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_login_button_text:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_login_button_text:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_login_button_text:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_login_button_text:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_login_button_text:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_login_button_text:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_login_button_text:expert_theme.expert_login_template_modern
+msgid "Sign In"
+msgstr "تسجيل الدخول"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_button_bg_hover
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_button_bg_hover
+msgid "Signup Button BG Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_button_bg_color
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_button_bg_color
+msgid "Signup Button Background"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_button_text
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_button_text
+msgid "Signup Button Text"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_button_text_color
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_button_text_color
+msgid "Signup Button Text Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_button_text_hover
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_button_text_hover
+msgid "Signup Button Text Hover"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+msgid "Signup Illustration"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Signup Page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_subtitle
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_subtitle
+msgid "Signup Subtitle"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__minimal_signup_title
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__modern_signup_title
+msgid "Signup Title"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__space_grotesk
+msgid "Space Grotesk"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,description:expert_theme.expert_login_template_default
+msgid "Standard Odoo login page template"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_search
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_search
+msgid "Status"
+msgstr "الحالة"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Status Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__story_script
+msgid "Story Script"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_subtitle
+msgid "Subtitle text for Minimal template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_reset_subtitle
+msgid "Subtitle text for Minimal template reset password page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_subtitle
+msgid "Subtitle text for Minimal template signup page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_subtitle
+msgid "Subtitle text for Modern template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_reset_subtitle
+msgid "Subtitle text for Modern template reset password page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_subtitle
+msgid "Subtitle text for Modern template signup page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__success_color
+msgid "Success Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__success_color
+msgid "Success/Active state (green)"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__arabic_fonts_style__tajawal
+msgid "Tajawal"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__template_type
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Template Design"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Template Images & Logo"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_login_template__name
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Template Name"
+msgstr "اسم القالب"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "Template Settings"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Text Colors"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_button_text_color
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_button_text_color
+msgid "Text color for login button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_button_text_hover
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_button_text_hover
+msgid "Text color for login button on hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_button_text_color
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_button_text_color
+msgid "Text color for signup button"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_button_text_hover
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_button_text_hover
+msgid "Text color for signup button on hover"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__home_banner_text
+msgid "Text color for the home screen banner"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "The module detection is not working properly"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.actions.act_window,name:expert_theme.action_expert_theme_config
+msgid "Theme Colors"
+msgstr "ألوان المظهر"
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_theme_config_form
+msgid "Theme Name"
+msgstr "اسم المظهر"
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "This could mean:"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_login_title
+msgid "Title text for Minimal template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_reset_title
+msgid "Title text for Minimal template reset password page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__minimal_signup_title
+msgid "Title text for Minimal template signup page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_login_title
+msgid "Title text for Modern template login page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_reset_title
+msgid "Title text for Modern template reset password page"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_login_template__modern_signup_title
+msgid "Title text for Modern template signup page"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid ""
+"Try refreshing the page or check if modules are properly installed in Odoo."
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields.selection,name:expert_theme.selection__expert_theme_config__english_fonts_style__ubuntu
+msgid "Ubuntu"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Upload an image to display on the right side of Corporate login, signup, and"
+" reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Upload an image to display on the right side of Minimal login, signup, and "
+"reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Upload an image to display on the right side of Modern login, signup, and "
+"reset password pages"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid ""
+"Upload your company logo (recommended size: 40x40px). This will replace the "
+"default 'E' icon."
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_corporate_page
+msgid "Username"
+msgstr "اسم المستخدم"
+
+#. module: expert_theme
+#: model:ir.model.fields,field_description:expert_theme.field_expert_theme_config__warning_color
+msgid "Warning Color"
+msgstr ""
+
+#. module: expert_theme
+#: model:ir.model.fields,help:expert_theme.field_expert_theme_config__warning_color
+msgid "Warning state (yellow)"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_modern_page
+msgid ""
+"Welcome to Expert \n"
+" 👋"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.login_template_minimal_page
+msgid "Welcome to Expert 👋"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_home
+msgid "Welcome to Expert Theme"
+msgstr ""
+
+#. module: expert_theme
+#: model:expert.login.template,minimal_login_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,minimal_login_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,minimal_login_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,minimal_login_title:expert_theme.expert_login_template_modern
+#: model:expert.login.template,modern_login_title:expert_theme.expert_login_template_corporate
+#: model:expert.login.template,modern_login_title:expert_theme.expert_login_template_default
+#: model:expert.login.template,modern_login_title:expert_theme.expert_login_template_minimal
+#: model:expert.login.template,modern_login_title:expert_theme.expert_login_template_modern
+msgid "Welcome to Expert 👋"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_home
+msgid "Your installed modules are listed below"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Create an account"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Enter your email to receive reset instructions"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Join us today and get started"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Kindly fill in your details below to sign in to your account"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Reset your password"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Sign In"
+msgstr ""
+
+#. module: expert_theme
+#: model_terms:ir.ui.view,arch_db:expert_theme.view_expert_login_template_form
+msgid "e.g., Welcome to Expert 👋"
+msgstr ""
+
+#. module: expert_theme
+#. odoo-javascript
+#: code:addons/expert_theme/static/src/xml/expert_home.xml:0
+msgid "🎨 Customize Theme Colors"
+msgstr ""
diff --git a/odex30_base/expert_theme/models/__init__.py b/odex30_base/expert_theme/models/__init__.py
index 6878437..51fd383 100644
--- a/odex30_base/expert_theme/models/__init__.py
+++ b/odex30_base/expert_theme/models/__init__.py
@@ -2,3 +2,5 @@
from . import expert_theme_config
from . import expert_login_template
+from . import ir_http
+from . import res_config_settings
\ No newline at end of file
diff --git a/odex30_base/expert_theme/models/expert_theme_config.py b/odex30_base/expert_theme/models/expert_theme_config.py
index 6d0060d..faa6960 100644
--- a/odex30_base/expert_theme/models/expert_theme_config.py
+++ b/odex30_base/expert_theme/models/expert_theme_config.py
@@ -12,8 +12,8 @@ class ExpertThemeConfig(models.Model):
active = fields.Boolean(string='Active', default=True)
# Primary Colors
- primary_color = fields.Char(string='Primary Color', default='#875A7B', help='Main brand color - affects navbar, primary buttons, and accents')
- primary_hover = fields.Char(string='Primary Hover', default='#6B4C6B', help='Hover state for primary elements')
+ primary_color = fields.Char(string='Primary Color', default='#194571', help='Main brand color - affects navbar, primary buttons, and accents')
+ primary_hover = fields.Char(string='Primary Hover', default="#1A3958", help='Hover state for primary elements')
primary_light = fields.Char(string='Primary Light', default='#A67B9B', help='Light version of primary color')
# Secondary Colors
@@ -21,8 +21,8 @@ class ExpertThemeConfig(models.Model):
secondary_hover = fields.Char(string='Secondary Hover', default='#008B8A', help='Hover state for secondary elements')
# Button Colors
- btn_primary = fields.Char(string='Primary Button', default='#875A7B', help='Primary buttons (like "Activate" buttons)')
- btn_primary_hover = fields.Char(string='Primary Button Hover', default='#6B4C6B', help='Primary button hover state')
+ btn_primary = fields.Char(string='Primary Button', default='#194571', help='Primary buttons (like "Activate" buttons)')
+ btn_primary_hover = fields.Char(string='Primary Button Hover', default='#1A3958', help='Primary button hover state')
btn_secondary = fields.Char(string='Secondary Button', default='#00A09D', help='Secondary buttons (like "Upgrade" buttons)')
btn_secondary_hover = fields.Char(string='Secondary Button Hover', default='#008B8A', help='Secondary button hover state')
btn_light = fields.Char(string='Light Button', default='#F8F9FA', help='Light buttons (like "Learn More" buttons)')
@@ -30,8 +30,8 @@ class ExpertThemeConfig(models.Model):
btn_light_text = fields.Char(string='Light Button Text', default='#6C757D', help='Light button text color')
# Background Colors
- bg_primary = fields.Char(string='Primary Background', default='#875A7B', help='Navbar background')
- bg_secondary = fields.Char(string='Secondary Background', default='#F8F9FA', help='Sidebar background')
+ bg_primary = fields.Char(string='Primary Background', default='#194571', help='Navbar background')
+ bg_secondary = fields.Char(string='Secondary Background', default='#194571', help='Sidebar background')
bg_content = fields.Char(string='Content Background', default='#FFFFFF', help='Main content background')
bg_gradient_start = fields.Char(string='Gradient Start', default='#f5f7fa', help='Page gradient start color')
bg_gradient_end = fields.Char(string='Gradient End', default='#c3cfe2', help='Page gradient end color')
@@ -50,7 +50,49 @@ class ExpertThemeConfig(models.Model):
warning_color = fields.Char(string='Warning Color', default='#FFC107', help='Warning state (yellow)')
danger_color = fields.Char(string='Danger Color', default='#DC3545', help='Danger/Error state (red)')
info_color = fields.Char(string='Info Color', default='#17A2B8', help='Info state (blue)')
+
+ # Navbar Colors
+ navbar_brand_color = fields.Char(string='Navbar Brand Color', default='#FFFFFF', help='Color of the brand/logo text in the navbar')
+ navbar_link_color = fields.Char(string='Navbar Link Color', default='#FFFFFF', help='Color of the links in the navbar')
+ navbar_link_hover = fields.Char(string='Navbar Link Hover', default='#194571', help='Hover color for navbar links')
+
+ # home screen banner
+ home_banner_bg_type = fields.Selection([
+ ('color', 'Color'),
+ ('image', 'Image')
+ ], string='Home Banner Background Type', default='color', required=True)
+ home_banner_bg_image = fields.Binary(string='Home Banner Background', attachment=True)
+ home_banner_bg_image_filename = fields.Char(string='Image Filename')
+ home_banner_text = fields.Char(string='Home Banner Text', default='#212529', help='Text color for the home screen banner')
+
+ # Font Styles
+ arabic_fonts_style = fields.Selection([
+ ('default', 'Default'),
+ ('rubik', 'Rubik'),
+ ('cairo', 'Cairo'),
+ ('tajawal', 'Tajawal'),
+ ('noto_sans_arabic', 'Noto Sans Arabic'),
+ ('almarai', 'Almarai'),
+ ('ibm_plex_sans_arabic', 'IBM Plex Sans Arabic'),
+ ('noto_kufi_arabic', 'Noto Kufi Arabic'),
+ ('beiruti', 'Beiruti'),
+ ], string='Arabic Fonts Style', default='default')
+ english_fonts_style = fields.Selection([
+ ('default', 'Default'),
+ ('roboto', 'Roboto'),
+ ('roboto', 'Roboto'),
+ ('inter', 'Inter'),
+ ('story_script', 'Story Script'),
+ ('oswald', 'Oswald'),
+ ('raleway','Raleway'),
+ ('libertinus_serif_display', 'Libertinus Serif Display'),
+ ('ubuntu','Ubuntu'),
+ ('quicksand', 'Quicksand'),
+ ('libre_baskerville', 'Libre Baskerville'),
+ ('space_grotesk', 'Space Grotesk'),
+ ], string='English Fonts Style', default='default')
+
@api.model
def get_active_config(self):
"""Get the active configuration or create a default one"""
@@ -66,6 +108,23 @@ class ExpertThemeConfig(models.Model):
def get_css_variables(self):
"""Get CSS variables for the active configuration"""
config = self.get_active_config()
+
+ banner_bg = "url('/expert_theme/static/src/img/home/background-light.png') no-repeat center / cover"
+ # check home banner bg type
+ if config.home_banner_bg_type == 'color':
+ banner_bg = config.primary_color
+ else:
+ if config.home_banner_bg_image:
+ banner_bg = f"url('/web/content/{config._name}/{config.id}/home_banner_bg_image') no-repeat center / cover"
+
+ # get font styles
+ arabic_font_label = 'var(--font-sans-serif)'
+ english_font_label = 'var(--font-sans-serif)'
+ if self.arabic_fonts_style != 'default':
+ arabic_font_label = dict(self.fields_get(allfields=['arabic_fonts_style'])['arabic_fonts_style']['selection']).get(self.arabic_fonts_style, self.arabic_fonts_style)
+ if self.english_fonts_style != 'default':
+ english_font_label = dict(self.fields_get(allfields=['english_fonts_style'])['english_fonts_style']['selection']).get(self.english_fonts_style, self.english_fonts_style)
+
return {
'--expert-primary-color': config.primary_color,
'--expert-primary-hover': config.primary_hover,
@@ -93,6 +152,13 @@ class ExpertThemeConfig(models.Model):
'--expert-warning': config.warning_color,
'--expert-danger': config.danger_color,
'--expert-info': config.info_color,
+ '--expert-home-banner-bg': banner_bg,
+ '--homeMenuCaption-color': config.home_banner_text,
+ '--NavBar-brand-color': config.navbar_brand_color,
+ '--NavBar-entry-color': config.navbar_link_color,
+ '--NavBar-entry-color--hover': config.navbar_link_hover,
+ '--expert-ar-font-family': arabic_font_label,
+ '--expert-en-font-family': english_font_label
}
def apply_theme(self):
diff --git a/odex30_base/expert_theme/models/ir_http.py b/odex30_base/expert_theme/models/ir_http.py
new file mode 100644
index 0000000..44cb022
--- /dev/null
+++ b/odex30_base/expert_theme/models/ir_http.py
@@ -0,0 +1,19 @@
+# models/ir_http.py
+from odoo import models
+
+class IrHttp(models.AbstractModel):
+ _inherit = 'ir.http'
+
+ def session_info(self):
+ result = super().session_info()
+ # Fetch all active languages
+ languages = self.env['res.lang'].search_read(
+ [('active', '=', True)],
+ ['code', 'name', 'flag_image_url']
+ )
+ # Sort them: Current user's lang first, then by name
+ current_lang = self.env.user.lang
+ languages.sort(key=lambda x: (x['code'] != current_lang, x['name']))
+
+ result['available_languages'] = languages
+ return result
\ No newline at end of file
diff --git a/odex30_base/expert_theme/models/res_config_settings.py b/odex30_base/expert_theme/models/res_config_settings.py
new file mode 100644
index 0000000..d6023cc
--- /dev/null
+++ b/odex30_base/expert_theme/models/res_config_settings.py
@@ -0,0 +1,37 @@
+from odoo import models, fields, api
+
+class ResConfigSettings(models.TransientModel):
+ _inherit = 'res.config.settings'
+
+ intro_loader_active = fields.Boolean(string="Enable Intro Loader", config_parameter='intro_loader.active')
+
+ # Text Configuration
+ intro_loader_text = fields.Char(string="Loader Text", config_parameter='intro_loader.text', default="Loading...")
+ intro_loader_show_text = fields.Boolean(string="Show Text", config_parameter='intro_loader.show_text')
+
+ # Spinner Configuration
+ intro_loader_show_spinner = fields.Boolean(string="Show Spinner", config_parameter='intro_loader.show_spinner')
+
+ # Image Configuration
+ intro_loader_image = fields.Binary(string="Loader Image", attachment=True)
+ intro_loader_animation = fields.Selection([
+ ('pulse', 'Pulse'),
+ ('spin', 'Spin'),
+ ('bounce', 'Bounce'),
+ ('none', 'Static')
+ ], string="Image Animation", config_parameter='intro_loader.animation', default='pulse')
+
+ @api.model
+ def get_values(self):
+ res = super(ResConfigSettings, self).get_values()
+ # Retrieve the image manually since config_parameter doesn't store binaries well
+ params = self.env['ir.config_parameter'].sudo()
+ image = params.get_param('intro_loader.image_data')
+ res.update(intro_loader_image=image)
+ return res
+
+ def set_values(self):
+ super(ResConfigSettings, self).set_values()
+ # Save the image as a string parameter (or handle via attachment for larger files)
+ params = self.env['ir.config_parameter'].sudo()
+ params.set_param('intro_loader.image_data', self.intro_loader_image or False)
\ No newline at end of file
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrI0FFlKp.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrI0FFlKp.woff2
new file mode 100644
index 0000000..d0edc13
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrI0FFlKp.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrJ8FFlKp.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrJ8FFlKp.woff2
new file mode 100644
index 0000000..a241ebb
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrJ8FFlKp.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrO0FFlKp.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrO0FFlKp.woff2
new file mode 100644
index 0000000..4b37cf3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrO0FFlKp.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOMFFg.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOMFFg.woff2
new file mode 100644
index 0000000..e6b33e2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOMFFg.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOYFFlKp.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOYFFlKp.woff2
new file mode 100644
index 0000000..5755070
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOYFFlKp.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzGBCw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzGBCw.woff2
new file mode 100644
index 0000000..d62192f
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzGBCw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzSBC45I.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzSBC45I.woff2
new file mode 100644
index 0000000..bd8cd1f
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iura6YBj_oCad4k1nzSBC45I.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrFpiQ.woff2
new file mode 100644
index 0000000..05d3a6e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrRpiYlJ.woff2
new file mode 100644
index 0000000..da5472e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l4qkHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrFpiQ.woff2
new file mode 100644
index 0000000..0a11d0e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrRpiYlJ.woff2
new file mode 100644
index 0000000..af73b03
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5anHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrFpiQ.woff2
new file mode 100644
index 0000000..ddd5d6b
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrRpiYlJ.woff2
new file mode 100644
index 0000000..677481a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l5qjHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrFpiQ.woff2
new file mode 100644
index 0000000..3825bb3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrRpiYlJ.woff2
new file mode 100644
index 0000000..f6d28c2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l7KmHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrFpiQ.woff2
new file mode 100644
index 0000000..c7b63d3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrRpiYlJ.woff2
new file mode 100644
index 0000000..3e5c444
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l8KiHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrFpiQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrFpiQ.woff2
new file mode 100644
index 0000000..28249eb
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrFpiQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrRpiYlJ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrRpiYlJ.woff2
new file mode 100644
index 0000000..e1970f0
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Iurf6YBj_oCad4k1l_6gHrRpiYlJ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSA1t4FZA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSA1t4FZA.woff2
new file mode 100644
index 0000000..32f64c2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSA1t4FZA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAZt4FZA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAZt4FZA.woff2
new file mode 100644
index 0000000..75c0bba
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAZt4FZA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAdt4FZA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAdt4FZA.woff2
new file mode 100644
index 0000000..b854f33
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAdt4FZA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAht4A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAht4A.woff2
new file mode 100644
index 0000000..02d1a1c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/JTUXjIU69Cmr9FGcSAht4A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PWrfQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PWrfQ.woff2
new file mode 100644
index 0000000..fb4678c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PWrfQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys93PU.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys93PU.woff2
new file mode 100644
index 0000000..f929295
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys93PU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysw3PWrfQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysw3PWrfQ.woff2
new file mode 100644
index 0000000..92d42d5
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysw3PWrfQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysz3PWrfQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysz3PWrfQ.woff2
new file mode 100644
index 0000000..d5b551f
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysz3PWrfQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PKzeflA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PKzeflA.woff2
new file mode 100644
index 0000000..5421e8e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PKzeflA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PezeQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PezeQ.woff2
new file mode 100644
index 0000000..57d3778
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PezeQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PmzeflA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PmzeflA.woff2
new file mode 100644
index 0000000..c3fe27c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PmzeflA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PqzeflA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PqzeflA.woff2
new file mode 100644
index 0000000..5cfddef
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PqzeflA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCRXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCRXMR5Kw.woff2
new file mode 100644
index 0000000..f8bd4ea
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCRXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCUXMQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCUXMQ.woff2
new file mode 100644
index 0000000..0711030
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCUXMQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCZXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCZXMR5Kw.woff2
new file mode 100644
index 0000000..95295d8
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCZXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCaXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCaXMR5Kw.woff2
new file mode 100644
index 0000000..51035a3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCaXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCRXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCRXMR5Kw.woff2
new file mode 100644
index 0000000..97085a8
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCRXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCUXMQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCUXMQ.woff2
new file mode 100644
index 0000000..133e653
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCUXMQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCZXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCZXMR5Kw.woff2
new file mode 100644
index 0000000..ca0cb2e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCZXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCaXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCaXMR5Kw.woff2
new file mode 100644
index 0000000..225e993
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCaXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CRXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CRXMR5Kw.woff2
new file mode 100644
index 0000000..3d03f7b
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CRXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CUXMQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CUXMQ.woff2
new file mode 100644
index 0000000..5a2b601
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CUXMQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CZXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CZXMR5Kw.woff2
new file mode 100644
index 0000000..73d2838
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CZXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CaXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CaXMR5Kw.woff2
new file mode 100644
index 0000000..a986c7e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CaXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMR5Kw.woff2
new file mode 100644
index 0000000..86fefef
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCUXMQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCUXMQ.woff2
new file mode 100644
index 0000000..fd0d7f3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCUXMQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCZXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCZXMR5Kw.woff2
new file mode 100644
index 0000000..9d22c2e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCZXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCaXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCaXMR5Kw.woff2
new file mode 100644
index 0000000..53a59fe
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCaXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCRXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCRXMR5Kw.woff2
new file mode 100644
index 0000000..112a24e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCRXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCUXMQ.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCUXMQ.woff2
new file mode 100644
index 0000000..8520239
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCUXMQ.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCZXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCZXMR5Kw.woff2
new file mode 100644
index 0000000..c588249
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCZXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCaXMR5Kw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCaXMR5Kw.woff2
new file mode 100644
index 0000000..668e8c4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCaXMR5Kw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2
new file mode 100644
index 0000000..98ece7b
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2
new file mode 100644
index 0000000..bb04766
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2
new file mode 100644
index 0000000..5b6a642
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnX661A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnX661A.woff2
new file mode 100644
index 0000000..c39379c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnX661A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXC61F3f.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXC61F3f.woff2
new file mode 100644
index 0000000..2eb28bc
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXC61F3f.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXO61F3f.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXO61F3f.woff2
new file mode 100644
index 0000000..8228bc4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXO61F3f.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXq61F3f.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXq61F3f.woff2
new file mode 100644
index 0000000..fc8a409
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXq61F3f.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXu61F3f.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXu61F3f.woff2
new file mode 100644
index 0000000..1a6b967
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXu61F3f.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXy61F3f.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXy61F3f.woff2
new file mode 100644
index 0000000..1f1306a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWEBXyIfDnIV7nEnXy61F3f.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nBrXw.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nBrXw.woff2
new file mode 100644
index 0000000..42fc52a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nBrXw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nDrXyi0A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nDrXyi0A.woff2
new file mode 100644
index 0000000..e445d06
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nDrXyi0A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nErXyi0A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nErXyi0A.woff2
new file mode 100644
index 0000000..557cbb7
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nErXyi0A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nFrXyi0A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nFrXyi0A.woff2
new file mode 100644
index 0000000..1becf8a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nFrXyi0A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nMrXyi0A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nMrXyi0A.woff2
new file mode 100644
index 0000000..16abe42
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nMrXyi0A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nPrXyi0A.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nPrXyi0A.woff2
new file mode 100644
index 0000000..55166f7
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/iJWKBXyIfDnIV7nPrXyi0A.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj41v4o.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj41v4o.woff2
new file mode 100644
index 0000000..83ea034
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj41v4o.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj47v4r4xA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj47v4r4xA.woff2
new file mode 100644
index 0000000..61d55c2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj47v4r4xA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj4wv4r4xA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj4wv4r4xA.woff2
new file mode 100644
index 0000000..0563cb3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj4wv4r4xA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5Jv4r4xA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5Jv4r4xA.woff2
new file mode 100644
index 0000000..f965e8e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5Jv4r4xA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5bv4r4xA.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5bv4r4xA.woff2
new file mode 100644
index 0000000..840022e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5bv4r4xA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtn-Wow.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtn-Wow.woff2
new file mode 100644
index 0000000..449417c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtn-Wow.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtnqWo572.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtnqWo572.woff2
new file mode 100644
index 0000000..6a6ebe1
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS-agtnqWo572.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antn-Wow.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antn-Wow.woff2
new file mode 100644
index 0000000..a88bb36
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antn-Wow.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antnqWo572.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antnqWo572.woff2
new file mode 100644
index 0000000..c588799
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_antnqWo572.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtn-Wow.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtn-Wow.woff2
new file mode 100644
index 0000000..e6d1169
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtn-Wow.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtnqWo572.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtnqWo572.woff2
new file mode 100644
index 0000000..f684f26
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tssoApxBaigK_hnnS_qjtnqWo572.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ12Fow.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ12Fow.woff2
new file mode 100644
index 0000000..053147a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ12Fow.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ1iFo0C3.woff2 b/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ1iFo0C3.woff2
new file mode 100644
index 0000000..1209342
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/ar/tsstApxBaigK_hnnQ1iFo0C3.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/ar_fonts.scss b/odex30_base/expert_theme/static/src/fonts/ar_fonts.scss
new file mode 100644
index 0000000..3751f0f
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/fonts/ar_fonts.scss
@@ -0,0 +1,716 @@
+/* arabic */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS_antnqWo572.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS_antn-Wow.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/tsstApxBaigK_hnnQ1iFo0C3.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/tsstApxBaigK_hnnQ12Fow.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS-agtnqWo572.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS-agtn-Wow.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS_qjtnqWo572.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Almarai';
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(ar/tssoApxBaigK_hnnS_qjtn-Wow.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Beiruti';
+ font-style: normal;
+ font-weight: 200 900;
+ font-display: swap;
+ src: url(ar/JTUXjIU69Cmr9FGcSA1t4FZA.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Beiruti';
+ font-style: normal;
+ font-weight: 200 900;
+ font-display: swap;
+ src: url(ar/JTUXjIU69Cmr9FGcSAdt4FZA.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Beiruti';
+ font-style: normal;
+ font-weight: 200 900;
+ font-display: swap;
+ src: url(ar/JTUXjIU69Cmr9FGcSAZt4FZA.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Beiruti';
+ font-style: normal;
+ font-weight: 200 900;
+ font-display: swap;
+ src: url(ar/JTUXjIU69Cmr9FGcSAht4A.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Cairo';
+ font-style: normal;
+ font-weight: 200 1000;
+ font-display: swap;
+ src: url(ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Cairo';
+ font-style: normal;
+ font-weight: 200 1000;
+ font-display: swap;
+ src: url(ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Cairo';
+ font-style: normal;
+ font-weight: 200 1000;
+ font-display: swap;
+ src: url(ar/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 100;
+ font-display: swap;
+ src: url(ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PKzeflA.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 100;
+ font-display: swap;
+ src: url(ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PqzeflA.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 100;
+ font-display: swap;
+ src: url(ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PmzeflA.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 100;
+ font-display: swap;
+ src: url(ar/Qw3MZRtWPQCuHme67tEYUIx3Kh0PHR9N6YNe7PezeQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCRXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCZXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCaXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPy_eCUXMQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCRXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCZXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCaXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOW_uCUXMQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys43PWrfQ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysw3PWrfQ.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ysz3PWrfQ.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6Ys93PU.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CRXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CZXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CaXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPO_-CUXMQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCZXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCaXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCUXMQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCRXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCZXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCaXMR5Kw.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'IBM Plex Sans Arabic';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-eCUXMQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Noto Kufi Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOYFFlKp.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* math */
+@font-face {
+ font-family: 'Noto Kufi Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrJ8FFlKp.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Noto Kufi Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrI0FFlKp.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Noto Kufi Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrO0FFlKp.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Noto Kufi Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(ar/CSRk4ydQnPyaDxEXLFF6LZVLKrodrOMFFg.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Noto Sans Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj4wv4r4xA.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* math */
+@font-face {
+ font-family: 'Noto Sans Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5Jv4r4xA.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Noto Sans Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj5bv4r4xA.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Noto Sans Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj47v4r4xA.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Noto Sans Arabic';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(ar/nwpCtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlj41v4o.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnXu61F3f.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnXO61F3f.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnXq61F3f.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* hebrew */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnXy61F3f.woff2) format('woff2');
+ unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnXC61F3f.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Rubik';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWEBXyIfDnIV7nEnX661A.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nErXyi0A.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nMrXyi0A.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nFrXyi0A.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* hebrew */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nDrXyi0A.woff2) format('woff2');
+ unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nPrXyi0A.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(ar/iJWKBXyIfDnIV7nBrXw.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l_6gHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 200;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l_6gHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l5qjHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 300;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l5qjHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Iura6YBj_oCad4k1nzSBC45I.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(ar/Iura6YBj_oCad4k1nzGBCw.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l8KiHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l8KiHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l4qkHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l4qkHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l5anHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 800;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l5anHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* arabic */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 900;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l7KmHrRpiYlJ.woff2) format('woff2');
+ unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
+}
+/* latin */
+@font-face {
+ font-family: 'Tajawal';
+ font-style: normal;
+ font-weight: 900;
+ font-display: swap;
+ src: url(ar/Iurf6YBj_oCad4k1l7KmHrFpiQ.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
\ No newline at end of file
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbgMdhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbgMdhLhU.woff2
new file mode 100644
index 0000000..b6d60d7
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbgMdhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbh8dhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbh8dhLhU.woff2
new file mode 100644
index 0000000..48d17de
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbh8dhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbhMdh.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbhMdh.woff2
new file mode 100644
index 0000000..98e8bec
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbhMdh.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbi8dhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbi8dhLhU.woff2
new file mode 100644
index 0000000..76efc58
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbi8dhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbiMdhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbiMdhLhU.woff2
new file mode 100644
index 0000000..e11a48a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbiMdhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbicdhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbicdhLhU.woff2
new file mode 100644
index 0000000..5680d55
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbicdhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbisdhLhU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbisdhLhU.woff2
new file mode 100644
index 0000000..6572594
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbisdhLhU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4Q4FqPfE.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4Q4FqPfE.woff2
new file mode 100644
index 0000000..be83fa7
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4Q4FqPfE.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QIFqPfE.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QIFqPfE.woff2
new file mode 100644
index 0000000..fa536ca
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QIFqPfE.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QoFqPfE.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QoFqPfE.woff2
new file mode 100644
index 0000000..e01bb3a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4QoFqPfE.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4SYFqPfE.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4SYFqPfE.woff2
new file mode 100644
index 0000000..78b07f2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4SYFqPfE.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4TYFq.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4TYFq.woff2
new file mode 100644
index 0000000..e42c392
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptsg8zYS_SKggPNyCg4TYFq.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyC0ITw.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyC0ITw.woff2
new file mode 100644
index 0000000..67a3b53
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyC0ITw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCAIT5lu.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCAIT5lu.woff2
new file mode 100644
index 0000000..dee82d4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCAIT5lu.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCIIT5lu.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCIIT5lu.woff2
new file mode 100644
index 0000000..b566478
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCIIT5lu.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCMIT5lu.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCMIT5lu.woff2
new file mode 100644
index 0000000..24cc256
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCMIT5lu.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCkIT5lu.woff2 b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCkIT5lu.woff2
new file mode 100644
index 0000000..1005b7c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/1Ptug8zYS_SKggPNyCkIT5lu.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2 b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2
new file mode 100644
index 0000000..4ac6270
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2 b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2
new file mode 100644
index 0000000..47ab264
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hK1QN.woff2 b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hK1QN.woff2
new file mode 100644
index 0000000..2240e40
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/6xKtdSZaM9iE8KbpRA_hK1QN.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2
new file mode 100644
index 0000000..ab38fd5
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2
new file mode 100644
index 0000000..db65849
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2
new file mode 100644
index 0000000..7c9cbed
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2
new file mode 100644
index 0000000..e0aa393
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2
new file mode 100644
index 0000000..b677130
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2
new file mode 100644
index 0000000..669ba79
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2
new file mode 100644
index 0000000..6cc1de8
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2
new file mode 100644
index 0000000..ded8a41
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2
new file mode 100644
index 0000000..dbac481
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2
new file mode 100644
index 0000000..8e0eec6
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2
new file mode 100644
index 0000000..0ddf16c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2
new file mode 100644
index 0000000..7bd3c2e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2
new file mode 100644
index 0000000..8e43aa4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2
new file mode 100644
index 0000000..2c6ba19
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2
new file mode 100644
index 0000000..2f8b493
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2
new file mode 100644
index 0000000..7c16c79
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2
new file mode 100644
index 0000000..c2788c7
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2 b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2
new file mode 100644
index 0000000..528b3bf
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752FD8Ghe4.woff2 b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752FD8Ghe4.woff2
new file mode 100644
index 0000000..22e18a3
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752FD8Ghe4.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fj8Ghe4.woff2 b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fj8Ghe4.woff2
new file mode 100644
index 0000000..d3738f6
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fj8Ghe4.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fz8Ghe4.woff2 b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fz8Ghe4.woff2
new file mode 100644
index 0000000..1ca5ca1
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752Fz8Ghe4.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752GT8G.woff2 b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752GT8G.woff2
new file mode 100644
index 0000000..a8e119e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752GT8G.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752HT8Ghe4.woff2 b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752HT8Ghe4.woff2
new file mode 100644
index 0000000..1244b7a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/TK3iWkUHHAIjg752HT8Ghe4.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwAT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwAT9nA2.woff2
new file mode 100644
index 0000000..6c2ce2d
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwAT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwQT9g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwQT9g.woff2
new file mode 100644
index 0000000..39eb636
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwQT9g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwcT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwcT9nA2.woff2
new file mode 100644
index 0000000..e8b4994
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwcT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwgT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwgT9nA2.woff2
new file mode 100644
index 0000000..2be522a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwgT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwkT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwkT9nA2.woff2
new file mode 100644
index 0000000..57fdf36
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwkT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwoT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwoT9nA2.woff2
new file mode 100644
index 0000000..fb8e67e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwoT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwsT9nA2.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwsT9nA2.woff2
new file mode 100644
index 0000000..db25457
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCm3FwrK3iLTcvnUwsT9nA2.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvhYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvhYwYL8g.woff2
new file mode 100644
index 0000000..612258d
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvhYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcviYwY.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcviYwY.woff2
new file mode 100644
index 0000000..b0d0e2e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcviYwY.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvmYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvmYwYL8g.woff2
new file mode 100644
index 0000000..17ec069
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvmYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvsYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvsYwYL8g.woff2
new file mode 100644
index 0000000..a0125fa
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvsYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvtYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvtYwYL8g.woff2
new file mode 100644
index 0000000..79ac1ef
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvtYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvuYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvuYwYL8g.woff2
new file mode 100644
index 0000000..afb0394
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvuYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvvYwYL8g.woff2 b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvvYwYL8g.woff2
new file mode 100644
index 0000000..2f90b7d
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/UcCo3FwrK3iLTcvvYwYL8g.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2 b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2
new file mode 100644
index 0000000..ce97d0f
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2 b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2
new file mode 100644
index 0000000..db732c2
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2 b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2
new file mode 100644
index 0000000..ce2ec21
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWx8QDP2V.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWx8QDP2V.woff2
new file mode 100644
index 0000000..365d344
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWx8QDP2V.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWxEQDA.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWxEQDA.woff2
new file mode 100644
index 0000000..e74536b
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWxEQDA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY3KcA.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY3KcA.woff2
new file mode 100644
index 0000000..443efad
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY3KcA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY5KcCsww.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY5KcCsww.woff2
new file mode 100644
index 0000000..2334975
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY5KcCsww.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNXaxMICA.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNXaxMICA.woff2
new file mode 100644
index 0000000..b15ae0d
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNXaxMICA.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxM.woff2 b/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxM.woff2
new file mode 100644
index 0000000..350b569
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxM.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOUuhp.woff2 b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOUuhp.woff2
new file mode 100644
index 0000000..107ca6a
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOUuhp.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXOhpOqc.woff2 b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXOhpOqc.woff2
new file mode 100644
index 0000000..add6659
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXOhpOqc.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXehpOqc.woff2 b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXehpOqc.woff2
new file mode 100644
index 0000000..0ce4e7e
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/mem5YaSw02SQ0OlzDuR8IskOXehpOqc.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2
new file mode 100644
index 0000000..0fb066c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2
new file mode 100644
index 0000000..bc2aea0
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2
new file mode 100644
index 0000000..fcce594
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2
new file mode 100644
index 0000000..ffc8e9c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2
new file mode 100644
index 0000000..6375e9c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2
new file mode 100644
index 0000000..2e849f6
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2
new file mode 100644
index 0000000..5d9194c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2
new file mode 100644
index 0000000..e5c936b
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2
new file mode 100644
index 0000000..5cf8aff
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2
new file mode 100644
index 0000000..f7e9995
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2
new file mode 100644
index 0000000..4e8b905
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2
new file mode 100644
index 0000000..bed5b67
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2
new file mode 100644
index 0000000..9164ccb
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2
new file mode 100644
index 0000000..08bed85
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2
new file mode 100644
index 0000000..307b214
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2
new file mode 100644
index 0000000..0b0b3a4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2
new file mode 100644
index 0000000..4bce1d0
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2
new file mode 100644
index 0000000..5bd7b8f
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2
new file mode 100644
index 0000000..b969602
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2
new file mode 100644
index 0000000..1f7d08c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v-6QU.woff2 b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v-6QU.woff2
new file mode 100644
index 0000000..066c517
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v-6QU.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9KQU4Wc.woff2 b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9KQU4Wc.woff2
new file mode 100644
index 0000000..8398212
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9KQU4Wc.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9aQU4Wc.woff2 b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9aQU4Wc.woff2
new file mode 100644
index 0000000..80eeee8
Binary files /dev/null and b/odex30_base/expert_theme/static/src/fonts/en/wlpwgwvFAVdoq2_v9aQU4Wc.woff2 differ
diff --git a/odex30_base/expert_theme/static/src/fonts/en_fonts.scss b/odex30_base/expert_theme/static/src/fonts/en_fonts.scss
new file mode 100644
index 0000000..2fb2e1c
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/fonts/en_fonts.scss
@@ -0,0 +1,866 @@
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwkT9nA2.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwAT9nA2.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwgT9nA2.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwcT9nA2.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwsT9nA2.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwoT9nA2.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Inter';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCm3FwrK3iLTcvnUwQT9g.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvvYwYL8g.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvmYwYL8g.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvuYwYL8g.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvhYwYL8g.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvtYwYL8g.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcvsYwYL8g.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/UcCo3FwrK3iLTcviYwY.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Lexend';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/wlpwgwvFAVdoq2_v9KQU4Wc.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Lexend';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/wlpwgwvFAVdoq2_v9aQU4Wc.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Lexend';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/wlpwgwvFAVdoq2_v-6QU.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbicdhLhU.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbgMdhLhU.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbiMdhLhU.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbh8dhLhU.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_Gpgcbi8dhLhU.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbisdhLhU.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Libertinus Serif Display';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/0FlHVOmbklub_P32Hm53RVREi5BsXWudOF_GpgcbhMdh.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWx8QDP2V.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: italic;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcWxEQDA.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNXaxMICA.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/kmKnZrc3Hgbbcjq75U4uslyuy4kn0qNZaxM.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY5KcCsww.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Libre Baskerville';
+ font-style: normal;
+ font-weight: 700;
+ font-display: swap;
+ src: url(en/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTgY3KcA.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* hebrew */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2');
+ unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
+}
+/* math */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* hebrew */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
+ unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
+}
+/* math */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300 800;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Oswald';
+ font-style: normal;
+ font-weight: 200 700;
+ font-display: swap;
+ src: url(en/TK3iWkUHHAIjg752FD8Ghe4.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Oswald';
+ font-style: normal;
+ font-weight: 200 700;
+ font-display: swap;
+ src: url(en/TK3iWkUHHAIjg752HT8Ghe4.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Oswald';
+ font-style: normal;
+ font-weight: 200 700;
+ font-display: swap;
+ src: url(en/TK3iWkUHHAIjg752Fj8Ghe4.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Oswald';
+ font-style: normal;
+ font-weight: 200 700;
+ font-display: swap;
+ src: url(en/TK3iWkUHHAIjg752Fz8Ghe4.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Oswald';
+ font-style: normal;
+ font-weight: 200 700;
+ font-display: swap;
+ src: url(en/TK3iWkUHHAIjg752GT8G.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Quicksand';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Quicksand';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Quicksand';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Raleway';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptsg8zYS_SKggPNyCg4QIFqPfE.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Raleway';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptsg8zYS_SKggPNyCg4SYFqPfE.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Raleway';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptsg8zYS_SKggPNyCg4QoFqPfE.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Raleway';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptsg8zYS_SKggPNyCg4Q4FqPfE.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Raleway';
+ font-style: italic;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptsg8zYS_SKggPNyCg4TYFq.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Raleway';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptug8zYS_SKggPNyCAIT5lu.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Raleway';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptug8zYS_SKggPNyCkIT5lu.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Raleway';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptug8zYS_SKggPNyCIIT5lu.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Raleway';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptug8zYS_SKggPNyCMIT5lu.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Raleway';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(en/1Ptug8zYS_SKggPNyC0ITw.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* math */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Roboto';
+ font-style: italic;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* cyrillic-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2');
+ unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
+}
+/* cyrillic */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2');
+ unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
+}
+/* greek-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2) format('woff2');
+ unicode-range: U+1F00-1FFF;
+}
+/* greek */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2) format('woff2');
+ unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
+}
+/* math */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2) format('woff2');
+ unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
+}
+/* symbols */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2) format('woff2');
+ unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 100 900;
+ font-stretch: 100%;
+ font-display: swap;
+ src: url(en/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Space Grotesk';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Space Grotesk';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Space Grotesk';
+ font-style: normal;
+ font-weight: 300 700;
+ font-display: swap;
+ src: url(en/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
+/* vietnamese */
+@font-face {
+ font-family: 'Story Script';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/mem5YaSw02SQ0OlzDuR8IskOXehpOqc.woff2) format('woff2');
+ unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
+}
+/* latin-ext */
+@font-face {
+ font-family: 'Story Script';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/mem5YaSw02SQ0OlzDuR8IskOXOhpOqc.woff2) format('woff2');
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+ font-family: 'Story Script';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(en/mem5YaSw02SQ0OlzDuR8IskOUuhp.woff2) format('woff2');
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+}
\ No newline at end of file
diff --git a/odex30_base/expert_theme/static/src/img/home/background-dark.png b/odex30_base/expert_theme/static/src/img/home/background-dark.png
new file mode 100644
index 0000000..ac94fc4
Binary files /dev/null and b/odex30_base/expert_theme/static/src/img/home/background-dark.png differ
diff --git a/odex30_base/expert_theme/static/src/img/home/background-light.png b/odex30_base/expert_theme/static/src/img/home/background-light.png
new file mode 100644
index 0000000..63ffa6c
Binary files /dev/null and b/odex30_base/expert_theme/static/src/img/home/background-light.png differ
diff --git a/odex30_base/expert_theme/static/src/js/intro_loader.js b/odex30_base/expert_theme/static/src/js/intro_loader.js
new file mode 100644
index 0000000..9996b41
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/js/intro_loader.js
@@ -0,0 +1,35 @@
+/** @odoo-module **/
+
+import { WebClient } from "@web/webclient/webclient";
+import { patch } from "@web/core/utils/patch";
+import { onMounted } from "@odoo/owl";
+
+patch(WebClient.prototype, {
+ setup() {
+ super.setup();
+
+ onMounted(() => {
+ // Select the loader element
+ const loader = document.getElementById("o_intro_loader");
+
+ if (loader) {
+ // Optional: Check sessionStorage if you want it ONCE per browser session
+ // const hasLoaded = sessionStorage.getItem('odoo_intro_shown');
+
+ // Add the hidden class to trigger CSS transition
+ // We add a small delay (e.g., 500ms) to ensure the UI is visually stable behind it
+ setTimeout(() => {
+ loader.classList.add("o_hidden");
+
+ // Cleanup DOM after animation finishes (optional but cleaner)
+ setTimeout(() => {
+ loader.remove();
+ }, 1000);
+
+ }, 500);
+
+ // sessionStorage.setItem('odoo_intro_shown', 'true');
+ }
+ });
+ }
+});
\ No newline at end of file
diff --git a/odex30_base/expert_theme/static/src/js/user_menu_language.js b/odex30_base/expert_theme/static/src/js/user_menu_language.js
new file mode 100644
index 0000000..55dae3b
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/js/user_menu_language.js
@@ -0,0 +1,69 @@
+/** @odoo-module **/
+
+import { registry } from "@web/core/registry";
+import { session } from "@web/session";
+import { browser } from "@web/core/browser/browser";
+import { _t } from "@web/core/l10n/translation";
+
+const userMenuRegistry = registry.category("user_menuitems");
+
+/**
+ * Service to handle the language switch logic
+ */
+async function switchLanguage(env, langCode) {
+ // 1. Write the new language to the user's preference
+ await env.services.orm.write("res.users", [session.uid], {
+ lang: langCode,
+ });
+
+ // 2. Reload the page to apply changes
+ browser.location.reload();
+}
+
+/**
+ * Function to generate language menu items
+ */
+function languageSwitchItems(env) {
+ console.log("Generating language switcher menu items");
+ const activeLanguages = session.available_languages || [];
+ const currentLang = session.bundle_params.lang || 'en';
+ console.log("Active languages:", activeLanguages);
+ console.log("Current language:", userMenuRegistry);
+
+ // Use a separator to visually group languages if you have many items
+ // If you prefer a flat list, you can remove the separator logic.
+ const items = [
+ {
+ type: "separator",
+ id: "language_separator",
+ },
+ ];
+
+ console.log(items);
+
+ activeLanguages.forEach((lang) => {
+ // Skip adding the currently active language to the list (optional UX choice)
+ // OR add it but mark it as checked. Here we just add all.
+ const isCurrent = lang.code === currentLang;
+ console.log("Adding language menu item for:", lang.code, "Current:", isCurrent);
+ items.push({
+ type: "item",
+ id: `lang_switch_${lang.code}`,
+ description: `${lang.name} ${isCurrent ? "✓" : ""}`,
+ callback: async () => {
+ if (!isCurrent) {
+ await switchLanguage(env, lang.code);
+ }
+ },
+ });
+ });
+
+ return items;
+}
+
+// Add the languages to the registry
+// We wrap it in a function because the registry expects a function that returns the item(s)
+// userMenuRegistry.add("language_switcher", languageSwitchItems, { sequence: 10,force: true });
+userMenuRegistry.remove("documentation");
+userMenuRegistry.remove("support");
+userMenuRegistry.remove("odoo_account");
diff --git a/odex30_base/expert_theme/static/src/language_menu/language_menu.js b/odex30_base/expert_theme/static/src/language_menu/language_menu.js
new file mode 100755
index 0000000..17f7923
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/language_menu/language_menu.js
@@ -0,0 +1,115 @@
+import { Dropdown } from "@web/core/dropdown/dropdown";
+import { DropdownGroup } from "@web/core/dropdown/dropdown_group";
+import { DropdownItem } from "@web/core/dropdown/dropdown_item";
+import { CheckBox } from "@web/core/checkbox/checkbox";
+import { registry } from "@web/core/registry";
+import { user } from "@web/core/user";
+import { session } from "@web/session";
+import { browser } from "@web/core/browser/browser";
+import { Component } from "@odoo/owl";
+import { imageUrl } from "@web/core/utils/urls";
+
+const languageMenuRegistry = registry.category("language_menuitems");
+
+export class LanguageMenu extends Component {
+ static template = "web.LanguageMenu";
+ static components = { DropdownGroup, Dropdown, DropdownItem, CheckBox };
+ static props = {};
+
+ setup() {
+ console.log("LanguageMenu setup called", session);
+ this.activeLanguage = session.bundle_params.lang_code || 'en_US';
+ this.availableLanguages = session.available_languages || [];
+ const { partnerId, writeDate } = user;
+ console.log("User info:", user);
+ this.languageSwitchItems();
+ }
+
+ getElements() {
+ const sortedItems = languageMenuRegistry
+ .getAll()
+ .map((element) => element(this.env))
+ .filter((element) => (element.show ? element.show() : true))
+ .sort((x, y) => {
+ const xSeq = x.sequence ? x.sequence : 100;
+ const ySeq = y.sequence ? y.sequence : 100;
+ return xSeq - ySeq;
+ });
+ return sortedItems;
+ }
+
+ getCurrentLanguageFlag() {
+ const currentLang = this.availableLanguages.find(
+ (lang) => lang.code === this.activeLanguage
+ );
+ if (currentLang && currentLang.flag_image_url) {
+ return currentLang.flag_image_url;
+ }
+ return null;
+ }
+
+ /**
+ * Service to handle the language switch logic
+ */
+ async switchLanguage(langCode) {
+ console.log("Switching language to:", user);
+ // 1. Write the new language to the user's preference
+ await this.env.services.orm.write("res.users", [user.userId], {
+ lang: langCode,
+ });
+
+ // 2. Reload the page to apply changes
+ browser.location.reload();
+ }
+
+ /**
+ * Function to generate language menu items
+ */
+ languageSwitchItems() {
+ const activeLanguages = session.available_languages || [];
+ const currentLang = session.bundle_params.lang || 'en_US';
+ // Use a separator to visually group languages if you have many items
+ // If you prefer a flat list, you can remove the separator logic.
+ const items = [];
+ let self = this;
+
+ activeLanguages.forEach((lang) => {
+ // Skip adding the currently active language to the list (optional UX choice)
+ // OR add it but mark it as checked. Here we just add all.
+ const isCurrent = lang.code === currentLang;
+ console.log(isCurrent)
+ console.log("Adding language menu item for:", lang.code, "Current:", isCurrent);
+ languageMenuRegistry.add(`lang_switch_${lang.code}`, () => {
+ return {
+ type: "item",
+ id: `lang_switch_${lang.code}`,
+ icon: lang.flag_image_url,
+ description: `${lang.name}`,
+ currentLang: isCurrent,
+ callback: async () => {
+ if (!isCurrent) {
+ await self.switchLanguage(lang.code);
+ }
+ },
+ };
+ });
+ // items.push({
+ // type: "item",
+ // id: `lang_switch_${lang.code}`,
+ // description: `${lang.name} ${isCurrent ? "✓" : ""}`,
+ // callback: async () => {
+ // if (!isCurrent) {
+ // await this.switchLanguage(lang.code);
+ // }
+ // },
+ // });
+ });
+
+ return items;
+ }
+}
+
+export const systrayItem = {
+ Component: LanguageMenu,
+};
+registry.category("systray").add("web.language_menu", systrayItem, { sequence: 0 });
diff --git a/odex30_base/expert_theme/static/src/language_menu/language_menu.scss b/odex30_base/expert_theme/static/src/language_menu/language_menu.scss
new file mode 100755
index 0000000..4bfa5df
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/language_menu/language_menu.scss
@@ -0,0 +1,19 @@
+.o_user_menu .dropdown-toggle {
+ --NavBar-entry-padding-right: #{$o-horizontal-padding};
+
+ .o_user_avatar {
+ height: calc(var(--o-navbar-height) - 20px);
+ }
+}
+
+.o_menu_icon{
+ height: 16px;
+ width: 20px;
+ object-fit: cover;
+}
+.o_menu_item_icon{
+ height: 25px;
+ width: 25px;
+ object-fit: cover;
+ border-radius: 100%;
+}
\ No newline at end of file
diff --git a/odex30_base/expert_theme/static/src/language_menu/language_menu.xml b/odex30_base/expert_theme/static/src/language_menu/language_menu.xml
new file mode 100755
index 0000000..916ebab
--- /dev/null
+++ b/odex30_base/expert_theme/static/src/language_menu/language_menu.xml
@@ -0,0 +1,42 @@
+
+
+
+
-
-
-
- Send an email to the subscription owner to confirm the change, enter a new code or buy a subscription.
-
- Error reason: