---
title: Theming Activate
slug: theming-activate
docTags: 
createdAt: 2025-07-17T03:19:54.738Z
---

Activate Theme and UI Customization

Activate is built on the **Material UI (MUI)** component library.
&#x20;The application theme can be customized to align with your organization’s branding and design preferences.
&#x20;Full details on theming are available at:
&#x20;🔗 https\://mui.com/material-ui/customization/theming/

## Theme Design Tools

The community provides several helpful tools for designing and previewing MUI themes:

- **[mui-theme-creator](https://bareynol.github.io/mui-theme-creator/)**
  &#x20;A visual tool to design and customize MUI themes. It includes sample layouts that demonstrate how your chosen theme affects various components.&#x20;
- **[Material Palette Generator](https://material.io/inline-tools/color/)**
  &#x20;Use this to generate a color palette based on your chosen primary color.&#x20;

You can view the default MUI theme [here](https://mui.com/material-ui/customization/default-theme/)

The Activate theme configuration is stored in:
&#x20;//Resources/Configuration/Web/Theme/Theme.json
&#x20;This file can be customized using the above tools and documentation.

## Custom LESS

Custom.less can be used to define additional CSS classes if required.
&#x20;However, it does **not** have access to the MUI theme data and should only be used sparingly.
&#x20;Most styling adjustments can be completed using properties such as margin, padding, color, and backgroundColor directly on panels.

## Icons

Activate uses **SVG icons** by default.
&#x20;These icons are scalable, theme-aware (automatically colored and resized), and support overlays without requiring separate image files.

You can still use **custom PNG or GIF** icons if required.
&#x20;Note that these will not dynamically adjust to theme colors.
&#x20;They should be placed in:

:::BlockQuote
C:\Program Files\Activate\Instances\\\[INSTANCENAME]\wwwroot\ClientApp\build\images
:::

and referenced using /images/XXXX.png.

A wide range of open-source icons are also included and can be browsed at:
&#x20;🔗 https\://icon-sets.iconify.design/

Available icon sets include:

- **Material Design Icons** (mdi: prefix) – \~7,000 icons&#x20;
- **Material Symbols** (material-symbols: prefix) – \~8,000 icons&#x20;
- **Google Material UI Icons** (ic: prefix) – \~10,000 icons&#x20;
- **Fluent Design Icons** (fluent: prefix) – \~12,000 icons&#x20;
- **Font Awesome 6** (fa6: prefix) – \~1,500 icons&#x20;

To use an icon, reference it with its prefix and name.
&#x20;For example:
&#x20;ic\:outline-person-3 displays an outlined “person” icon from the Material UI set.

## Fonts

The default font used in Activate is **Roboto**.
&#x20;You can use custom fonts by following these steps.
&#x20;Supported formats: .ttf, .woff, and .woff2.

Activate’s typography expects the following weights: **300**, **400**, **500**, and **700**.
&#x20;Ensure these are available for any new font you use.

### 1. Define and Load the Font in CSS

Custom fonts can be loaded via custom.css, either from an external source or locally.

a. External Fonts

To import a Google Font, use the @import statement:

:::BlockQuote
@import "https\://fonts.googleapis.com/css2?family=Exo+2\&display=swap";
:::

By default, this may be blocked by the **Content Security Policy (CSP)**.
&#x20;If so, update the following file to allow stylesheets from Google:

//Resources/Configuration/Web/ContentSecurityPolicy

Add this line under style-src:

:::BlockQuote
style-src 'self' 'unsafe-inline' https\://fonts.googleapis.com;
:::

b. Local Fonts

Copy your font files into:

:::BlockQuote
\[Program Files]\Activate\Instances\\\[INSTANCENAME]\wwwroot\style
:::

Then define them in custom.less:

:::BlockQuote
@font-face \{
&#x20; font-family: 'Exo 2';
&#x20; font-style: normal;
&#x20; font-display: swap;
&#x20; font-weight: 400;
&#x20; src: url('Exo2.woff2');
}
:::

### 2. Update the Theme to Use the New Font

1. Navigate to:
   &#x20;//Resources/Configuration/Web/Theme&#x20;
2. Update the Material UI theme JSON to include your font family.
   &#x20;Always define fallback fonts for broader browser support.&#x20;

Example:

:::BlockQuote
"light": \{
&#x20; "typography": \{
&#x20;   "fontFamily": "'Exo 2','Roboto','Segoe UI',Arial"
&#x20; },
&#x20; "palette": \{
&#x20;   "mode": "light",
&#x20;   "icon": \{ "main": "#3D77B1" },
&#x20;   "title": \{ "main": "#000" },
&#x20;   "primary": \{ "main": "#16499a" },
&#x20;   "secondary": \{ "main": "#cc6600" }
&#x20; }
},
"dark": \{
&#x20; "typography": \{
&#x20;   "fontFamily": "'Exo 2','Roboto','Segoe UI',Arial"
&#x20; },
&#x20; "palette": \{
&#x20;   "mode": "dark",
&#x20;   "icon": \{ "main": "white" },
&#x20;   "title": \{ "main": "#16499a" },
&#x20;   "primary": \{ "main": "#16499a" },
&#x20;   "secondary": \{ "main": "#cc6600" }
&#x20; }
}
:::

