<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>Test/Vendor Trident CSS.css</filename>
    </added>
    <added>
      <filename>Test/completions.css</filename>
    </added>
    <added>
      <filename>Test/css_scopes.xml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -129,9 +129,9 @@
 		&lt;/dict&gt;
 		&lt;dict&gt;
 			&lt;key&gt;begin&lt;/key&gt;
-			&lt;string&gt;((?&amp;lt;=\}|\*/)|^)(?=\s*[\|\[:.*#a-zA-Z])&lt;/string&gt;
+			&lt;string&gt;((?&amp;lt;=\}|\*/)|^\s*)(?=\s*[\|\[:.*#a-zA-Z])&lt;/string&gt;
 			&lt;key&gt;end&lt;/key&gt;
-			&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|(?=\{)&lt;/string&gt;
+			&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|(?=\s*+\{)&lt;/string&gt;
 			&lt;key&gt;name&lt;/key&gt;
 			&lt;string&gt;meta.selector.css&lt;/string&gt;
 			&lt;key&gt;patterns&lt;/key&gt;
@@ -148,17 +148,17 @@
 		&lt;/dict&gt;
 		&lt;dict&gt;
 			&lt;key&gt;begin&lt;/key&gt;
-			&lt;string&gt;\{&lt;/string&gt;
+			&lt;string&gt;\s*(\{)&lt;/string&gt;
 			&lt;key&gt;captures&lt;/key&gt;
 			&lt;dict&gt;
-				&lt;key&gt;0&lt;/key&gt;
+				&lt;key&gt;1&lt;/key&gt;
 				&lt;dict&gt;
 					&lt;key&gt;name&lt;/key&gt;
 					&lt;string&gt;punctuation.section.property-list.css&lt;/string&gt;
 				&lt;/dict&gt;
 			&lt;/dict&gt;
 			&lt;key&gt;end&lt;/key&gt;
-			&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|\}&lt;/string&gt;
+			&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|(\})&lt;/string&gt;
 			&lt;key&gt;name&lt;/key&gt;
 			&lt;string&gt;meta.scope.property-list.css&lt;/string&gt;
 			&lt;key&gt;patterns&lt;/key&gt;
@@ -173,10 +173,6 @@
 				&lt;/dict&gt;
 				&lt;dict&gt;
 					&lt;key&gt;include&lt;/key&gt;
-					&lt;string&gt;#source_css_rules-vendor&lt;/string&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;include&lt;/key&gt;
 					&lt;string&gt;#source_css_rules&lt;/string&gt;
 				&lt;/dict&gt;
 			&lt;/array&gt;
@@ -264,6 +260,1107 @@
 			&lt;array&gt;
 				&lt;dict&gt;
 					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?xi)\s*((
+						 ( -atsc   -[-a-z]+)
+						|( -ms     -[-a-z]+)
+						|( mso     -[-a-z]+)
+						|( -moz    -[-a-z]+)
+						|( -o      -[-a-z]+)
+						|( -wap    -[-a-z]+)
+						|( -webkit -[-a-z]+)
+						|( -[-\w]+ -[-a-z]+)
+					))\b&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;meta.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.vendor.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;  selector{(  (property):value);(  (property):value  )}  &lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)(?=;|}|&amp;lt;/style|&quot;|')&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.css&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#comment-block&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#nest_curly&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;begin&lt;/key&gt;
+							&lt;string&gt;:&lt;/string&gt;
+							&lt;key&gt;beginCaptures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;0&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.key-value.rule.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;comment&lt;/key&gt;
+							&lt;string&gt;  selector{  property(:value);  property(:value)  }  &lt;/string&gt;
+							&lt;key&gt;contentName&lt;/key&gt;
+							&lt;string&gt;meta.property-value.css&lt;/string&gt;
+							&lt;key&gt;end&lt;/key&gt;
+							&lt;string&gt;(?i)(?=;|}|&amp;lt;/style)&lt;/string&gt;
+							&lt;key&gt;patterns&lt;/key&gt;
+							&lt;array&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#comment-block&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#nest_curly&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#source_css_rules-values&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/array&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?xi)\s*\b((background-image))\b&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;meta.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;  selector{(  (property):value);(  (property):value  )}  &lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)(?=;|}|&amp;lt;/style|&quot;|')&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.background-image.css&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#comment-block&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#nest_curly&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;begin&lt;/key&gt;
+							&lt;string&gt;:&lt;/string&gt;
+							&lt;key&gt;beginCaptures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;0&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.key-value.rule.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;comment&lt;/key&gt;
+							&lt;string&gt;  selector{  property(:value);  property(:value)  }  &lt;/string&gt;
+							&lt;key&gt;contentName&lt;/key&gt;
+							&lt;string&gt;meta.property-value.css&lt;/string&gt;
+							&lt;key&gt;end&lt;/key&gt;
+							&lt;string&gt;(?i)(?=;|}|&amp;lt;/style)&lt;/string&gt;
+							&lt;key&gt;patterns&lt;/key&gt;
+							&lt;array&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#comment-block&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#nest_curly&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#source_css_rules-values-url&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;match&lt;/key&gt;
+									&lt;string&gt;\S+&lt;/string&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;invalid.illegal.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/array&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?xi)\s*\b(((?:background-)?color))\b&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;meta.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;  selector{(  (property):value);(  (property):value  )}  &lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)(?=;|}|&amp;lt;/style|&quot;|')&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.background-color.css&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#comment-block&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#nest_curly&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;begin&lt;/key&gt;
+							&lt;string&gt;:&lt;/string&gt;
+							&lt;key&gt;beginCaptures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;0&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.key-value.rule.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;comment&lt;/key&gt;
+							&lt;string&gt;  selector{  property(:value);  property(:value)  }  &lt;/string&gt;
+							&lt;key&gt;contentName&lt;/key&gt;
+							&lt;string&gt;meta.property-value.css&lt;/string&gt;
+							&lt;key&gt;end&lt;/key&gt;
+							&lt;string&gt;(?i)(?=;|}|&amp;lt;/style)&lt;/string&gt;
+							&lt;key&gt;patterns&lt;/key&gt;
+							&lt;array&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#comment-block&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#nest_curly&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#source_css_rules-values-color&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;match&lt;/key&gt;
+									&lt;string&gt;\S+&lt;/string&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;invalid.illegal.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/array&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?xi)\s*((s(tress|ize|pe(ech-rate|ak(-(header|numeral|punctuation))?))|height|c(o(ntent|unter-(increment|reset)|lor)|u(e(-(after|before))?|rsor)|l(ip|ear)|aption-side)|t(op|ext-(shadow|transform|indent|decoration|align)|able-layout)|z-index|o(utline(-(style|color|width))?|pacity|verflow-(y|x)|rphans)|di(splay|rection)|unicode-bidi|p(itch(-range)?|osition|lay-during|a(dding(-(top|left|right|bottom))?|use(-(after|before))?|ge(-break-(inside|after|before))?))|e(levation|mpty-cells)|v(isibility|o(ice-family|lume)|ertical-align)|quotes|f(ont(-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight))?|loat)|w(hite-space|id(th|ows)|ord-spacing)|l(i(st-style(-(type|image|position))?|ne-height)|e(tter-spacing|ft))|azimuth|ri(chness|ght)|m(in-(height|width)|a(r(k(s|er-offset)|gin(-(top|left|right|bottom))?)|x-(height|width)))|b(o(ttom|rder(-(s(tyle|pacing)|col(or|lapse)|top(-(style|color|width))?|width|left(-(style|color|width))?|right(-(style|color|width))?|bottom(-(style|color|width))?))?)|ackground(-(color|image|position|attachment|repeat))?)))\b&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;meta.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;  selector{(  (property):value);(  (property):value  )}  &lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)(?=;|}|&amp;lt;/style|&quot;|')&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.css&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#comment-block&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#nest_curly&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;begin&lt;/key&gt;
+							&lt;string&gt;:&lt;/string&gt;
+							&lt;key&gt;beginCaptures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;0&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.key-value.rule.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;comment&lt;/key&gt;
+							&lt;string&gt;  selector{  property(:value);  property(:value)  }  &lt;/string&gt;
+							&lt;key&gt;contentName&lt;/key&gt;
+							&lt;string&gt;meta.property-value.css&lt;/string&gt;
+							&lt;key&gt;end&lt;/key&gt;
+							&lt;string&gt;(?i)(?=;|}|&amp;lt;/style)&lt;/string&gt;
+							&lt;key&gt;patterns&lt;/key&gt;
+							&lt;array&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#comment-block&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#nest_curly&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#source_css_rules-values&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/array&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?i)\s*([-a-z]+)&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;meta.property-name.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;  selector{(  (property):value);(  (property):value  )}  &lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)(?=;|}|&amp;lt;/style|&quot;|')&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.unknown.css&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#comment-block&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#nest_curly&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;begin&lt;/key&gt;
+							&lt;string&gt;:&lt;/string&gt;
+							&lt;key&gt;beginCaptures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;0&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.key-value.rule.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;comment&lt;/key&gt;
+							&lt;string&gt;  selector{  property(:value);  property(:value)  }  &lt;/string&gt;
+							&lt;key&gt;contentName&lt;/key&gt;
+							&lt;string&gt;meta.property-value.css&lt;/string&gt;
+							&lt;key&gt;end&lt;/key&gt;
+							&lt;string&gt;(?i)(?=;|}|&amp;lt;/style)&lt;/string&gt;
+							&lt;key&gt;patterns&lt;/key&gt;
+							&lt;array&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#comment-block&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#nest_curly&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;dict&gt;
+									&lt;key&gt;include&lt;/key&gt;
+									&lt;string&gt;#source_css_rules-values&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/array&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;;&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;punctuation.terminator.rule.css&lt;/string&gt;
+				&lt;/dict&gt;
+			&lt;/array&gt;
+		&lt;/dict&gt;
+		&lt;key&gt;source_css_rules-values&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;patterns&lt;/key&gt;
+			&lt;array&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(?x)\b(
+						 absolute
+						|all-scroll
+						|always
+						|auto
+						|baseline
+						|below
+						|bidi-override
+						|block
+						|bold
+						|bolder
+						|both
+						|bottom
+						|break-all
+						|break-word
+						|capitalize
+						|center
+						|char
+						|circle
+						|col-resize
+						|collapse
+						|crosshair
+						|dashed
+						|decimal
+						|default
+						|disabled
+						|disc
+						|distribute-all-lines
+						|distribute-letter
+						|distribute-space
+						|distribute
+						|dotted
+						|double
+						|e-resize
+						|ellipsis
+						|fixed
+						|groove
+						|hand
+						|help
+						|hidden
+						|horizontal
+						|ideograph-alpha
+						|ideograph-numeric
+						|ideograph-parenthesis
+						|ideograph-space
+						|inactive
+						|inherit
+						|inline-block
+						|inline
+						|inset
+						|inside
+						|inter-ideograph
+						|inter-word
+						|italic
+						|justify
+						|keep-all
+						|left
+						|lighter
+						|line-edge
+						|line-through
+						|line
+						|list-item
+						|loose
+						|lower-alpha
+						|lower-roman
+						|lowercase
+						|lr-tb
+						|ltr
+						|medium
+						|middle
+						|move
+						|n-resize
+						|ne-resize
+						|newspaper
+						|no-drop
+						|no-repeat
+						|nw-resize
+						|none
+						|normal
+						|not-allowed
+						|nowrap
+						|oblique
+						|outset
+						|outside
+						|overline
+						|pointer
+						|progress
+						|relative
+						|repeat-x
+						|repeat-y
+						|repeat
+						|right
+						|ridge
+						|row-resize
+						|rtl
+						|s-resize
+						|scroll
+						|se-resize
+						|separate
+						|small-caps
+						|solid
+						|square
+						|static
+						|strict
+						|super
+						|sw-resize
+						|table-footer-group
+						|table-header-group
+						|tb-rl
+						|text-bottom
+						|text-top
+						|text
+						|thick
+						|thin
+						|top
+						|transparent
+						|underline
+						|upper-alpha
+						|upper-roman
+						|uppercase
+						|vertical-ideographic
+						|vertical-text
+						|visible
+						|w-resize
+						|wait
+						|whitespace
+					)\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;support.constant.property-value.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(?x)(\b(?i:
+						 arial
+						|century
+						|comic
+						|courier
+						|garamond
+						|georgia
+						|helvetica
+						|impact
+						|lucida
+						|symbol
+						|system
+						|tahoma
+						|times
+						|trebuchet
+						|utopia
+						|verdana
+						|webdings
+						|sans-serif
+						|serif
+						|monospace
+					)\b)&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;support.constant.font-name.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;http://www.w3schools.com/css/css_colors.asp&lt;/string&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;support.constant.color.w3c-standard-color-name.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;These colours are mostly recognised but will not validate. ref: http://www.w3schools.com/css/css_colornames.asp&lt;/string&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;\b(seagreen|hotpink|lawngreen|darkgreen|violet|darkred|crimson|green|sandybrown|navy|magenta|darkslategray|steelblue|silver|darkgrey|mistyrose|gray|aliceblue|blueviolet|lightpink|saddlebrown|chocolate|limegreen|lightslategray|yellowgreen|pink|lightskyblue|indigo|lightblue|floralwhite|navajowhite|mediumvioletred|honeydew|aquamarine|blue|olivedrab|palegreen|slategray|lavenderblush|wheat|moccasin|mediumturquoise|mediumspringgreen|lightcoral|mintcream|tomato|lightgrey|black|darkmagenta|dimgray|darkturquoise|midnightblue|plum|indianred|coral|lightcyan|mediumslateblue|darkcyan|darkslateblue|darkkhaki|ivory|azure|khaki|powderblue|darkgoldenrod|orangered|burlywood|turquoise|royalblue|maroon|cornsilk|antiquewhite|yellow|teal|orange|grey|darkslategrey|slateblue|seashell|darkorchid|snow|lightslategrey|cyan|greenyellow|palevioletred|goldenrod|deepskyblue|lightyellow|lightseagreen|sienna|lemonchiffon|darkviolet|paleturquoise|slategrey|skyblue|purple|mediumpurple|cadetblue|fuchsia|chartreuse|darksalmon|lightgoldenrodyellow|white|springgreen|olive|forestgreen|peachpuff|peru|dimgrey|mediumseagreen|thistle|firebrick|darkgray|mediumaquamarine|darkolivegreen|mediumblue|palegoldenrod|blanchedalmond|ghostwhite|gold|gainsboro|darkseagreen|cornflowerblue|lime|lavender|beige|orchid|mediumorchid|whitesmoke|bisque|lightgray|tan|salmon|rosybrown|red|dodgerblue|brown|aqua|oldlace|deeppink|papayawhip|lightsalmon|lightsteelblue|darkorange|darkblue|linen|lightgreen)\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;invalid.deprecated.color.w3c-non-standard-color-name.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(-|\+)?\s*[0-9]+(\.[0-9]+)?&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;constant.numeric.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(?&amp;lt;=[\d])(px|pt|cm|mm|in|em|ex|pc)\b|%&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;keyword.other.unit.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;captures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.constant.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;constant.other.color.rgb-value.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;include&lt;/key&gt;
+					&lt;string&gt;#string-double&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;include&lt;/key&gt;
+					&lt;string&gt;#string-single&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?i)\b(rgba?)\s*(\()&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.constant.property-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.begin.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|(\))&lt;/string&gt;
+					&lt;key&gt;endCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.end.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;2&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;3&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)
+								          \b   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Red
+								   \s*(,)\s*   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Green
+								   \s*(,)\s*   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Blue
+								(?:\s*(,)\s*   (?:1(?:\.0+)?|0(?:\.[0-9]+)?) # Opacity
+								                |\b                 # Or just the end
+								)
+							&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;constant.other.color.rgb-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;2&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;3&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)\b
+								             (?:[0-9]{1,2}|100)\s*% # Red
+								   \s*(,)\s* (?:[0-9]{1,2}|100)\s*% # Green
+								   \s*(,)\s* (?:[0-9]{1,2}|100)\s*% # Blue
+								(?:\s*(,)\s* (?:1(?:\.0+)?|0(?:\.[0-9]+)?) # Opacity
+								)?
+							&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;constant.other.color.rgb-percentage.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;invalid.SOMETHING.value.range.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(.*?)(?=\s*\))&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?i)\b(url|attr|counter|counters)\s*(\()\s*&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.constant.property-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.begin.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|\s*(\))&lt;/string&gt;
+					&lt;key&gt;endCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.end.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#string-single&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#string-double&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;string.unquoted.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(.*?)(?=\s*\))&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;\!\s*important&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;keyword.other.important.css&lt;/string&gt;
+				&lt;/dict&gt;
+			&lt;/array&gt;
+		&lt;/dict&gt;
+		&lt;key&gt;source_css_rules-values-color&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;patterns&lt;/key&gt;
+			&lt;array&gt;
+				&lt;dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;http://www.w3schools.com/css/css_colors.asp&lt;/string&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow)\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;support.constant.color.w3c-standard-color-name.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;These colours are mostly recognised but will not validate. ref: http://www.w3schools.com/css/css_colornames.asp&lt;/string&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;\b(s(now|teelblue|i(enna|lver)|pringgreen|ea(shell|green)|kyblue|late(gr(ey|ay)|blue)|a(ndybrown|ddlebrown|lmon))|ho(neydew|tpink)|yellow(green)?|nav(y|ajowhite)|c(h(ocolate|artreuse)|yan|or(n(silk|flowerblue)|al)|adetblue|rimson)|t(histle|omato|urquoise|eal|an)|i(ndi(anred|go)|vory)|o(l(ive(drab)?|dlace)|r(chid|ange(red)?))|d(imgr(ey|ay)|odgerblue|eep(skyblue|pink)|ark(s(eagreen|late(gr(ey|ay)|blue)|almon)|cyan|turquoise|o(livegreen|r(chid|ange))|violet|khaki|red|g(oldenrod|r(e(y|en)|ay))|magenta|blue))|p(ink|owderblue|urple|e(achpuff|ru)|lum|a(payawhip|le(turquoise|violetred|g(oldenrod|reen))))|violet|khaki|f(irebrick|orestgreen|uchsia|loralwhite)|wh(ite(smoke)?|eat)|l(i(nen|ght(s(teelblue|eagreen|kyblue|lategr(ey|ay)|almon)|yellow|c(yan|oral)|pink|g(oldenrodyellow|r(e(y|en)|ay))|blue)|me(green)?)|emonchiffon|a(vender(blush)?|wngreen))|a(ntiquewhite|zure|qua(marine)?|liceblue)|r(o(sybrown|yalblue)|ed)|g(hostwhite|old(enrod)?|ainsboro|r(e(y|en(yellow)?)|ay))|m(i(styrose|ntcream|dnightblue)|occasin|edium(s(pringgreen|eagreen|lateblue)|turquoise|orchid|purple|violetred|aquamarine|blue)|a(roon|genta))|b(isque|urlywood|eige|l(ue(violet)?|a(nchedalmond|ck))|rown))\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;invalid.deprecated.color.w3c-non-standard-color-name.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;captures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.constant.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;constant.other.color.rgb-value.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?i)\b(rgba?)\s*(\()&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.constant.property-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.begin.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|(\))&lt;/string&gt;
+					&lt;key&gt;endCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.end.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;2&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;3&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)
+								          \b   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Red
+								   \s*(,)\s*   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Green
+								   \s*(,)\s*   0*(?:(?:1?[0-9]{1,2})|(?:2(?:[0-4][0-9]|5[0-5]))) # Blue
+								(?:\s*(,)\s*   (?:1(?:\.0+)?|0(?:\.[0-9]+)?) # Opacity
+								                |\b                 # Or just the end
+								)
+							&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;constant.other.color.rgb-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;2&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+								&lt;key&gt;3&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;punctuation.separator.arguments.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)\b
+								             (?:[0-9]{1,2}|100)\s*% # Red
+								   \s*(,)\s* (?:[0-9]{1,2}|100)\s*% # Green
+								   \s*(,)\s* (?:[0-9]{1,2}|100)\s*% # Blue
+								(?:\s*(,)\s* (?:1(?:\.0+)?|0(?:\.[0-9]+)?) # Opacity
+								)?
+							&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;constant.other.color.rgb-percentage.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;invalid.SOMETHING.value.range.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(.*?)(?=\s*\))&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+			&lt;/array&gt;
+		&lt;/dict&gt;
+		&lt;key&gt;source_css_rules-values-url&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;patterns&lt;/key&gt;
+			&lt;array&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?i)\b(url)\b\s*(\()\s*&lt;/string&gt;
+					&lt;key&gt;beginCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.constant.property-value.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;2&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.begin.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|\s*(\))&lt;/string&gt;
+					&lt;key&gt;endCaptures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.arguments.end.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#string-single&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#string-double&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;captures&lt;/key&gt;
+							&lt;dict&gt;
+								&lt;key&gt;1&lt;/key&gt;
+								&lt;dict&gt;
+									&lt;key&gt;name&lt;/key&gt;
+									&lt;string&gt;string.unquoted.css&lt;/string&gt;
+								&lt;/dict&gt;
+							&lt;/dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(.*?)(?=\s*\))&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+			&lt;/array&gt;
+		&lt;/dict&gt;
+		&lt;key&gt;source_css_rules-vendor_old&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;patterns&lt;/key&gt;
+			&lt;array&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;]) (?= _ [-\w])&lt;/string&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;I can't seem to find a way to make it start after a ; and then end
+							   after a ; withoug breaking the universe, therefore I made it so
+							   that you have to have a bit of space&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.microsoft.trident.4&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;]) (?= \* [-\w])&lt;/string&gt;
+					&lt;key&gt;comment&lt;/key&gt;
+					&lt;string&gt;I can't seem to find a way to make it start after a ; and then end
+							   after a ; withoug breaking the universe, therefore I made it so
+							   that you have to have a bit of space&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.microsoft.trident.5&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -atsc-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.atsc&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -ms-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.microsoft&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= mso-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.microsoft.office&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -moz-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.mozilla&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -o-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.opera&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -wap-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.wap&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
+					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -webkit-   [-\w])&lt;/string&gt;
+					&lt;key&gt;end&lt;/key&gt;
+					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;meta.property.vendor.webkit&lt;/string&gt;
+					&lt;key&gt;patterns&lt;/key&gt;
+					&lt;array&gt;
+						&lt;dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)-webkit-(?:
+								 transform-origin
+								|transform
+							)\b&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.effect.transform.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;match&lt;/key&gt;
+							&lt;string&gt;(?x)-webkit-(?:
+								 transition-timing-function
+								|transition-property
+								|transition-duration
+								|transition
+							)\b&lt;/string&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;support.type.property-name.effect.transition.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;dict&gt;
+							&lt;key&gt;include&lt;/key&gt;
+							&lt;string&gt;#source_css_rules&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/array&gt;
+				&lt;/dict&gt;
+			&lt;/array&gt;
+		&lt;/dict&gt;
+		&lt;key&gt;source_css_rules_old&lt;/key&gt;
+		&lt;dict&gt;
+			&lt;key&gt;patterns&lt;/key&gt;
+			&lt;array&gt;
+				&lt;dict&gt;
+					&lt;key&gt;begin&lt;/key&gt;
 					&lt;string&gt;(?&amp;lt;![-_*a-z:])(?=[-_*a-z])&lt;/string&gt;
 					&lt;key&gt;end&lt;/key&gt;
 					&lt;string&gt;(?i)\s*(?=&amp;lt;/style)|\s*(:)?(?![-_*a-z])&lt;/string&gt;
