HTML5 tags, CSS3 styles, and their properties in an array: comprehensive list.

HTML5 Tags

["a",
 "abbr",
 "acronym",
 "address",
 "applet",
 "area",
 "article",
 "aside",
 "audio",
 "b",
 "base",
 "basefont",
 "bdi",
 "bdo",
 "big",
 "blockquote",
 "body",
 "br",
 "button",
 "canvas",
 "caption",
 "center",
 "cite",
 "code",
 "col",
 "colgroup",
 "datalist",
 "dd",
 "del",
 "details",
 "dfn",
 "dialog",
 "dir",
 "div",
 "dl",
 "dt",
 "em",
 "embed",
 "fieldset",
 "figcaption",
 "figure",
 "font",
 "footer",
 "form",
 "frame",
 "frameset",
 "h1-h2-h3-h4",
 "head",
 "header",
 "hr",
 "html",
 "i",
 "iframe",
 "img",
 "input",
 "ins",
 "kbd",
 "keygen",
 "label",
 "legend",
 "li",
 "link",
 "main",
 "map",
 "mark",
 "menu",
 "menuitem",
 "meta",
 "meter",
 "nav",
 "noframes",
 "noscript",
 "object",
 "ol",
 "optgroup",
 "option",
 "output",
 "p",
 "param",
 "picture",
 "pre",
 "progress",
 "q",
 "rp",
 "rt",
 "ruby",
 "s",
 "samp",
 "script",
 "section",
 "select",
 "small",
 "source",
 "span",
 "strike",
 "strong",
 "style",
 "sub",
 "summary",
 "sup",
 "table",
 "tbody",
 "td",
 "textarea",
 "tfoot",
 "th",
 "thead",
 "time",
 "title",
 "tr",
 "track",
 "tt",
 "u",
 "ul",
 "var",
 "video",
 "wbr",
 "<!--comment-->"]

