# Theme

## 👨‍🎨️ What is a theme ?

A theme regroups all the global styling colors and fonts variables that will be used to generate the final style.

You can set following family colors.

* **General** forms related colors like background, header and form page background.
* **Primary** are the colors that will be displayed the most frequently across your survey components.
* **Secondary** colors accents actionable survey components like for example [radio buttons or checkboxes](/form-management/form-designer/answers/answer-types/selection-answers.md).
* **Errors** are all the colors used by the survey error messages. You may force the preview survey to show all its error message by enabling the [preview errors option](/form-management/style-branding/style-editor/style.md).

{% hint style="info" %}
You may also any of the global variable in your [CSS code](/form-management/style-branding/style-editor/css.md) using the var keyword eg: color: **var(--ngs-text-color)**
{% endhint %}

## 🖍️ Picking a color

You may click on any color swatch to open the color picker to select the color of your choice.

![](/files/-MBcU7f0wEVsBFabJVQh)

To reset a color you may select the empty color swatch on the top right of the picker.

![](/files/-MBcbruhQsYgNT7xEEZH)

## 🔤 Switching fonts

To switch fonts you may either open the font selection pane to select a new font from the list of available fonts.   &#x20;

![](/files/-MBcOkHmiZT132UYgnp_)

{% hint style="warning" %}
The available fonts list uses Google Fonts if you are not able to see any fonts make sure that you have properly [link your ngSurvey installation with Google Fonts](/installation-setup/system-settings/google/google-web-font.md).&#x20;
{% endhint %}

Or you may also change manually the fonts from the theme code variables list.

![](/files/-MBcP84eRa62d_SYw8vH)

{% hint style="info" %}
Fonts selected from the available fonts list will be automatically downloaded from the Google Fonts servers if the respondents does not have the selected font installed on his device.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ngsurvey.com/form-management/style-branding/style-editor/theme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
