<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
  <!-- http://www.w3.org/TR/CSS21/syndata.html#tokenization -->
  <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
  <!ENTITY nmchar  "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
]>

<language name="CleanCSS" version="3" kateversion="3.4" section="Markup" extensions="*.ccss" author="Massimiliano Torromeo" license="BSD">

<highlighting>
	<list name="properties">
		<!-- CSS2 -->
		<item>azimuth</item>
		<item>background</item>
		<item>background-attachment</item>
		<item>background-color</item>
		<item>background-image</item>
		<item>background-position</item>
		<item>background-repeat</item>
		<item>border</item>
		<item>border-bottom</item>
		<item>border-bottom-color</item>
		<item>border-bottom-style</item>
		<item>border-bottom-width</item>
		<item>border-collapse</item>
		<item>border-color</item>
		<item>border-left</item>
		<item>border-left-color</item>
		<item>border-left-style</item>
		<item>border-left-width</item>
		<item>border-right</item>
		<item>border-right-color</item>
		<item>border-right-style</item>
		<item>border-right-width</item>
		<item>border-spacing</item>
		<item>border-style</item>
		<item>border-top</item>
		<item>border-top-color</item>
		<item>border-top-style</item>
		<item>border-top-width</item>
		<item>border-width</item>
		<item>bottom</item>
		<item>caption-side</item>
		<item>clear</item>
		<item>clip</item>
		<item>color</item>
		<item>content</item>
		<item>counter-increment</item>
		<item>counter-reset</item>
		<item>cue</item>
		<item>cue-after</item>
		<item>cue-before</item>
		<item>cursor</item>
		<item>direction</item>
		<item>display</item>
		<item>elevation</item>
		<item>empty-cells</item>
		<item>float</item>
		<item>font</item>
		<item>font-family</item>
		<item>font-size</item>
		<item>font-size-adjust</item>
		<item>font-stretch</item>
		<item>font-style</item>
		<item>font-variant</item>
		<item>font-weight</item>
		<item>height</item>
		<item>left</item>
		<item>letter-spacing</item>
		<item>line-height</item>
		<item>list-style</item>
		<item>list-style-image</item>
		<item>list-style-keyword</item>
		<item>list-style-position</item>
		<item>list-style-type</item>
		<item>margin</item>
		<item>margin-bottom</item>
		<item>margin-left</item>
		<item>margin-right</item>
		<item>margin-top</item>
		<item>marker-offset</item>
		<item>max-height</item>
		<item>max-width</item>
		<item>min-height</item>
		<item>min-width</item>
		<item>orphans</item>
		<item>outline</item>
		<item>outline-color</item>
		<item>outline-style</item>
		<item>outline-width</item>
		<item>overflow</item>
		<item>padding</item>
		<item>padding-bottom</item>
		<item>padding-left</item>
		<item>padding-right</item>
		<item>padding-top</item>
		<item>page</item>
		<item>page-break-after</item>
		<item>page-break-before</item>
		<item>page-break-inside</item>
		<item>pause</item>
		<item>pause-after</item>
		<item>pause-before</item>
		<item>pitch</item>
		<item>pitch-range</item>
		<item>play-during</item>
		<item>position</item>
		<item>quotes</item>
		<item>richness</item>
		<item>right</item>
		<item>size</item>
		<item>speak</item>
		<item>speak-header</item>
		<item>speak-numeral</item>
		<item>speak-punctuation</item>
		<item>speech-rate</item>
		<item>stress</item>
		<item>table-layout</item>
		<item>text-align</item>
		<item>text-decoration</item>
		<item>text-decoration-color</item>
		<item>text-indent</item>
		<item>text-shadow</item>
		<item>text-transform</item>
		<item>top</item>
		<item>unicode-bidi</item>
		<item>vertical-align</item>
		<item>visibility</item>
		<item>voice-family</item>
		<item>volume</item>
		<item>white-space</item>
		<item>widows</item>
		<item>width</item>
		<item>word-spacing</item>
		<item>z-index</item>

		<!-- CSS3 -->
		<item>border-bottom-image</item>
		<item>border-bottom-left-image</item>
		<item>border-bottom-left-radius</item>
		<item>border-bottom-right-image</item>
		<item>border-bottom-right-radius</item>
		<item>border-corner-image</item>
		<item>border-image</item>
		<item>border-left-image</item>
		<item>border-radius</item>
		<item>border-right-image</item>
		<item>border-top-image</item>
		<item>border-top-left-image</item>
		<item>border-top-left-radius</item>
		<item>border-top-right-image</item>
		<item>border-top-right-radius</item>
		<item>box-align</item>
		<item>box-shadow</item>
		<item>box-sizing</item>
		<item>box-orient</item>
		<item>box-pack</item>
		<item>opacity</item>
		<item>outline-offset</item>
		<item>overflow-x</item>
		<item>overflow-y</item>
		<item>text-overflow</item>
		<item>text-shadow</item>

		<!-- Gecko rendering engine CSS property extensions -->
		<item>-moz-border-bottom-colors</item>
		<item>-moz-border-left-colors</item>
		<item>-moz-border-radius</item>
		<item>-moz-border-right-colors</item>
		<item>-moz-border-top-colors</item>
		<item>-moz-box-flex</item>

		<!-- Opera rendering engine CSS property extensions -->
		<item>-o-background-size</item>
		<item>-o-text-overflow</item>

		<!-- konq specific -->
		<item>-khtml-background-size</item>
		<item>konq_bgpos_x</item>
		<item>konq_bgpos_y</item>

		<!-- Webkit rendering engine CSS property extensions -->
		<item>-webkit-background-size</item>
		<item>-webkit-border-radius</item>

		<!-- MS rendering engine CSS properties -->
		<item>filter</item>
		<item>-ms-filter</item>

		<!-- font properties in @font-face -->
		<item>font-family</item>
		<item>font-size</item>
		<item>font-stretch</item>
		<item>font-style</item>
		<item>font-variant</item>
		<item>font-weight</item>
		<item>unicode-range</item>
		<item>units-per-em</item>
		<item>src</item>
		<item>panose-1</item>
		<item>stemv</item>
		<item>stemh</item>
		<item>slope</item>
		<item>cap-height</item>
		<item>x-height</item>
		<item>ascent</item>
		<item>descent</item>
		<item>widths</item>
		<item>bbox</item>
		<item>definition-src</item>
		<item>baseline</item>
		<item>centerline</item>
		<item>mathline</item>
		<item>topline</item>
	</list>

	<list name="types">
		<item>inherit</item>
		<item>none</item>
		<item>hidden</item>
		<item>dotted</item>
		<item>dashed</item>
		<item>solid</item>
		<item>double</item>
		<item>groove</item>
		<item>ridge</item>
		<item>inset</item>
		<item>outset</item>
		<item>xx-small</item>
		<item>x-small</item>
		<item>small</item>
		<item>medium</item>
		<item>large</item>
		<item>x-large</item>
		<item>xx-large</item>
		<item>smaller</item>
		<item>larger</item>
		<item>italic</item>
		<item>oblique</item>
		<item>small-caps</item>
		<item>normal</item>
		<item>bold</item>
		<item>bolder</item>
		<item>lighter</item>
		<item>light</item>
		<item>100</item>
		<item>200</item>
		<item>300</item>
		<item>400</item>
		<item>500</item>
		<item>600</item>
		<item>700</item>
		<item>800</item>
		<item>900</item>
		<item>transparent</item>
		<item>repeat</item>
		<item>repeat-x</item>
		<item>repeat-y</item>
		<item>no-repeat</item>
		<item>baseline</item>
		<item>sub</item>
		<item>super</item>
		<item>top</item>
		<item>text-top</item>
		<item>middle</item>
		<item>bottom</item>
		<item>text-bottom</item>
		<item>left</item>
		<item>right</item>
		<item>center</item>
		<item>justify</item>
		<item>konq-center</item>
		<item>disc</item>
		<item>circle</item>
		<item>square</item>
		<item>box</item>
		<item>decimal</item>
		<item>decimal-leading-zero</item>
		<item>lower-roman</item>
		<item>upper-roman</item>
		<item>lower-greek</item>
		<item>lower-alpha</item>
		<item>lower-latin</item>
		<item>upper-alpha</item>
		<item>upper-latin</item>
		<item>hebrew</item>
		<item>armenian</item>
		<item>georgian</item>
		<item>cjk-ideographic</item>
		<item>hiragana</item>
		<item>katakana</item>
		<item>hiragana-iroha</item>
		<item>katakana-iroha</item>
		<item>inline</item>
		<item>inline-block</item>
		<item>block</item>
		<item>list-item</item>
		<item>run-in</item>
		<item>compact</item>
		<item>marker</item>
		<item>table</item>
		<item>inline-table</item>
		<item>table-row-group</item>
		<item>table-header-group</item>
		<item>table-footer-group</item>
		<item>table-row</item>
		<item>table-column-group</item>
		<item>table-column</item>
		<item>table-cell</item>
		<item>table-caption</item>
		<item>auto</item>
		<item>crosshair</item>
		<item>default</item>
		<item>pointer</item>
		<item>move</item>
		<item>e-resize</item>
		<item>ne-resize</item>
		<item>nw-resize</item>
		<item>n-resize</item>
		<item>se-resize</item>
		<item>sw-resize</item>
		<item>s-resize</item>
		<item>w-resize</item>
		<item>text</item>
		<item>wait</item>
		<item>help</item>
		<item>above</item>
		<item>absolute</item>
		<item>always</item>
		<item>avoid</item>
		<item>below</item>
		<item>bidi-override</item>
		<item>blink</item>
		<item>both</item>
		<item>capitalize</item>
		<item>caption</item>
		<item>clip</item>
		<item>close-quote</item>
		<item>collapse</item>
		<item>condensed</item>
		<item>crop</item>
		<item>cross</item>
		<item>ellipsis</item>
		<item>ellipsis-word</item>
		<item>embed</item>
		<item>expanded</item>
		<item>extra-condensed</item>
		<item>extra-expanded</item>
		<item>fixed</item>
		<item>hand</item>
		<item>hide</item>
		<item>higher</item>
		<item>icon</item>
		<item>inside</item>
		<item>invert</item>
		<item>landscape</item>
		<item>level</item>
		<item>line-through</item>
		<item>loud</item>
		<item>lower</item>
		<item>lowercase</item>
		<item>ltr</item>
		<item>menu</item>
		<item>message-box</item>
		<item>mix</item>
		<item>narrower</item>
		<item>no-close-quote</item>
		<item>no-open-quote</item>
		<item>nowrap</item>
		<item>open-quote</item>
		<item>outside</item>
		<item>overline</item>
		<item>portrait</item>
		<item>pre</item>
		<item>pre-line</item>
		<item>pre-wrap</item>
		<item>relative</item>
		<item>rtl</item>
		<item>scroll</item>
		<item>semi-condensed</item>
		<item>semi-expanded</item>
		<item>separate</item>
		<item>show</item>
		<item>small-caption</item>
		<item>static</item>
		<item>static-position</item>
		<item>status-bar</item>
		<item>thick</item>
		<item>thin</item>
		<item>ultra-condensed</item>
		<item>ultra-expanded</item>
		<item>underline</item>
		<item>uppercase</item>
		<item>visible</item>
		<item>wider</item>
		<item>break</item>
		<item>serif</item>
		<item>sans-serif</item>
		<item>cursive</item>
		<item>fantasy</item>
		<item>monospace</item>
		<item>border-box</item>
		<item>content-box</item>
		<item>horizontal</item>

		<!-- Gecko rendering engine CSS value extensions -->
		<item>-moz-box</item>

		<!-- Webkit rendering engine CSS value extensions -->
		<item>linear</item>
		<item>radial</item>

	</list>


	<list name="colors">
		<item>aqua</item>
		<item>black</item>
		<item>blue</item>
		<item>fuchsia</item>
		<item>gray</item>
		<item>green</item>
		<item>lime</item>
		<item>maroon</item>
		<item>navy</item>
		<item>olive</item>
		<item>purple</item>
		<item>red</item>
		<item>silver</item>
		<item>teal</item>
		<item>white</item>
		<item>yellow</item>
		<item>ActiveBorder</item>
		<item>ActiveCaption</item>
		<item>AppWorkspace</item>
		<item>Background</item>
		<item>ButtonFace</item>
		<item>ButtonHighlight</item>
		<item>ButtonShadow</item>
		<item>ButtonText</item>
		<item>CaptionText</item>
		<item>GrayText</item>
		<item>Highlight</item>
		<item>HighlightText</item>
		<item>InactiveBorder</item>
		<item>InactiveCaption</item>
		<item>InactiveCaptionText</item>
		<item>InfoBackground</item>
		<item>InfoText</item>
		<item>Menu</item>
		<item>MenuText</item>
		<item>Scrollbar</item>
		<item>ThreeDDarkShadow</item>
		<item>ThreeDFace</item>
		<item>ThreeDHighlight</item>
		<item>ThreeDLightShadow</item>
		<item>ThreeDShadow</item>
		<item>Window</item>
		<item>WindowFrame</item>
		<item>WindowText</item>
	</list>

	<list name="paren">
		<item>url</item>
		<item>attr</item>
		<item>rect</item>
		<item>rgb</item>
		<item>rgba</item>
		<item>hsl</item>
		<item>hsla</item>
		<item>counter</item>
		<item>counters</item>

		<!-- in @font-face -->
		<item>local</item>
		<item>format</item>

		<!-- Webkit rendering engine CSS value extensions -->
		<item>-webkit-gradient</item>
		<item>color-stop</item>

		<!-- Gecko rendering engine CSS value extensions -->
		<item>-moz-linear-gradient</item>
		<item>-moz-radial-gradient</item>

		<!-- Trident (a.k.a., MSHTML) rendering engine functional notation extensions -->
		<item>expression</item>
		<item>progid:DXImageTransform.Microsoft.gradient</item>

	</list>

	<list name="mediatypes">
		<item>all</item>
		<item>aural</item>
		<item>braille</item>
		<item>embossed</item>
		<item>handheld</item>
		<item>print</item>
		<item>projection</item>
		<item>screen</item>
		<item>tty</item>
		<item>tv</item>
	</list>

	<list name="pseudoclasses">
		<item>hover</item>
		<item>link</item>
		<item>visited</item>
		<item>active</item>
		<item>focus</item>
		<item>first-child</item>
		<item>last-child</item>
		<item>only-child</item>
		<item>first-of-type</item>
		<item>last-of-type</item>
		<item>only-of-type</item>
		<item>first-letter</item>
		<item>first-line</item>
		<item>before</item>
		<item>after</item>
		<item>selection</item>
		<item>root</item>
		<item>empty</item>
		<item>target</item>
		<item>enabled</item>
		<item>disabled</item>
		<item>checked</item>
		<item>indeterminate</item>
		<item>nth-child</item>
		<item>nth-last-child</item>
		<item>nth-of-type</item>
		<item>nth-last-of-type</item>
		<item>not</item>
	</list>

	<contexts>
		<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
			<Detect2Chars attribute="Comment" char="/" char1="/" context="Comment" />
			<RegExpr attribute="Normal Text" String=".*\S.*:\s*$" context="Selector" lookAhead="true" />
			<RegExpr attribute="Normal Text" String=".*\S.*:.*\S.*$" context="RuleSet" lookAhead="true" />
			<RegExpr attribute="Property" String="[a-z\-]+-&gt;\s*$" context="#stay" />
			<RegExpr attribute="Error" context="#stay" String="\S" />
			<!--<keyword attribute="Property" context="Rule" String="properties" />
			<keyword attribute="Property" context="Rule" String="properties" />-->
			<!--<keyword attribute="Value" context="#stay" String="types" />
			<keyword attribute="Value" context="#stay" String="colors" />-->
			<!--<keyword attribute="Value" context="PropParen" String="paren" />-->
		</context>

		<context name="Comment" attribute="Comment" lineEndContext="#pop" />

		<context name="Selector" attribute="Normal Text" lineEndContext="#pop">
			<DetectChar attribute="Selector Attr" context="SelAttr" char="[" />
			<RegExpr attribute="Selector Id" context="#stay" String="#(-)?(&nmstart;)(&nmchar;)*" />
			<RegExpr attribute="Selector Class" context="#stay" String="\.([a-zA-Z0-9\-_]|[\x80-\xFF]|\\[0-9A-Fa-f]{1,6})*" />
			<DetectChar attribute="Selector Pseudo" context="SelPseudo" char=":" />
			<keyword attribute="Media" context="#stay" String="mediatypes" />
		</context>

		<context name="SelAttr" attribute="Selector Attr" lineEndContext="#pop">
			<DetectChar attribute="Selector Attr" context="#pop" char="]" />
			<IncludeRules context="FindStrings" />
		</context>

		<context name="SelPseudo" attribute="Selector Pseudo" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
			<keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" />
		</context>

		<context name="RuleSet" attribute="Normal Text" lineEndContext="#pop">
			<keyword attribute="Property" context="Rule" String="properties" />
			<RegExpr attribute="Unknown Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" />
			<RegExpr attribute="Error" context="#stay" String="\S" />
		</context>

		<context name="Rule" attribute="Normal Text" lineEndContext="#pop">
			<DetectChar attribute="Property" context="Rule2" char=":" />
			<RegExpr attribute="Error" context="#stay" String="\S" />
		</context>

		<context name="Rule2" attribute="Normal Text" lineEndContext="#pop">
			<keyword attribute="Value" context="#stay" String="types" />
			<keyword attribute="Value" context="#stay" String="colors" />
			<RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" />
			<keyword attribute="Value" context="PropParen" String="paren" />
			<RegExpr attribute="Important" context="#stay" String="!important\b" />
			<IncludeRules context="FindValues" />
			<IncludeRules context="FindStrings" />
		</context>

		<context name="PropParen" attribute="Normal Text" lineEndContext="#pop">
			<DetectChar attribute="Value" context="PropParen2" char="(" />
			<RegExpr attribute="Error" context="#stay" String="\S" />
		</context>

		<context name="PropParen2" attribute="Normal Text" lineEndContext="#pop">
			<IncludeRules context="Rule2" />
			<DetectChar attribute="Value" context="#pop#pop" char=")" />
			<IncludeRules context="FindValues" />
			<IncludeRules context="FindStrings" />
		</context>

	<context attribute="Normal Text" lineEndContext="#stay" name="FindValues">
		<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|px|in|cm|mm|pt|pc|deg|rad|grad|ms|s|Hz|kHz)\b" />
		<RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />
		<RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />
	</context>

		<context name="FindStrings" attribute="Normal Text" lineEndContext="#pop">
			<DetectChar attribute="String" context="StringDQ" char="&quot;" />
			<DetectChar attribute="String" context="StringSQ" char="'" />
		</context>

      <!-- string contexts -->
		<context name="StringDQ" attribute="String" lineEndContext="#pop">
			<DetectChar attribute="String" context="#pop" char="&quot;" />
			<IncludeRules context="InsideString" />
		</context>

		<context name="StringSQ" attribute="String" lineEndContext="#pop">
			<DetectChar attribute="String" context="#pop" char="'" />
			<IncludeRules context="InsideString" />
		</context>

		<context name="InsideString" attribute="String" lineEndContext="#pop">
			<RegExpr attribute="String" context="#stay" String="\\[&quot;']" />
			<DetectIdentifier/>
		</context>
	</contexts>

	<itemDatas>
		<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
		<itemData name="Property"  defStyleNum="dsKeyword" spellChecking="false"/>
		<itemData name="Unknown Property"  defStyleNum="dsKeyword" italic="1" spellChecking="false"/>
		<itemData name="Media"  defStyleNum="dsDecVal" bold="1" spellChecking="false"/>
		<itemData name="String"  defStyleNum="dsString"/>
		<itemData name="Value"  defStyleNum="dsDataType" spellChecking="false"/>
		<itemData name="Important" defStyleNum="dsKeyword" spellChecking="false"/>
		<itemData name="Selector Attr" defStyleNum="dsChar" spellChecking="false"/>
		<itemData name="Selector Id"  defStyleNum="dsFloat" bold="1" spellChecking="false"/>
		<itemData name="Selector Class"  defStyleNum="dsFloat" spellChecking="false"/>
		<itemData name="Selector Pseudo"  defStyleNum="dsDecVal" spellChecking="false"/>
		<itemData name="Comment" defStyleNum="dsComment" />
		<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
	</itemDatas>
</highlighting>
<general>
	<folding indentationsensitive="1" />
	<keywords casesensitive="0" weakDeliminator="-%"/>
	<comments>
		<comment name="singleLine" start="#" position="afterwhitespace"/>
		<comment name="singleLine" start="//" position="afterwhitespace"/>
	</comments>
</general>
</language>