@@ -325,14 +1422,14 @@
 							&lt;/dict&gt;
 							&lt;key&gt;match&lt;/key&gt;
 							&lt;string&gt;(?x) (?&amp;lt;! [-a-z]) (?:
-								 ( -atsc   -[-\w]+)
-								|( -ms     -[-\w]+)
-								|( mso     -[-\w]+)
-								|( -moz    -[-\w]+)
-								|( -o      -[-\w]+)
-								|( -wap    -[-\w]+)
-								|( -webkit -[-\w]+)
-								|( -[-\w]+ -[-\w]+)
+								 ( -atsc   -[-a-z]+)
+								|( -ms     -[-a-z]+)
+								|( mso     -[-a-z]+)
+								|( -moz    -[-a-z]+)
+								|( -o      -[-a-z]+)
+								|( -wap    -[-a-z]+)
+								|( -webkit -[-a-z]+)
+								|( -[-\w]+ -[-a-z]+)
 							)\b&lt;/string&gt;
 							&lt;key&gt;name&lt;/key&gt;
 							&lt;string&gt;support.type.property-name.vendor.css&lt;/string&gt;
@@ -881,175 +1978,6 @@
 				&lt;/dict&gt;
 			&lt;/array&gt;
 		&lt;/dict&gt;
-		&lt;key&gt;source_css_rules-vendor&lt;/key&gt;
-		&lt;dict&gt;
-			&lt;key&gt;patterns&lt;/key&gt;
-			&lt;array&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;]) (?= _ [-\w])&lt;/string&gt;
-					&lt;key&gt;comment&lt;/key&gt;
-					&lt;string&gt;I can't seem to find a way to make it start after a ; and then end
-							   after a ; withoug breaking the universe, therefore I made it so
-							   that you have to have a bit of space&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.microsoft.trident.4&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;]) (?= \* [-\w])&lt;/string&gt;
-					&lt;key&gt;comment&lt;/key&gt;
-					&lt;string&gt;I can't seem to find a way to make it start after a ; and then end
-							   after a ; withoug breaking the universe, therefore I made it so
-							   that you have to have a bit of space&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.microsoft.trident.5&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -atsc-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.atsc&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -ms-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.microsoft&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= mso-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.microsoft.office&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -moz-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.mozilla&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -o-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.opera&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -wap-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.wap&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-				&lt;dict&gt;
-					&lt;key&gt;begin&lt;/key&gt;
-					&lt;string&gt;(?x) (?&amp;lt;! [-a-z;])(?= -webkit-   [-\w])&lt;/string&gt;
-					&lt;key&gt;end&lt;/key&gt;
-					&lt;string&gt;((?&amp;lt;=;)|(?=[\}]))&lt;/string&gt;
-					&lt;key&gt;name&lt;/key&gt;
-					&lt;string&gt;meta.property.vendor.webkit&lt;/string&gt;
-					&lt;key&gt;patterns&lt;/key&gt;
-					&lt;array&gt;
-						&lt;dict&gt;
-							&lt;key&gt;match&lt;/key&gt;
-							&lt;string&gt;(?x)-webkit-(?:
-								 transform-origin
-								|transform
-							)\b&lt;/string&gt;
-							&lt;key&gt;name&lt;/key&gt;
-							&lt;string&gt;support.type.property-name.effect.transform.css&lt;/string&gt;
-						&lt;/dict&gt;
-						&lt;dict&gt;
-							&lt;key&gt;match&lt;/key&gt;
-							&lt;string&gt;(?x)-webkit-(?:
-								 transition-timing-function
-								|transition-property
-								|transition-duration
-								|transition
-							)\b&lt;/string&gt;
-							&lt;key&gt;name&lt;/key&gt;
-							&lt;string&gt;support.type.property-name.effect.transition.css&lt;/string&gt;
-						&lt;/dict&gt;
-						&lt;dict&gt;
-							&lt;key&gt;include&lt;/key&gt;
-							&lt;string&gt;#source_css_rules&lt;/string&gt;
-						&lt;/dict&gt;
-					&lt;/array&gt;
-				&lt;/dict&gt;
-			&lt;/array&gt;
-		&lt;/dict&gt;
 		&lt;key&gt;source_css_selectors&lt;/key&gt;
 		&lt;dict&gt;
 			&lt;key&gt;patterns&lt;/key&gt;
