Site Themes Object

{
   "colors":[
      {
         "id":"color_1",
         "value":"rgba(11, 25, 86, 1)",
         "label":"Primary"
      }
   ],
   "text":{
      "default":{
         "font_family":"Poppins",
         "color":"var(--color_1)",
         "font_weight":"400",
         "font_style":null,
         "text_decoration":null,
         "text_direction":null,
         "line_height":"1.5",
         "letter_spacing":null,
         "font_size":"18px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"16px"
            },
            "tablet":{
               "font_size":"16px"
            }
         }
      },
      "paragraph":{
         "font_family":"\"Work Sans\"",
         "color":"rgb(11,25,86)",
         "font_weight":"500",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":"1.5",
         "letter_spacing":"initial",
         "font_size":"18px",
         "text_transform":"uppercase",
         "breakpoints":{
            "mobile":{
               "font_size":"16px"
            },
            "tablet":{
               "font_size":"16px"
            }
         }
      },
      "h1":{
         "font_family":"'Aboreto'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"50px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"40px"
            },
            "tablet":{
               "font_size":"50px"
            }
         }
      },
      "h2":{
         "font_family":"'Aboreto'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"32px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"30px"
            },
            "tablet":{
               "font_size":"30px"
            }
         }
      },
      "h3":{
         "font_family":"'Aboreto'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"25px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"20px"
            },
            "tablet":{
               "font_size":"25px"
            }
         }
      },
      "h4":{
         "font_family":"'Aboreto'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"20px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"18px"
            },
            "tablet":{
               "font_size":"20px"
            }
         }
      },
      "h5":{
         "font_family":"'Work Sans'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"15px",
         "text_transform":null,
         "breakpoints":{
            "mobile":{
               "font_size":"15px"
            },
            "tablet":{
               "font_size":"15px"
            }
         }
      },
      "h6":{
         "font_family":"'Work Sans'",
         "color":"var(--color_1)",
         "font_weight":"700",
         "font_style":"normal",
         "text_decoration":"none",
         "text_direction":null,
         "line_height":null,
         "letter_spacing":null,
         "font_size":"14px",
         "text_transform":null,
         "breakpoints":{
            "mobile":null,
            "tablet":{
               "font_size":"14px"
            }
         }
      }
   },
   "buttons":{
      "primary":{
         "box_shadow":"rgba(0, 0, 0, 0.25) 0px 3px 11px 0px",
         "background":{
            "color":"rgba(37, 99, 235, 1)",
            "gradient":"linear-gradient(90deg, rgba(37, 99, 235, 1), rgba(59, 130, 246, 1))"
         },
         "border":{
            "color":"rgba(37, 99, 235, 1)",
            "width":"2px",
            "radius":"8px"
         },
         "icon":{
            "color":"rgba(255, 255, 255, 1)"
         },
         "hover":{
            "background":{
               "color":"rgba(29, 78, 216, 1)"
            },
            "border":{
               "color":"rgba(29, 78, 216, 1)"
            },
            "text":{
               "color":"rgba(255, 255, 255, 1)",
               "font_weight":"700",
               "text_decoration":"none",
               "font_style":"normal"
            }
         },
         "text":{
            "color":"rgba(255, 255, 255, 1)",
            "font_size":"16px",
            "font_weight":"600",
            "text_decoration":"none",
            "font_style":"normal",
            "font_family":"Arial",
            "text_align":"center",
            "direction":"ltr"
         },
         "breakpoints":{
            "mobile":{
               "text":{
                  "font_size":"14px"
               }
            },
            "tablet":{
               "text":{
                  "font_size":"15px"
               }
            }
         }
      },
      "secondary":{
         "box_shadow":"none",
         "background":{
            "color":"rgba(255, 255, 255, 1)"
         },
         "border":{
            "color":"rgba(37, 99, 235, 1)",
            "width":"2px",
            "radius":"8px"
         },
         "icon":{
            "color":"rgba(37, 99, 235, 1)"
         },
         "hover":{
            "background":{
               "color":"rgba(243, 244, 246, 1)"
            },
            "border":{
               "color":"rgba(29, 78, 216, 1)"
            },
            "text":{
               "color":"rgba(29, 78, 216, 1)",
               "font_weight":"600",
               "text_decoration":"underline",
               "font_style":"italic"
            }
         },
         "text":{
            "color":"rgba(37, 99, 235, 1)",
            "font_size":"16px",
            "font_weight":"500",
            "text_decoration":"none",
            "font_style":"normal",
            "font_family":"'Open Sans'",
            "text_align":"center",
            "direction":"ltr"
         },
         "breakpoints":{
            "mobile":{
               "text":{
                  "font_size":"14px"
               }
            },
            "tablet":{
               "text":{
                  "font_size":"15px"
               }
            }
         }
      }
   },
   "sections":{
      "spacings":{
         "padding_top":"10px",
         "padding_bottom":"10px",
         "padding_left":"20px",
         "padding_right":"20px"
      },
      "content_width":{
         "default_max_width_constraint":"1000px",
         "default_content_mode":"constrained_width"
      },
      "breakpoints":{
         "mobile":{
            "spacing":{
               "padding_top":"5px"
            }
         },
         "tablet":{
            "spacing":{
               "padding_top":"8px"
            }
         }
      }
   },
   "columns":{
      "spacings":{
         "padding_top":"10px",
         "padding_bottom":"10px",
         "padding_left":"20px",
         "padding_right":"20px"
      },
      "breakpoints":{
         "mobile":{
            "spacing":{
               "padding_top":"5px"
            }
         }
      }
   },
   "inner_columns":{
      "spacings":{
         "padding_top":"10px",
         "padding_bottom":"10px",
         "padding_left":"20px",
         "padding_right":"20px"
      },
      "breakpoints":{
         "mobile":{
            "spacing":{
               "padding_top":"5px"
            }
         }
      }
   },
   "background":{
      "color":"#ffffff",
      "image":{
         "url":"https://example.com/background.jpg",
         "display_mode":"COVER",
         "position":"center center",
         "attachment":"scroll"
      },
      "breakpoints":{
         "mobile":{
            "color":"#f0f0f0",
            "image":{
               "url":"https://example.com/mobile-background.jpg",
               "display_mode":"COVER",
               "position":"top center",
               "attachment":"scroll"
            }
         }
      }
   }
}

