--- 
name: CSS v3 beta
fileTypes: 
- css
scopeName: source.css.beta
repository: 
  font-weight: 
    captures: 
      "2": 
        name: support.constant.property-value.css
      "4": 
        name: constant.numeric.css
    match: ((normal|bold(er)?|lighter)|(100|200|300|400|500|600|700|800|900))
  font-variant: 
    name: support.constant.property-value.css
    match: (normal|small-caps)
  font-other: 
    name: support.constant.property-value.css
    match: (caption|icon|menu|message-box|small-caption|status-bar)
  uri: 
    name: meta.constructor.css
    endCaptures: 
      "1": 
        name: punctuation.definition.constructor.css
    begin: (url)\s*(\()\s*
    contentName: meta.constructor.argument.css
    beginCaptures: 
      "1": 
        name: storage.type.constructor.css
      "2": 
        name: punctuation.definition.constructor.css
    end: (\))
    patterns: 
    - include: "#string-single"
    - include: "#string-double"
  angle: 
    captures: 
      "1": 
        name: constant.numeric.degree.css
      "5": 
        name: constant.other.unit.css
    match: ([-+]?(3([1-5][0-9]|60)|[12]?([0-9]?[0-9]))(deg|rad|grad))
  font-adjust: 
    name: support.constant.property-value.css
    match: (none)
  font-absolute: 
    name: support.constant.property-value.css
    match: (xx-small|x-small|small|medium|large|x-large|xx-large)\b
  string-single: 
    name: string.quoted.single.css
    endCaptures: 
      "0": 
        name: punctuation.definition.string.end.css
    begin: "'"
    beginCaptures: 
      "0": 
        name: punctuation.definition.string.begin.css
    end: "'"
    patterns: 
    - name: constant.character.escape.css
      match: \\.
  shape: 
    name: meta.constructor.css
    endCaptures: 
      "1": 
        name: punctuation.definition.constructor.css
    begin: (rect)\s*(\()
    contentName: meta.constructor.argument.css
    beginCaptures: 
      "1": 
        name: storage.type.constructor.css
      "2": 
        name: punctuation.definition.constructor.css
    end: (\))
    patterns: 
    - include: "#length"
    - include: "#percentage"
    - name: support.constant.property-value.css
      match: auto
  border-width: 
    name: support.constant.property-value.css
    match: (thin|thick|medium)
  border-style: 
    name: support.constant.property-value.css
    match: (dashed|dotted|double|groove|hidden|inset|outset|ridge|solid|collapse|separate)
  string-double: 
    name: string.quoted.double.css
    endCaptures: 
      "0": 
        name: punctuation.definition.string.end.css
    begin: "\""
    beginCaptures: 
      "0": 
        name: punctuation.definition.string.begin.css
    end: "\""
    patterns: 
    - name: constant.character.escape.css
      match: \\.
  length: 
    captures: 
      "6": 
        name: constant.numeric.css
      "2": 
        name: constant.numeric.css
      "5": 
        name: constant.other.unit.css
    match: (((-|\+)?\s*[0-9]*(\.)?[0-9]+)(px|pt|cm|mm|in|em|ex|pc)|(0))
  important: 
    name: support.constant.property-value.css
    match: (inherit|!important)
  font-stretch: 
    name: support.constant.property-value.css
    match: (normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded)
  font-generic: 
    name: support.constant.font-family.css
    match: (serif|sans-serif|cursive|fantasy|monospace)
  color-rgb: 
    name: meta.constructor.css
    endCaptures: 
      "1": 
        name: punctuation.definition.constructor.css
    begin: (rgb)\s*(\()
    contentName: meta.constructor.argument.css
    beginCaptures: 
      "1": 
        name: storage.type.constructor.css
      "2": 
        name: punctuation.definition.constructor.css
    end: (\))
    patterns: 
    - name: constant.numeric.css
      match: "[12]?[0-9]?[0-9]"
    - include: "#percentage"
  percentage: 
    captures: 
      "1": 
        name: constant.numeric.css
      "2": 
        name: constant.other.unit.css
    match: ([0-9]+)(%)
  font-style: 
    name: support.constant.property-value.css
    match: (normal|italic|oblique)
  color-named: 
    name: support.constant.named-color.css
    match: (transparent|aqua|black|blue|fuchsia|gr[ae]y|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)
  list-style-type: 
    name: support.constant.property-value.css
    match: (none|decimal(-leading-zero)?|lower(-roman|-alpha|-greek|-alpha|-latin)?|upper(-roman|-alpha|-greek|-alpha|-latin)?|hebrew|armenian|georgian|cjk-ideographic|hiragana(-iroha)?|katakana(-iroha)?)
  font-specific: 
    name: support.constant.font-name.css
    match: ((?i:arial( black)?|century|comic|courier|garamond|georgia|geneva|helvetica|impact|lucida( sans)?( grande)?( unicode)?|symbol|system|tahoma|times( new roman)?|trebuchet( ms)?|utopia|verdana|webdings|monospace))
  comment-block: 
    name: comment.block.css
    captures: 
      "0": 
        name: punctuation.definition.comment.css
    begin: /\*
    end: \*/
  font-relative: 
    name: support.constant.property-value.css
    match: (larger|smaller)
  counter: 
    name: meta.constructor.css
    endCaptures: 
      "1": 
        name: punctuation.definition.constructor.css
    begin: (counter)\s*(\()
    contentName: meta.constructor.argument.css
    beginCaptures: 
      "1": 
        name: storage.type.constructor.css
      "2": 
        name: punctuation.definition.constructor.css
    end: (\))
    patterns: 
    - include: "#list-style-type"
  color-hex: 
    name: constant.other.color.rgb-value.css
    captures: 
      "1": 
        name: punctuation.definition.constant.css
    match: (#)([0-9a-fA-F]{6}|[0-9a-fA-F]{3})
  attr: 
    name: meta.constructor.css
    endCaptures: 
      "1": 
        name: punctuation.definition.constructor.css
    begin: (attr)\s*(\()
    contentName: meta.constructor.argument.css
    beginCaptures: 
      "1": 
        name: storage.type.constructor.css
      "2": 
        name: punctuation.definition.constructor.css
    end: (\))
    patterns: 
    - name: variable.parameter.css
      match: "[^'\") \\t]+"
uuid: 5A0E986A-BE73-11D9-8214-000A957B2E42
foldingStartMarker: (/\*|\{|\()
patterns: 
- name: meta.selector.css
  begin: (^)?(?=\s*[.*#a-zA-Z])
  end: (/\*|(?=\{))
  patterns: 
  - name: entity.name.tag.css
    match: \b(?i:a|abbr|acronym|address|area|b|base|big|blockquote|body|br|button|caption|cite|code|col|colgroup|dd|del|dfn|div|dl|dt|em|embed|fieldset|form|frame|frameset|(h[1-6])|head|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|ul|var)\b
  - name: meta.attribute-match.css
    captures: 
      "1": 
        name: punctuation.definition.attribute-name.css
      "2": 
        name: entity.other.attribute-name.css
      "3": 
        name: keyword.operator.css
      "4": 
        name: string.other.attribute-value.css
        comment: according to CSS spec, this is an identifier or string
      "5": 
        name: punctuation.definition.attribute-name.css
    match: (\[)(.*?)(?:([\|~]?=)([^\]]*))?(\])
  - name: entity.other.attribute-name.class.css
    captures: 
      "1": 
        name: punctuation.definition.entity.css
    match: (\.)[a-zA-Z0-9_-]+
  - name: entity.other.attribute-name.id.css
    captures: 
      "1": 
        name: punctuation.definition.entity.css
    match: (#)[a-zA-Z0-9_-]+
  - name: entity.other.attribute-name.universal.css
    match: \*
  - name: entity.other.attribute-name.tag.pseudo-class.css
    captures: 
      "1": 
        name: punctuation.definition.entity.css
    match: (:)(active|after|before|first-(letter|line)|focus|hover|link|visited)
- include: "#comment-block"
- name: invalid.illegal.bad-comma.css
  match: "[^} \\t{/@][^{,]*?(,)\\s*?(?=\\{)"
- name: meta.preprocessor.at-rule.import.css
  captures: 
    "2": 
      name: keyword.control.at-rule.import.css
    "3": 
      name: punctuation.definition.keyword.css
  begin: (^\s*)?((@)import)
  end: ((?=;|\}))
  patterns: 
  - include: "#string-double"
  - include: "#uri"
- name: meta.preprocessor.at-rule.media.css
  captures: 
    "1": 
      name: keyword.control.at-rule.media.css
    "2": 
      name: punctuation.definition.keyword.css
    "3": 
      name: support.constant.media.css
  begin: ^\s*((@)media)\s+(((all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)\s*,?\s*)+)\s*{
  end: \s*((?=;|\}))
  patterns: 
  - include: source.css
- name: meta.scope.property-list.css
  captures: 
    "0": 
      name: punctuation.section.property-list.css
  begin: \{
  end: \}
  patterns: 
  - include: "#comment-block"
  - name: meta.property.azimuth.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (azimuth)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: ((left|right)(-side|wards)?|(center|far)(-left|-right)?|behind)
      - include: "#comment-block"
      - include: "#angle"
      - include: "#important"
  - name: meta.property-group.background.css
    begin: (?=background)
    end: (?=[;}])
    patterns: 
    - name: meta.property.background.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background)(?=[:\s])
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
        - include: "#length"
        - include: "#percentage"
        - include: "#uri"
        - name: support.constant.property-value.css
          match: ((no-repeat)|repeat(-x|-y)?)
        - name: support.constant.property-value.css
          match: (none)
        - name: support.constant.property-value.css
          match: (top|left|right|bottom|center)
        - name: support.constant.property-value.css
          match: (fixed|scroll)
    - name: meta.property.background-attachment.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background-attachment)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: (scroll|fixed)
    - name: meta.property.background-color.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background-color)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.background-image.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background-image)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#uri"
        - name: support.constant.property-value.css
          match: (none)
    - name: meta.property.background-position.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background-position)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#length"
        - include: "#percentage"
        - name: support.constant.property-value.css
          match: (top|left|right|bottom|center)
    - name: meta.property.background-repeat.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (background-repeat)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: ((no-repeat)|repeat(-x|-y)?)
  - name: meta.property-group.border.css
    begin: (?=border)
    end: (?=[;}])
    patterns: 
    - name: meta.property.border.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border(-bottom|-left|-right|-top)?)(?=[:\s])
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#length"
        - include: "#border-style"
        - include: "#border-width"
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: none
    - name: meta.property.border-collapse.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border-collapse)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: (collapse|separate)
    - name: meta.property.border-spacing.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border-spacing)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#length"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.border-color.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border((-bottom|-left|-right|-top)?(-color)))
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.border-style.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border((-bottom|-left|-right|-top)?(-style)))
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#border-style"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.border-width.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (border((-bottom|-left|-right|-top)?(-width)))
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#length"
        - include: "#border-width"
        - include: "#comment-block"
        - include: "#important"
  - name: meta.property.caption-side.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (caption-side)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (top|bottom|left|right)
  - name: meta.property.clear.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (clear)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (left|right|both|none)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.clip.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (clip)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: auto
      - include: "#shape"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.color.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (color)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#color-hex"
      - include: "#color-rgb"
      - include: "#color-named"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.content.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (content)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#counter"
      - include: "#string-double"
      - include: "#string-single"
      - include: "#uri"
      - include: "#attr"
      - name: support.constant.property-value.css
        match: (open-quote|close-quote|no-open-quote|no-close-quote)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property-group.counter.css
    begin: (?=counter)
    end: (?=[;}])
    patterns: 
    - name: meta.property.counter-increment.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (counter-increment)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: (none)
    - name: meta.property.counter-reset.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (counter-reset)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - name: support.constant.property-value.css
          match: (none)
  - name: meta.property-group.cue.css
    begin: (?=cue)
    end: (?=[;}])
    patterns: 
    - name: meta.property.cue.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (cue[:|\s])
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#uri"
        - name: support.constant.property-value.css
          match: (none)
    - name: meta.property.cue-after.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (cue-after)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#uri"
        - name: support.constant.property-value.css
          match: (none)
    - name: meta.property.cue-before.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (cue-before)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#uri"
        - name: support.constant.property-value.css
          match: (none)
  - name: meta.property.cursor.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (cursor)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#comment-block"
      - include: "#important"
      - include: "#uri"
      - name: support.constant.property-value.css
        match: (auto|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|w-resize|text|wait|help)
  - name: meta.property.direction.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (direction)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (ltr|rtl)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.display.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (display)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (block|list-item|run-in|compact|marker|inline(-table|-block)?|table(((-row|-header|-footer|-column)-group)|-column|-row|-cell|-caption)?|none)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.elevation.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (elevation)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (below|level|above|higher|lower)
      - include: "#comment-block"
      - include: "#important"
      - include: "#angle"
  - name: meta.property.empty-cells.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (empty-cells)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (show|hide)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.float.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (float)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (none|left|right)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property-group.font.css
    begin: (?=font)
    end: (?=[;}])
    patterns: 
    - name: meta.property.font.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font)(?=[:\s])
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#length"
        - include: "#percentage"
        - include: "#string-double"
        - include: "#string-single"
        - include: "#font-specific"
        - include: "#font-generic"
        - include: "#font-weight"
        - include: "#font-stretch"
        - include: "#font-style"
        - include: "#font-variant"
        - include: "#font-other"
        - include: "#font-absolute"
        - include: "#font-relative"
        - include: "#font-adjust"
    - name: meta.property.font-family.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-family)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#font-specific"
        - include: "#font-generic"
        - include: "#string-double"
        - include: "#string-single"
    - name: meta.property.font-size.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-size(-adjust)?)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#length"
        - include: "#percentage"
        - include: "#font-absolute"
        - include: "#font-relative"
        - include: "#font-adjust"
    - name: meta.property.font-stretch.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-stretch)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#font-stretch"
    - name: meta.property.font-style.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-style)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#font-style"
    - name: meta.property.font-variant.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-variant)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#font-variant"
    - name: meta.property.font-weight.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (font-weight)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#comment-block"
        - include: "#important"
        - include: "#font-weight"
  - name: meta.property.letter-spacing.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (letter-spacing)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - include: "#comment-block"
      - include: "#important"
      - name: support.constant.property-value.css
        match: (normal)
  - name: meta.property.line-height.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (line-height)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - include: "#percentage"
      - include: "#comment-block"
      - include: "#important"
      - name: support.constant.property-value.css
        match: (normal)
  - name: meta.property-group.list-style.css
    begin: (?=list)
    end: (?=[;}])
    patterns: 
    - name: meta.property.list-style.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (list-style[:|\s])
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (disc|circle|square|none)
        - include: "#list-style-type"
        - name: support.constant.property-value.css
          match: (inside|outside)
        - include: "#uri"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.list-style-image.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (list-style-image)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (none)
        - include: "#uri"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.list-style-position.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (list-style-position)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (inside|outside)
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.list-style-type.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (list-style-type)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (disc|circle|square|none)
        - include: "#list-style-type"
        - include: "#comment-block"
        - include: "#important"
  - name: meta.property.margin.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (margin(-bottom|-left|-right|-top)?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.marker-offset.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (marker-offset)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.marks.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (marks)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (crop|cross|none)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.opacity.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (opacity)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.orphans.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (orphans)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: "[0-9]+"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property-group.outline.css
    begin: (?=outline)
    end: (?=[;}])
    patterns: 
    - name: meta.property.outline.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (outline)[:\s]
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (invert)
        - include: "#length"
        - include: "#border-style"
        - include: "#border-width"
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.outline-style.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (outline-style)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#border-style"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.outline-color.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (outline-color)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (invert)
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.outline-width.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (outline-width)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#length"
        - include: "#border-width"
        - include: "#comment-block"
        - include: "#important"
  - name: meta.property.overflow.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (overflow)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (visible|hidden|scroll)
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.padding.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (padding(-bottom|-left|-right|-top)?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.page.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (page)(?=[:\s])
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (always|avoid|left|right)
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.page.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (page-break-(before|after|inside)?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (always|avoid|left|right)
      - name: support.constant.property-value.css
        match: auto
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.pause.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (pause(-after|-before)?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - name: constant.other.unit.css
        match: (m)?s
      - name: constant.other.unit.css
        match: "%"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.pitch.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (pitch(-range)?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - name: constant.other.unit.css
        match: (k)?Hz
      - name: support.constant.property-value.css
        match: (x-low|low|medium|high|x-high)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.play-during.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (play-during)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (mix|repeat|auto|none)
      - include: "#comment-block"
      - include: "#important"
      - include: "#uri"
  - name: meta.property.position.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (position)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (relative|fixed|absolute|static)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.quotes.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (quotes)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#string-double"
      - include: "#string-single"
      - name: support.constant.property-value.css
        match: none
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.richness.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (richness)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.placement.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (bottom|left|right|top)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - include: "#percentage"
      - include: "#comment-block"
      - include: "#important"
      - name: support.constant.property-value.css
        match: auto
  - name: meta.property.elem-size.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (((min|max)-)?(height|width))
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - include: "#percentage"
      - include: "#comment-block"
      - include: "#important"
      - name: support.constant.property-value.css
        match: none
      - name: support.constant.property-value.css
        match: auto
  - name: meta.property.size.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (size)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - include: "#length"
      - include: "#comment-block"
      - include: "#important"
      - name: support.constant.property-value.css
        match: (portrait|landscape)
      - name: support.constant.property-value.css
        match: auto
  - name: meta.property.speak.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (speak(-(header|numeral|punctuation))?)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (normal|none|spell-out)
      - name: support.constant.property-value.css
        match: (once|always)
      - name: support.constant.property-value.css
        match: (digits|continuous)
      - name: support.constant.property-value.css
        match: (code|none)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.speech-rate.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (speech-rate)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (x-slow|slow(er)?|medium|fast(er)?|x-fast|inherit)
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.stress.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (stress)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: (-|\+)?\s*[0-9]*(\.)?[0-9]+
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.table-layout.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (table-layout)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (auto|fixed)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property-group.text.css
    begin: (?=text)
    end: (?=[;}])
    patterns: 
    - name: meta.property.text-align.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text-align)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (left|right|center|justify)
        - include: "#string-double"
        - include: "#string-single"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.text-decoration.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text-decoration)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (none|underline|overline|line-through|blink)
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.text-indent.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text-indent)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#length"
        - include: "#percentage"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.text-shadow.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text-shadow)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: none
        - include: "#length"
        - include: "#color-hex"
        - include: "#color-rgb"
        - include: "#color-named"
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.text-transform.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text-transform)
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - name: support.constant.property-value.css
          match: (none|uppercase|lowercase|capitalize)
        - include: "#comment-block"
        - include: "#important"
    - name: meta.property.text.css
      captures: 
        "1": 
          name: support.type.property-name.css
      begin: (text)[-\s]
      end: (?=[;}])
      patterns: 
      - name: meta.property-value.css
        begin: ":"
        beginCaptures: 
          "0": 
            name: punctuation.separator.key-value.css
        end: (?=[;}])
        patterns: 
        - include: "#length"
        - name: support.constant.property-value.css
          match: (left|right|center|justify)
        - name: support.constant.property-value.css
          match: (underline|overline|line-through|blink)
        - name: support.constant.property-value.css
          match: (none|uppercase|lowercase|capitalize)
        - include: "#comment-block"
        - include: "#important"
  - name: meta.property.vertical-align.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (vertical-align)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (baseline|sub|super|top|text-top|middle|bottom|text-bottom)
      - include: "#length"
      - include: "#percentage"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.unicode-bidi.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (unicode-bidi)
    end: (?=[;}])
    patterns: 
    - name: meta.property-name.css
      begin: (?=[a-z])
      end: (?=:)
      patterns: 
      - name: support.type.property-name.css
        match: unicode-bidi
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (normal|embed|bidi-override)
      - include: "#length"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.visibility.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (visibility)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (visible|hidden|collapse)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.voice-family.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (voice-family)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (male|female|child)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.volume.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (volume)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (silent|x-soft|soft|medium|loud|x-loud)
      - include: "#percentage"
      - name: constant.numeric.css
        match: ([-+]?[0-9]*(\.)?[0-9]+)\b
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.white-space.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (white-space)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: (normal|pre|nowrap)
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.widows.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (widows)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: constant.numeric.css
        match: "[0-9]+"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.word-spacing.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (word-spacing)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: normal
      - include: "#length"
      - include: "#comment-block"
      - include: "#important"
  - name: meta.property.z-index.css
    captures: 
      "1": 
        name: support.type.property-name.css
    begin: (z-index)
    end: (?=[;}])
    patterns: 
    - name: meta.property-value.css
      begin: ":"
      beginCaptures: 
        "0": 
          name: punctuation.separator.key-value.css
      end: (?=[;}])
      patterns: 
      - name: support.constant.property-value.css
        match: auto
      - name: constant.numeric.css
        match: "[0-9]+"
      - include: "#comment-block"
      - include: "#important"
foldingStopMarker: (\*/|\}|\))