@@ -1057,7 +1985,7 @@
 				&lt;dict&gt;
 					&lt;key&gt;match&lt;/key&gt;
 					&lt;string&gt;(?ix)
-						 \[\]
+						 \[\s*\]
 						|[\.#](?![a-z])
 					&lt;/string&gt;
 					&lt;key&gt;name&lt;/key&gt;
@@ -1324,6 +2252,39 @@
 					&lt;string&gt;entity.other.attribute-name.pseudo-class.css&lt;/string&gt;
 				&lt;/dict&gt;
 				&lt;dict&gt;
+					&lt;key&gt;captures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.entity.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(?i)(:)\b(([a-z][-a-z]*)?\s?)\b&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;entity.other.attribute-name.pseudo-class.unknown.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
+					&lt;key&gt;captures&lt;/key&gt;
+					&lt;dict&gt;
+						&lt;key&gt;0&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;invalid.illegal.pseudo-class.css&lt;/string&gt;
+						&lt;/dict&gt;
+						&lt;key&gt;1&lt;/key&gt;
+						&lt;dict&gt;
+							&lt;key&gt;name&lt;/key&gt;
+							&lt;string&gt;punctuation.definition.entity.css&lt;/string&gt;
+						&lt;/dict&gt;
+					&lt;/dict&gt;
+					&lt;key&gt;match&lt;/key&gt;
+					&lt;string&gt;(?i)(:)(\s?)&lt;/string&gt;
+					&lt;key&gt;name&lt;/key&gt;
+					&lt;string&gt;entity.other.attribute-name.pseudo-class.unknown.css&lt;/string&gt;
+				&lt;/dict&gt;
+				&lt;dict&gt;
 					&lt;key&gt;begin&lt;/key&gt;
 					&lt;string&gt;(\[)&lt;/string&gt;
 					&lt;key&gt;beginCaptures&lt;/key&gt;</diff>
      <filename>Syntaxes/CSS.plist</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ html img.foo
 	/*/meta.property-name.css*/
 	
 	/* meta.property-value.css*/
-	opacity; 
+	opacity;
 	/*/meta.property-value.css*/
 	
 	/*/meta.property.vendor.effect.webkit-transition-property.css*/
@@ -21,3 +21,145 @@ html img.foo
 /*/meta.scope.property-list.css*/
 
 /*/meta.scope.item.css*/
+
+
+/*Selectors*/
+/*source.css meta.selector*/
+
+/*tags*/
+
+div
+/*ids*/
+#
+#id
+/*classes*/
+.
+.class
+/*pseudo classes*/
+:
+:hove
+/*attributes*/
+[]
+[attribute='attribute value']
+/*attribute values*/
+[attribute=]
+[attribute='attribute value']
+{
+	/*Attributes*/
+	/*source.css meta.scope.property-list*/
+
+	/*source.css meta.scope.property-list meta.property-name*/
+	flarm: shmoo;
+
+	/*source.css meta.scope.property-list meta.property-name support.type.property-name*/
+	color: 
+
+	/*Attribute Values*/
+	/*source.css meta.property-value*/
+	blue
+	;
+
+}
+
+  .selector  {  property  :  value  ;  property  :  value  }  
+
+.selector
+{
+	property: value;
+	property: value;
+}
+.selector
+{
+	property: value;
+	property: value
+}
+.selector
+{
+	property: value;
+	property
+	:value
+}
+
+
+selector{}
+selector,selector{}
+{}selector{}
+/**/selector{}
+
+/*begin: (?&lt;= ^ | [\},] | \*\/) \s* */
+/*end:   (?= \s*{ | &lt;/styl ) */
+
+{property}
+{property:}
+{property:value}
+{property:value;property}
+{property:value;property:}
+{property:value;property:value}
+
+/*begin: [;{]*/
+/*end:   [:}]*/
+
+{-vendor-property}
+{-vendor-property:}
+{-vendor-property:value}
+{-vendor-property:value;-vendor-property}
+{-vendor-property:value;-vendor-property:}
+{-vendor-property:value;-vendor-property:value}
+
+/*begin: (?&lt;= [;{] ) ( \s* -)*/
+/*end:   [:}]*/
+
+{property}
+{property:}
+{property:value}
+{property:value;property}
+{property:value;property:}
+{property:value;property:value}
+
+/*begin: [:]*/
+/*end:   (?=[;}] | &lt;/styl) */
+
+
+.selector {
+	background: #DDD url() repeat/repeat-x/repeat-y/no-repeat scroll/fixed top left/top center/top right/center left/center center/center right/bottom left/bottom center/bottom right/x-% y-%/x-pos y-pos;
+}
+
+.selector{background-image: left;}
+.selector{background-image: none;}
+.selector{background-image: inherit;}
+.selector{background-image: url();}
+
+.selector{background-repeat: none;}
+.selector{background-repeat: repeat repeat-x repeat-y no-repeat;}
+.selector{background-repeat: inherit;}
+.selector{background-repeat: repeat;}
+.selector{background-repeat: repeat-x;}
+.selector{background-repeat: repeat-y;}
+.selector{background-repeat: no-repeat;}
+
+.selector{background-color: left;}
+.selector{background-color: inherit;}
+.selector{background-color: transparent;}
+.selector{background-color: blue;}
+.selector{background-color: red;}
+.selector{background-color: #33;}
+.selector{background-color: #333;}
+.selector{background-color: #3333;}
+.selector{background-color: #33333;}
+.selector{background-color: #333333;}
+.selector{background-color: rgb();}
+.selector{background-color: rgba();}
+
+.selector{color: left;}
+.selector{color: inherit;}
+.selector{color: transparent;}
+.selector{color: blue;}
+.selector{color: red;}
+.selector{color: #33;}
+.selector{color: #333;}
+.selector{color: #3333;}
+.selector{color: #33333;}
+.selector{color: #333333;}
+.selector{color: rgb();}
+.selector{color: rgba();}
+</diff>
      <filename>Test/css_scopes.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b49bb86ac6f3f238b40b2002e9d3c9f529ba1268</id>
    </parent>
  </parents>
  <author>
    <name>Thomas Aylott</name>
    <email>oblivious+git@subtlegradient.com</email>
  </author>
  <url>http://github.com/subtleGradient/css.tmbundle/commit/270d583a0404cf486baf4b06a82233b3f5e453af</url>
  <id>270d583a0404cf486baf4b06a82233b3f5e453af</id>
  <committed-date>2008-09-26T23:31:00-07:00</committed-date>
  <authored-date>2008-09-26T23:31:00-07:00</authored-date>
  <message>WIP Reworking Language</message>
  <tree>4fc6a36015d73730485389519d1978e0e34154b7</tree>
  <committer>
    <name>Thomas Aylott</name>
    <email>oblivious+git@subtlegradient.com</email>
  </committer>
</commit>