Colors Object

DataTypeDescription
idstringNeeds to follow the pattern: "color_<number>". (color_1, color_2, etc). This property cannot be changed.
valuestringRGB/RGBA/HEX color value. This will be converted to RGBA by Duda.
labelstring50 chars max. HTML-safe string

Text Object

DataTypeDescription
h1objectName of text style
h2object
h3object
h4object
h5object
h6object
paragraphobject
defaultobjectDefault text style for site

Text Styles Object

DataTypeDescription
colorstringColor of the font.
font_familystringDoes not accept fallback fonts.
font_sizestringOnly accepts px.
font_weightstringThe thickness of the characters in the font.
letter_spacingstringHorizontal spacing behavior between characters
line_heightstringVertical spacing between lines of text.
text_decorationstringSupports: underline
font_stylestringSupports: italic
text_directionstringOrientation of the text characters in a line.
text_transformstringSupports: uppercase
breakpointsobjectSee breakpoints definition here.

Breakpoints Object

Specify the font size for different device types. Breakpoint overrides will only accept font_size and may only be set for mobile and tablet.

DataTypeDescription
mobileobjectTakes in an object with font_size value.
tabletobjectTakes in an object with font_size value.

Buttons Object

DataTypeDescription
box_shadowstringGRBA color + 4 px length values (offset-x, offset-y, blur-radius, spread-radius) + optional inset. Color MUST be at the beginning
backgroundobjectButton background theme settings
borderobjectButton border theme settings
iconobjectButton icon theme settings
hoverobjectButton hover theme settings
textobjectButton text theme settings
breakpointsobjectButton breakpoints theme settings

Buttons Background Object

DataTypeDescription
colorstringRGBA color or CSS variable
gradientstringGradient value only. Cannot be combined with image.
imageobjectBackground image configuration. Cannot be combined with gradient.

Background Image Object

DataTypeDescription
urlstringURL of the background image
display_modestringDisplay mode: "cover", "contain", "tile", "no_repeat"
positionstringAllowed values: "top left", "top center", "top right", "center left", "center center", "center right", "bottom left", "bottom center", "bottom right"

Buttons Border Object

DataTypeDescription
colorstringRGBA color or CSS variable, 1-4 space-separated values
widthstringPixel values: 1-4 space-separated values
radiusstringBorder radius: 1-4 pixel values