Css3 Styles

 [
  {
    "style": "align-content",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "stretch",
        "description": "Default value. Lines stretch to take up the remaining space"
      },
      {
        "value": "center",
        "description": "Lines are packed toward the center of the flex container"
      },
      {
        "value": "flex-start",
        "description": "Lines are packed toward the start of the flex container"
      },
      {
        "value": "flex-end",
        "description": "Lines are packed toward the end of the flex container"
      },
      {
        "value": "space-between",
        "description": "Lines are evenly distributed in the flex container"
      },
      {
        "value": "space-around",
        "description": "Lines are evenly distributed in the flex container, with half-size spaces on either end"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "align-items",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "stretch",
        "description": "Default. Items are stretched to fit the container"
      },
      {
        "value": "center",
        "description": "Items are positioned at the center of the container"
      },
      {
        "value": "flex-start",
        "description": "Items are positioned at the beginning of the container"
      },
      {
        "value": "flex-end",
        "description": "Items are positioned at the end of the container"
      },
      {
        "value": "baseline",
        "description": "Items are positioned at the baseline of the container"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "align-self",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default. The element inherits its parent container's align-items property, or \"stretch\" if it has no parent container"
      },
      {
        "value": "stretch",
        "description": "The element is positioned to fit the container"
      },
      {
        "value": "center",
        "description": "The element is positioned at the center of the container"
      },
      {
        "value": "flex-start",
        "description": "The element is positioned at the beginning of the container"
      },
      {
        "value": "flex-end",
        "description": "The element is positioned at the end of the container"
      },
      {
        "value": "baseline",
        "description": "The element is positioned at the baseline of the container"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "all",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "initial",
        "description": "Changes all the properties applied to the element or the element's parent to their initial value"
      },
      {
        "value": "inherit",
        "description": "Changes all the properties applied to the element or the element's parent to their parent value"
      },
      {
        "value": "unset",
        "description": "Changes all the properties applied to the element or the element's parent to their parent value if they are inheritable or to their initial value if not"
      }
    ]
  },
  {
    "style": "animation",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "animation-name",
        "description": "Specifies the name of the keyframe you want to bind to the selector"
      },
      {
        "value": "animation-duration",
        "description": "Specifies how many seconds or milliseconds an animation takes to complete"
      },
      {
        "value": "\r\n animation-timing-function",
        "description": "Specifies the speed curve of the animation"
      },
      {
        "value": "animation-delay",
        "description": "Specifies a delay before the animation will start"
      },
      {
        "value": "\r\n animation-iteration-count",
        "description": "Specifies how many times an animation should be played"
      },
      {
        "value": "animation-direction",
        "description": "Specifies whether or not the animation should play in reverse on alternate cycles"
      },
      {
        "value": "animation-fill-mode",
        "description": "Specifies what values are applied by the animation outside the time it is executing"
      },
      {
        "value": "animation-play-state",
        "description": "Specifies whether the animation is running or paused"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-delay",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "time",
        "description": "Optional. Defines the number of seconds (s) or milliseconds (ms) to wait before the animation will start. Default value is 0. Negative values are allowed. \r\n    If you use negative values, the animation will start as if it had already \r\n    been playing for N seconds/milliseconds."
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-direction",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "normal",
        "description": "Default value. The animation is played as normal (forwards)"
      },
      {
        "value": "reverse",
        "description": "The animation is played in reverse direction (backwards)"
      },
      {
        "value": "alternate",
        "description": "The animation is played forwards first, then backwards"
      },
      {
        "value": "alternate-reverse",
        "description": "The animation is played backwards first, then forwards"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-duration",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "time",
        "description": "Specifies the length of time an \r\nanimation should take to complete one cycle. This can be specified in seconds or \r\n    milliseconds. Default value is 0, which means that no animation will occur"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-fill-mode",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Default value. Animation will not apply any styles to the element before or after it is executing"
      },
      {
        "value": "forwards",
        "description": "The element will retain the style values that is set by the last keyframe (depends on animation-direction and animation-iteration-count)"
      },
      {
        "value": "backwards",
        "description": "The element will get the style values that is set by the first keyframe (depends on animation-direction), and retain this during \r\n    the \r\n    animation-delay period"
      },
      {
        "value": "both",
        "description": "The animation will follow the rules for both forwards and backwards, extending the animation properties in both directions "
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-iteration-count",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "A number that defines how many times an animation should be played. Default value is 1"
      },
      {
        "value": "infinite",
        "description": "Specifies that the animation should be played infinite times (for ever)"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-name",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "keyframename",
        "description": "Specifies the name of the keyframe you want to bind to the selector"
      },
      {
        "value": "none",
        "description": "Default value. Specifies that there will be no animation (can be used to override animations coming from the cascade) "
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-play-state",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "paused",
        "description": "Specifies that the animation is paused"
      },
      {
        "value": "running",
        "description": "Default value. Specifies that the animation is running"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "animation-timing-function",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "linear",
        "description": "The animation has the same speed from start to end"
      },
      {
        "value": "ease",
        "description": "Default value. The animation has a slow start, then fast, before it ends slowly"
      },
      {
        "value": "ease-in",
        "description": "The animation has a slow start"
      },
      {
        "value": "ease-out",
        "description": "The animation has a slow end"
      },
      {
        "value": "ease-in-out",
        "description": "The animation has both a slow start and a slow end"
      },
      {
        "value": "step-start",
        "description": "Equivalent to steps(1, start)"
      },
      {
        "value": "step-end",
        "description": "Equivalent to steps(1, end)"
      },
      {
        "value": "steps(int,start|end)",
        "description": "Specifies a stepping function, with two parameters. The first parameter specifies the number of intervals in the function. It must be a positive integer (greater than 0). The second parameter, which is optional, is either the value \"start\" or \"end\", and specifies the point at which the change of values occur within the interval. If the second parameter is omitted, it is given the value \"end\""
      },
      {
        "value": "cubic-bezier(n,n,n,n)",
        "description": "Define your own values in the cubic-bezier function\r\n Possible values are numeric values from 0 to 1"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "backface-visibility",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "visible",
        "description": "Default value. The backside is visible"
      },
      {
        "value": "hidden",
        "description": "The backside is not visible"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "background",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "background-color",
        "description": "Specifies the background color to be used"
      },
      {
        "value": "background-image",
        "description": "Specifies ONE or MORE background images to be used"
      },
      {
        "value": "background-position",
        "description": "Specifies the position of the background images"
      },
      {
        "value": "background-size",
        "description": "Specifies the size of the background images"
      },
      {
        "value": "background-repeat",
        "description": "Specifies how to repeat the background images"
      },
      {
        "value": "background-origin",
        "description": "Specifies the positioning area of the background images"
      },
      {
        "value": "background-clip",
        "description": "Specifies the painting area of the background images"
      },
      {
        "value": "background-attachment",
        "description": "Specifies whether the background images are fixed or scrolls with the rest of the page"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "background-clip",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "border-box",
        "description": "Default value. The background extends behind the border"
      },
      {
        "value": "padding-box",
        "description": "The background extends to the inside edge of the border"
      },
      {
        "value": "content-box",
        "description": "The background extends to the edge of the content box"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "background-origin",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "padding-box",
        "description": "Default value. The background image starts from the upper left corner of the padding edge"
      },
      {
        "value": "border-box",
        "description": "The background image starts from the upper left corner of the border"
      },
      {
        "value": "content-box",
        "description": "The background image starts from the upper left corner of the content"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "background-size",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default value. The background image is displayed in its original size"
      },
      {
        "value": "length",
        "description": "Sets the width and height of the background image. The first value sets the width, the second value sets the height. If only one value is given, the second is set to \"auto\". Read about length units"
      },
      {
        "value": "percentage",
        "description": "Sets the width and height of the background image in percent of the parent element. The first value sets the width, the second value sets the height. If only one value is given, the second is set to \"auto\""
      },
      {
        "value": " cover",
        "description": "Resize the background image to cover the entire container, even if it \r\n    has to stretch the image or cut a little bit off one of the edges"
      },
      {
        "value": " contain",
        "description": "Resize the background image to make sure the image is fully visible"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-bottom-left-radius",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "Defines the shape of the bottom-left corner. Default value is 0. Read about length units"
      },
      {
        "value": "%",
        "description": "Defines the shape of the bottom-left corner in %"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-bottom-right-radius",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "Defines the shape of the bottom-right corner. Default value is 0. Read about length units"
      },
      {
        "value": "%",
        "description": "Defines the shape of the bottom-right corner in %"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " border-image-source",
        "description": "The path to the image to be used as a border"
      },
      {
        "value": " border-image-slice",
        "description": "How to slice the border image"
      },
      {
        "value": " border-image-width",
        "description": "The width of the border image"
      },
      {
        "value": " border-image-outset",
        "description": "The amount by which the border image area extends beyond the border box"
      },
      {
        "value": " border-image-repeat",
        "description": "Whether the border image should be repeated, rounded or stretched"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image-outset",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "A length unit specifying how far from the edges the border-image will appear. Default value is 0"
      },
      {
        "value": " number",
        "description": "Represent multiples of the corresponding border-width"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image-repeat",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " stretch",
        "description": "Default value. The image is stretched to fill the area"
      },
      {
        "value": " repeat",
        "description": "The image is tiled (repeated) to fill the area"
      },
      {
        "value": " round",
        "description": "The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so it fits"
      },
      {
        "value": "space",
        "description": "The image is tiled (repeated) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image-slice",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " number",
        "description": "The number(s) represent pixels for raster images or coordinates for vector images"
      },
      {
        "value": " %",
        "description": "Percentages are relative to the height or width of the image"
      },
      {
        "value": " fill",
        "description": "Causes the middle part of the image to be displayed"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image-source",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " none",
        "description": "No image will be used"
      },
      {
        "value": " image",
        "description": "The path to the image to be used as a border"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-image-width",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "A length unit (px) specifying the size of the border-width"
      },
      {
        "value": "number",
        "description": "Default value 1. Represents multiples of the corresponding border-width"
      },
      {
        "value": "%",
        "description": "Refers to the size of the border image area: the width of the area for horizontal offsets, the height for vertical offsets"
      },
      {
        "value": "auto",
        "description": "If specified, the width is the intrinsic width or height of the corresponding image slice"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-radius",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "Defines the shape of the corners. Default value is 0. Read about length units"
      },
      {
        "value": "%",
        "description": "Defines the shape of the corners in %"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-top-left-radius",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "Defines the shape of the top-left corner. Read about length units"
      },
      {
        "value": "%",
        "description": "Defines the shape of the top-left corner in %"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "border-top-right-radius",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "Defines the shape of the top-right corner. Read about length units"
      },
      {
        "value": "%",
        "description": "Defines the shape of the top-right corner in %"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "box-decoration-break",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " slice",
        "description": "Default. Box decorations are applied to the element as a whole and break at \r\n    the edges of the element fragments "
      },
      {
        "value": " clone",
        "description": "Box decorations apply to each fragment of the element as if the \r\n    fragments were individual elements. Borders wrap the four edges of \r\n    each fragment of the element, and backgrounds are redrawn in full for each \r\n    fragment"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "box-shadow",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Default value. No shadow is displayed"
      },
      {
        "value": "h-offset",
        "description": "Required. The horizontal offset of the shadow. A positive value puts the \r\n    shadow on the right side of the box, a negative value puts the shadow on the \r\n    left side of the box"
      },
      {
        "value": "v-offset",
        "description": "Required. The vertical offset of the shadow. A positive value puts the \r\n    shadow below the box, a negative value puts the shadow above the box"
      },
      {
        "value": "blur",
        "description": "Optional. The blur radius. The higher the number, the more blurred the \r\n    shadow will be"
      },
      {
        "value": "spread",
        "description": "Optional. The spread radius. A positive value increases the size of the \r\n    shadow, a negative value decreases the size of the shadow"
      },
      {
        "value": "color",
        "description": "Optional. The color of the shadow. The default value is the text color. Look at CSS Color Values for a complete list of possible color values.Note: In Safari (on PC) the color parameter is required. If you do not specify the color, the shadow is not displayed at all."
      },
      {
        "value": "inset",
        "description": "Optional. Changes the shadow from an outer shadow (outset) to an inner shadow"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "box-sizing",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " content-box",
        "description": "Default. The width and height properties (and min/max properties) includes only the content. Border \r\n    and padding are not included"
      },
      {
        "value": " border-box",
        "description": "The width and height properties (and min/max properties) includes \r\n    content, padding and border"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "caret-color",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " auto",
        "description": "Default. Browsers uses the currentColor for the caret"
      },
      {
        "value": " color",
        "description": "Specifies a color to use for the caret. All legal color values can be used (rgb, \r\n    hex, named-color, etc). For more information on legal values, read our CSS \r\n    Colors Tutorial"
      }
    ]
  },
  {
    "style": "clip-path",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "clip-source",
        "description": "Defines a URL to an SVG <clipPath> element"
      },
      {
        "value": "basic-shape",
        "description": "Clips an element to a basic shape: circle, ellipse, polygon or inset"
      },
      {
        "value": "margin-box",
        "description": "Uses the margin box as the reference box"
      },
      {
        "value": "border-box",
        "description": "Uses the border box as the reference box"
      },
      {
        "value": "padding-box",
        "description": "Uses the padding box as the reference box"
      },
      {
        "value": "content-box",
        "description": "Uses the content box as the reference box"
      },
      {
        "value": "fill-box",
        "description": "Uses the object bounding box as reference box"
      },
      {
        "value": "stroke-box",
        "description": "Uses the stroke bounding box as reference box"
      },
      {
        "value": "view-box",
        "description": "Uses the SVG viewport as reference box"
      },
      {
        "value": "none",
        "description": "This is default. No clipping is done"
      }
    ]
  },
  {
    "style": "column-count",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "The optimal number of columns into which the content of the element will be flowed"
      },
      {
        "value": "auto",
        "description": "Default value. The number of columns will be determined by other properties, like e.g. \"column-width\""
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-fill",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "balance",
        "description": "Default value. Fills each column with about the same amount of content, \r\n    but will not allow the columns to be taller than the height (so, columns \r\n    might be shorter than the height as the browser distributes the content \r\n    evenly horizontally)"
      },
      {
        "value": "auto",
        "description": "Fills each column until it reaches the height, and do this until it runs \r\n    out of content (so, this value will not necessarily fill all the columns nor \r\n    fill them evenly)"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-gap",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "A specified length that will set the gap between the columns"
      },
      {
        "value": "normal",
        "description": "Default value. Specifies a normal gap between the columns. W3C suggests a value of 1em"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-rule",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " column-rule-width",
        "description": "Sets the width of the rule between columns. Default value is medium"
      },
      {
        "value": " column-rule-style",
        "description": "Sets the style of the rule between columns. Default value is none"
      },
      {
        "value": " column-rule-color",
        "description": "Sets the color of the rule between columns. Default value is the color of the element"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-rule-color",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " color",
        "description": "Specifies the color of the rule. Look at CSS Color Values for a complete list of possible color values"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-rule-style",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " none",
        "description": "Default value. Defines no rule"
      },
      {
        "value": " hidden",
        "description": "Defines a hidden rule"
      },
      {
        "value": " dotted",
        "description": "Defines a dotted rule"
      },
      {
        "value": " dashed",
        "description": "Defines a dashed rule"
      },
      {
        "value": " solid",
        "description": "Defines a solid rule"
      },
      {
        "value": " double",
        "description": "Defines a double rule"
      },
      {
        "value": " groove",
        "description": "Specifies a 3D grooved rule. The effect depends on the width and color values"
      },
      {
        "value": " ridge",
        "description": "Specifies a 3D ridged rule. The effect depends on the width and color values"
      },
      {
        "value": " inset",
        "description": "Specifies a 3D inset rule. The effect depends on the width and color values"
      },
      {
        "value": " outset",
        "description": "Specifies a 3D outset rule. The effect depends on the width and color values"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-rule-width",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " medium",
        "description": "Default value. Defines a medium rule"
      },
      {
        "value": " thin",
        "description": "Defines a thin rule"
      },
      {
        "value": " thick",
        "description": "Defines a thick rule"
      },
      {
        "value": " length",
        "description": "Specifies the width of the rule"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-span",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Default value. The element should span across one column"
      },
      {
        "value": "all",
        "description": "The element should span across all columns"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "column-width",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default value. The column width will be determined by the browser "
      },
      {
        "value": "length",
        "description": "A length that specifies the width of the columns. The number of columns \r\n    will be the minimum number of columns needed to show all the content across \r\n    the element. Read about length units"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "columns",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default value. Sets both the column-width and column-count to \"auto\""
      },
      {
        "value": "column-width",
        "description": "Defines the minimum width for each column"
      },
      {
        "value": "column-count",
        "description": "Defines the maximum number of columns"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "filter",
    "properties": null
  },
  {
    "style": "flex",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "flex-grow",
        "description": "A number specifying how much the item will grow relative to the rest of the flexible items"
      },
      {
        "value": "flex-shrink",
        "description": "A number specifying how much the item will shrink relative to the rest of the flexible items"
      },
      {
        "value": "flex-basis",
        "description": "The length of the item. Legal values: \"auto\", \"inherit\", or a number followed by \"%\", \"px\", \"em\" or any other length unit"
      },
      {
        "value": "auto",
        "description": "Same as 1 1 auto."
      },
      {
        "value": "initial",
        "description": "Same as 0 1 auto. Read about initial"
      },
      {
        "value": "none",
        "description": "Same as 0 0 auto."
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-basis",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "A length unit, or percentage, specifying the initial length of the flexible item(s)"
      },
      {
        "value": "auto",
        "description": "Default value. The length is equal to the length of the flexible item. If the item has no length specified, the length will be according to its content"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-direction",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "row",
        "description": "Default value. The flexible items are displayed horizontally, as a row"
      },
      {
        "value": "row-reverse",
        "description": "Same as row, but in reverse order"
      },
      {
        "value": "column",
        "description": "The flexible items are displayed vertically, as a column"
      },
      {
        "value": "column-reverse",
        "description": "Same as column, but in reverse order"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-flow",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "flex-direction",
        "description": "Possible values:rowrow-reversecolumncolumn-reverseinitialinherit\r\n  Default value is \"row\".\r\n  Specifying the direction of the flexible items"
      },
      {
        "value": "flex-wrap",
        "description": "Possible values:nowrapwrapwrap-reverseinitialinherit\r\n  Default value is \"nowrap\".\r\n\r\n  Specifying whether the flexible items should wrap or not\r\n\r\n"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-grow",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "A number specifying how much the item will grow relative to the rest of the flexible items. Default value is 0"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-shrink",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "A number specifying how much the item will shrink relative to the rest of the flexible items. Default value is 1"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "flex-wrap",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "nowrap",
        "description": "Default value. Specifies that the flexible items will not wrap"
      },
      {
        "value": "wrap",
        "description": "Specifies that the flexible items will wrap if necessary"
      },
      {
        "value": "wrap-reverse",
        "description": "Specifies that the flexible items will wrap, if necessary, in reverse order"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "@font-face",
    "properties": null
  },
  {
    "style": "font-kerning",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " auto",
        "description": "Default. The browser determines whether font kerning should be applied or \r\n    not"
      },
      {
        "value": " normal",
        "description": "Specifies that font kerning is applied"
      },
      {
        "value": " none",
        "description": "Specifies that font kerning is not applied"
      }
    ]
  },
  {
    "style": "font-size-adjust",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "Defines the aspect value to use"
      },
      {
        "value": "none",
        "description": "Default value. No font size adjustment"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "font-stretch",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "ultra-condensed",
        "description": "Makes the text as narrow as it gets"
      },
      {
        "value": "extra-condensed",
        "description": "Makes the text narrower than condensed, but not as narrow as ultra-condensed"
      },
      {
        "value": "condensed",
        "description": "Makes the text narrower than semi-condensed, but not as narrow as extra-condensed"
      },
      {
        "value": "semi-condensed",
        "description": "Makes the text narrower than normal, but not as narrow as condensed"
      },
      {
        "value": "normal",
        "description": "Default value. No font stretching"
      },
      {
        "value": "semi-expanded",
        "description": "Makes the text wider than normal, but not as wide as expanded"
      },
      {
        "value": "expanded",
        "description": "Makes the text wider than semi-expanded, but not as wide as extra-expanded"
      },
      {
        "value": "extra-expanded",
        "description": "Makes the text wider than expanded, but not as wide as ultra-expanded"
      },
      {
        "value": "ultra-expanded",
        "description": "Makes the text as wide as it gets"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "hanging-punctuation",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "No punctuation mark may be placed outside the line box at the start or at the end of a full line of text"
      },
      {
        "value": "first",
        "description": "Punctuation may hang outside the start edge of the first line"
      },
      {
        "value": "last",
        "description": "Punctuation may hang outside the end edge of the last line"
      },
      {
        "value": "allow-end",
        "description": "Punctuation may hang outside the end edge of all lines if the punctuation does not otherwise fit prior to justification"
      },
      {
        "value": "force-end",
        "description": "Punctuation may hang outside the end edge of all lines. If justification is enabled on this line, then it will force the punctuation to hang"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "hyphens",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Words are not hyphenated"
      },
      {
        "value": "manual",
        "description": "Default. Words are only hyphenated at &hyphen; or &shy; (if needed)"
      },
      {
        "value": "auto",
        "description": "Words are hyphenated where the algorithm is deciding (if needed)"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "isolation",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default. A new stacking context is created only if one of the properties applied to the element requires it"
      },
      {
        "value": "isolate",
        "description": "A new stacking context must be created"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "justify-content",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "flex-start",
        "description": "Default value. Items are positioned at the beginning of the container"
      },
      {
        "value": "flex-end",
        "description": "Items are positioned at the end of the container"
      },
      {
        "value": "center",
        "description": "Items are positioned at the center of the container"
      },
      {
        "value": "space-between",
        "description": "Items are positioned with space between the lines"
      },
      {
        "value": "space-around",
        "description": "Items are positioned with space before, between, and after the lines"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "@keyframes",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "animationname",
        "description": "Required. Defines the name of the animation."
      },
      {
        "value": "keyframes-selector",
        "description": "Required. Percentage of the animation duration.Legal values:0-100%\r\n from (same as 0%)\r\n to (same as 100%)Note: You can have many keyframes-selectors in one animation."
      },
      {
        "value": "css-styles",
        "description": "Required. One or more legal CSS style properties"
      }
    ]
  },
  {
    "style": "@media",
    "properties": null
  },
  {
    "style": "object-fit",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "fill",
        "description": "This is default. The replaced content is sized to fill the element's \r\n    content box. If necessary, the object will be stretched or squished to fit"
      },
      {
        "value": "contain",
        "description": "The replaced content is scaled to maintain its aspect ratio while fitting within the element's content box"
      },
      {
        "value": "cover",
        "description": "The replaced content is sized to maintain its aspect ratio while filling the element's entire content box. The object will be clipped to fit"
      },
      {
        "value": "none",
        "description": "The replaced content is not resized"
      },
      {
        "value": "scale-down",
        "description": "The content is sized as if none or contain were specified (would result in a smaller concrete object size)"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "object-position",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "position",
        "description": "Specifies the position of the image or video inside its content box. First value controls the \r\n    x-asis and the second value controls the y-axis. Can be a string (left, \r\n    center or right), or a number (in px or %). Negative values are allowed"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "opacity",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "Specifies the opacity. From 0.0 (fully transparent) to 1.0 (fully opaque) "
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "order",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "Default value 0. Specifies the order for the flexible item"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "outline-offset",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " length",
        "description": "The distance the outline is outset from the border edge. Default value is 0"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "overflow-x",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "visible",
        "description": "The content is not clipped, and it may be rendered outside the left and \r\n    right edges. This is default"
      },
      {
        "value": "hidden",
        "description": "The content is clipped - and no scrolling mechanism is provided"
      },
      {
        "value": "scroll",
        "description": "The content is clipped and a scrolling mechanism is provided"
      },
      {
        "value": "auto",
        "description": "Should cause a scrolling mechanism to be provided for overflowing boxes"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "overflow-y",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "visible",
        "description": "The content is not clipped, and it may be rendered outside the content box. \r\n    This is default"
      },
      {
        "value": "hidden",
        "description": "The content is clipped - and no scrolling mechanism is provided"
      },
      {
        "value": "scroll",
        "description": "The content is clipped and a scrolling mechanism is provided"
      },
      {
        "value": "auto",
        "description": "Should cause a scrolling mechanism to be provided for overflowing boxes"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "perspective",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "length",
        "description": "How far the element is placed from the view"
      },
      {
        "value": "none",
        "description": "Default value. Same as 0. The perspective is not set"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "perspective-origin",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "x-axis",
        "description": "Defining where the view is placed at the x-axisPossible values:\r\n \r\n    left\r\n    center\r\n    right\r\n    length\r\n    %\r\n \r\n Default value: 50%"
      },
      {
        "value": "y-axis",
        "description": "Defining where the view is placed at the y-axisPossible values:\r\n \r\n    top\r\n    center\r\n    bottom\r\n    length\r\n    %\r\n \r\n Default value: 50%"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "pointer-events",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "The element reacts to pointer events, like :hover and click. This is \r\n    default"
      },
      {
        "value": "none",
        "description": "The element does not react to pointer events "
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "resize",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": " none",
        "description": "Default value. The user cannot resize the element"
      },
      {
        "value": " both",
        "description": "The user can resize both the height and width of the element"
      },
      {
        "value": " horizontal",
        "description": "The user can resize the width of the element"
      },
      {
        "value": " vertical",
        "description": "The user can resize the height of the element"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "tab-size",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "number",
        "description": "The number of space-characters to be displayed for each tab-character. \r\n    Default value is 8"
      },
      {
        "value": "length",
        "description": "The length of a tab-character. This property value is not supported in any of the major browsers"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-align-last",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default value. The last line is justified and aligned left"
      },
      {
        "value": "left",
        "description": "The last line is aligned to the left"
      },
      {
        "value": "right",
        "description": "The last line is aligned to the right"
      },
      {
        "value": "center",
        "description": "The last line is center-aligned"
      },
      {
        "value": "justify",
        "description": "The last line is justified as the rest of the lines"
      },
      {
        "value": "start",
        "description": "The last line is aligned at the beginning of the line (left if the text-direction is left-to-right, and right is the text-direction is right-to-left)"
      },
      {
        "value": "end",
        "description": "The last line is aligned at the end of the line (right if the text-direction is left-to-right, and left is the text-direction is right-to-left)"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-decoration-color",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "color",
        "description": "Specifies the color of the text-decoration"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-decoration-line",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Default value. Specifies no line for the text-decoration"
      },
      {
        "value": "underline",
        "description": "Specifies that a line will be displayed under the text"
      },
      {
        "value": "overline",
        "description": "Specifies that a line will be displayed over the text"
      },
      {
        "value": "line-through",
        "description": "Specifies that a line will be displayed through the text"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-decoration-style",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "solid",
        "description": "Default value. The line will display as a single line"
      },
      {
        "value": "double",
        "description": "The line will display as a double line"
      },
      {
        "value": "dotted",
        "description": "The line will display as a dotted line"
      },
      {
        "value": "dashed",
        "description": "The line will display as a dashed line"
      },
      {
        "value": "wavy",
        "description": "The line will display as a wavy line"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-justify",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "The browser determines the justification algorithm"
      },
      {
        "value": "inter-word",
        "description": "Increases/Decreases the space between words"
      },
      {
        "value": "inter-character",
        "description": "Increases/Decreases the space between characters"
      },
      {
        "value": "none",
        "description": "Disables justification methods"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-overflow",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "clip",
        "description": "Default value. The text is clipped and not accessible"
      },
      {
        "value": "ellipsis",
        "description": "Render an ellipsis (\"...\") to represent the clipped text"
      },
      {
        "value": "string",
        "description": "Render the given string to represent the clipped text"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "text-shadow",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "h-shadow",
        "description": "Required. The position of the horizontal shadow. Negative values are allowed"
      },
      {
        "value": "v-shadow",
        "description": "Required. The position of the vertical shadow. Negative values are allowed"
      },
      {
        "value": "blur-radius",
        "description": "Optional. The blur radius. Default value is 0"
      },
      {
        "value": "color",
        "description": "Optional. The color of the shadow. Look at CSS Color Values for a complete list of possible color values"
      },
      {
        "value": "none",
        "description": "Default value. No shadow"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transform",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "Defines that there should be no transformation"
      },
      {
        "value": "matrix(n,n,n,n,n,n)",
        "description": "Defines a 2D transformation, using a matrix of six values"
      },
      {
        "value": "matrix3d\r\n (n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)",
        "description": "Defines a 3D transformation, using a 4x4 matrix of 16 values"
      },
      {
        "value": "translate(x,y)",
        "description": "Defines a 2D translation"
      },
      {
        "value": "translate3d(x,y,z)",
        "description": "Defines a 3D translation"
      },
      {
        "value": "translateX(x)",
        "description": "Defines a translation, using only the value for the X-axis"
      },
      {
        "value": "translateY(y)",
        "description": "Defines a translation, using only the value for the Y-axis"
      },
      {
        "value": "translateZ(z)",
        "description": "Defines a 3D translation, using only the value for the Z-axis"
      },
      {
        "value": "scale(x,y)",
        "description": "Defines a 2D scale transformation"
      },
      {
        "value": "scale3d(x,y,z)",
        "description": "Defines a 3D scale transformation"
      },
      {
        "value": "scaleX(x)",
        "description": "Defines a scale transformation by giving a value for the X-axis"
      },
      {
        "value": "scaleY(y)",
        "description": "Defines a scale transformation by giving a value for the Y-axis"
      },
      {
        "value": "scaleZ(z)",
        "description": "Defines a 3D scale transformation by giving a value for the Z-axis"
      },
      {
        "value": "rotate(angle)",
        "description": "Defines a 2D rotation, the angle is specified in the  parameter"
      },
      {
        "value": "rotate3d(x,y,z,angle)",
        "description": "Defines a 3D rotation"
      },
      {
        "value": "rotateX(angle)",
        "description": "Defines a 3D rotation along the X-axis"
      },
      {
        "value": "rotateY(angle)",
        "description": "Defines a 3D rotation along the Y-axis"
      },
      {
        "value": "rotateZ(angle)",
        "description": "Defines a 3D rotation along the Z-axis"
      },
      {
        "value": "skew(x-angle,y-angle)",
        "description": "Defines a 2D skew transformation along the X- and the Y-axis"
      },
      {
        "value": "skewX(angle)",
        "description": "Defines a 2D skew transformation along the X-axis"
      },
      {
        "value": "skewY(angle)",
        "description": "Defines a 2D skew transformation along the Y-axis"
      },
      {
        "value": "perspective(n)",
        "description": "Defines a perspective view for a 3D transformed element"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transform-origin",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "x-axis",
        "description": "Defines where the view is placed at the x-axis. Possible values:\r\n    left\r\n    center\r\n    right\r\n    length\r\n    %\r\n \r\n  "
      },
      {
        "value": "y-axis",
        "description": "Defines where the view is placed at the y-axis. Possible values:\r\n    top\r\n    center\r\n    bottom\r\n    length\r\n    %\r\n \r\n  "
      },
      {
        "value": "z-axis",
        "description": "Defines where the view is placed at the z-axis (for 3D transformations). Possible values:\r\n    length\r\n \r\n  "
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transform-style",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "flat",
        "description": "Specifies that child elements will NOT preserve its 3D position. This is default"
      },
      {
        "value": "preserve-3d",
        "description": "Specifies that child elements will preserve its 3D position"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transition",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "transition-property",
        "description": "Specifies the name of the CSS property the transition effect is for"
      },
      {
        "value": "transition-duration",
        "description": "Specifies how many seconds or milliseconds the transition effect takes to complete"
      },
      {
        "value": "transition-timing-function",
        "description": "Specifies the speed curve of the transition effect"
      },
      {
        "value": "transition-delay",
        "description": "Defines when the transition effect will start"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transition-delay",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "time",
        "description": "Specifies the number of seconds or milliseconds to wait before the transition effect will start"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transition-duration",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "time",
        "description": "Specifies how many seconds or milliseconds a transition effect takes to complete. Default value is 0s, meaning there will be no effect"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transition-property",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "none",
        "description": "No property will get a transition effect"
      },
      {
        "value": "all",
        "description": "Default value. All properties will get a transition effect"
      },
      {
        "value": "property",
        "description": "Defines a comma separated list of CSS property names the transition effect is for"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "transition-timing-function",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "ease",
        "description": "Default value. Specifies a transition effect with a slow start, then fast, then end slowly (equivalent to cubic-bezier(0.25,0.1,0.25,1))"
      },
      {
        "value": "linear",
        "description": "Specifies a transition effect with the same speed from start to end (equivalent to cubic-bezier(0,0,1,1))"
      },
      {
        "value": "ease-in",
        "description": "Specifies a transition effect with a slow start (equivalent to cubic-bezier(0.42,0,1,1))"
      },
      {
        "value": "ease-out",
        "description": "Specifies a transition effect with a slow end (equivalent to cubic-bezier(0,0,0.58,1))"
      },
      {
        "value": "ease-in-out",
        "description": "Specifies a transition effect with a slow start and end (equivalent to cubic-bezier(0.42,0,0.58,1))"
      },
      {
        "value": "step-start",
        "description": "Equivalent to steps(1, start)"
      },
      {
        "value": "step-end",
        "description": "Equivalent to steps(1, end)"
      },
      {
        "value": "steps(int,start|end)",
        "description": "Specifies a stepping function, with two parameters. The first parameter specifies the number of intervals in the function. It must be a positive integer (greater than 0). The second parameter, which is optional, is either the value \"start\" or \"end\", and specifies the point at which the change of values occur within the interval. If the second parameter is omitted, it is given the value \"end\" "
      },
      {
        "value": "cubic-bezier(n,n,n,n)",
        "description": "Define your own values in the cubic-bezier function.\r\n Possible values are numeric values from 0 to 1"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "user-select",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "auto",
        "description": "Default. Text can be selected if the browser allows it"
      },
      {
        "value": "none",
        "description": "Prevent text selection"
      },
      {
        "value": "text",
        "description": "The text can be selected by the user"
      },
      {
        "value": "all",
        "description": "Text selection is made with one click instead of a double-click"
      }
    ]
  },
  {
    "style": "word-break",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "normal",
        "description": "Default value. Uses default line break rules"
      },
      {
        "value": "break-all",
        "description": "To prevent overflow, word may be broken at any character"
      },
      {
        "value": "keep-all ",
        "description": "Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. \r\n    Non-CJK text behavior is the same as value \"normal\""
      },
      {
        "value": "break-word",
        "description": "To prevent overflow, word may be broken at arbitrary points"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "word-wrap",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "normal",
        "description": "Break words only at allowed break points"
      },
      {
        "value": "break-word",
        "description": "Allows unbreakable words to be broken"
      },
      {
        "value": "initial",
        "description": "Sets this property to its default value. Read about initial"
      },
      {
        "value": "inherit",
        "description": "Inherits this property from its parent element. Read about inherit"
      }
    ]
  },
  {
    "style": "writing-mode",
    "properties": [
      {
        "value": null,
        "description": null
      },
      {
        "value": "horizontal-tb",
        "description": "Let the content flow horizontally from left to right, vertically from \r\n    top to bottom"
      },
      {
        "value": "vertical-rl",
        "description": "Let the content flow vertically from top to bottom, horizontally from \r\n    right to left"
      },
      {
        "value": "vertical-lr",
        "description": "Let the content flow vertically from top to bottom, horizontally from \r\n    left to right"
      }
    ]
  }
]