= Custom Roles :description: Define custom roles in the PDF theme configuration file to apply special formatting to paragraphs and inline phrases. Use the keys in the `role` category to define custom roles or redefine the built-in roles. Custom roles only apply to paragraphs and inline phrases. == Define a custom role Custom roles are defined under the `role` category key. The name of a custom role may contain a hyphen, but *a role name cannot contain an underscore*. [,yaml] ---- role: <.> rolename: <.> font-color: #FF7F50 <.> font-style: bold text-decoration: underline another-role: <.> border-width: 0.5 ---- <.> Custom roles are defined under the `role` category key. <.> Create a name for your custom role. <.> Enter a formatting key and its value on a new line under the name of the role. Each key that you want applied to a role should be entered on a new line. <.> You can define more than one custom role under the `role` category key. Role names can contain hyphens, but not underscores. The formatting keys that a custom role can accept are listed in xref:role.adoc[]. Be aware that some keys do not apply to the context where the role is used. Let's look at some custom role definition and usage examples in the next section. == Custom role examples In the following example, a custom role named `red` is defined. The keys `background-color` and `font-color` are set and each key is assigned a color value using the xref:color.adoc#hex[hex format]. [,yaml] ---- role: red: background-color: #333333 font-color: #FF0000 ---- You can also use a custom role to unset the default styling of a paragraph or inline phrase and make it inherit the styling of its parent element. In the example below, a custom role named `heading-code` is defined and the `font-color` key is unset by assigning a tilde (`~`) as its value. [,yaml] ---- role: heading-code: font-color: ~ ---- In the next example, the `red` and `heading-code` custom roles are assigned to text in a document. [,asciidoc] ---- = Document Title == Section title [.red] <.> Error text is shown in red. === [.heading-code]`SELECT` clause <.> A paragraph. ---- <.> The `red` custom role is assigned to a paragraph. <.> The `heading-code` custom role is assigned to an inline phrase marked up with the codespan syntax. The code phrase will inherit the font color of the section heading, because the `heading-code` role unsets the font color that would usually be applied to a code phrase. However, the phrase `Select` will inherit all the other code phrase styles. See xref:role.adoc[] for the list of keys a custom role can accept.