Buttons Icon Object

DataTypeDescription
colorstringRGBA color or CSS variable (used for both color and fill)

Buttons Hover Object

DataTypeDescription
backgroundobjectHover background styles
borderobjectHover border styles
textobjectHover text styles

Hover Background Object

DataTypeDescription
colorstringRGBA color or CSS variable

Hover Border Object

DataTypeDescription
colorstringRGBA color or CSS variable

Hover Text Object

DataTypeDescription
colorstringRGBA color or CSS variable
font_weightstringNumeric strings or keywords: "100", "200", "300", "400", "500", "600", "700", "800", "900", "bold", "normal"
text_decorationstring"underline" or "none" only
font_stylestring"normal" or "italic" only

Buttons Text Object

DataTypeDescription
colorstringRGBA color or CSS variable
font_sizestringPixel values only
font_weightstringNumeric strings or keywords: "100", "200", "300", "400", "500", "600", "700", "800", "900", "bold", "normal"
text_decorationstring"underline" or "none" only
font_stylestring"normal" or "italic" only
font_familystringSingle font name only - no fallbacks supported
text_alignstring"left", "center", or "right" only
directionstring"ltr" or "rtl" only

Buttons Breakpoints Object

DataTypeDescription
mobileobjectButtons breakpoint style object
tabletobject

Buttons Breakpoints Style Object

DataTypeDescription
textobjectButtons breakpoint text style object

Breakpoints Text Style Object

DataTypeDescription
font_sizestringPixel values only

Sections Object

DataTypeDescription
spacingsobjectSections spacing object
content_widthobjectSections content width object
breakpointsobjectSections breakpoint object

Sections Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Sections Content Width Object

DataTypeDescription
default_max_width_constraintstringCombined value and unit. Supports PX (960-1920) and VW (50-100). Examples: "1000px", "60vw"
default_content_modestringContent mode: "constrained_width" or "full_width"

Sections Breakpoint Object

DataTypeDescription
mobileobjectSections breakpoint style object
tabletobject

Sections Breakpoint Style Object

DataTypeDescription
spacingobjectSections breakpoint style spacing object

Sections Breakpoint Style Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Columns Object

DataTypeDescription
spacingobjectColumns spacing object
breakpointsobjectColumns breakpoint object

Columns Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Columns Breakpoint Object

DataTypeDescription
mobileobjectColumn breakpoint style object
tabletobject

Columns Breakpoint Style Object

DataTypeDescription
spacingobjectColumns breakpoint style spacing object

Columns Breakpoint Style Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Inner Columns Object

DataTypeDescription
spacingsobjectInner column spacing object
breakpointsobjectInner column breakpoint object

Inner Columns Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Inner Columns Breakpoint Object

DataTypeDescription
mobileobjectInner column breakpoint style object
tabletobject

Inner Columns Breakpoint Style Object

DataTypeDescription
spacingobjectInner column breakpoing style spacing object

Inner Columns Breakpoint Style Spacing Object

DataTypeDescription
padding_topstringPadding values: supports px, %, vw, vh (e.g. "10px", "5%", "10vw")
padding_bottomstring
padding_leftstring
padding_rightstring

Background Object

DataTypeDescription
colorstringCSS color value (e.g. "#ffffff", "rgb(255,255,255)")
gradientstringCSS gradient value. Note: image and gradient are mutually exclusive - only one can be provided at each level.
imageobjectBackground image object. Note: image and gradient are mutually exclusive - only one can be provided at each level.
breakpointsobjectBackground breakpoint object

Background Image object

DataTypeDescription
urlstringImage URL
display_modestring

Can be:

'COVER' | 'CONTAIN' | 'TILE' | 'NO_REPEAT';

positionstring

Can be:

'top left' | 'top center' | 'top right' |
'center left' | 'center center' | 'center right' |
'bottom left' | 'bottom center' | 'bottom right';

attachmentstring

Can be:

'fixed' | 'scroll';

Background Breakpoint Object

DataTypeDescription
mobileobjectBackground breakpoint style object

Background Breakpoint Style Object

DataTypeDescription
colorstringCSS color value
gradientstringCSS gradient value. Note: image and gradient are mutually exclusive - only one can be provided at each level.
imageobjectBackground breakpoint style image object. Note: image and gradient are mutually exclusive - only one can be provided at each level.