<?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="2" 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="dsBuiltIn" italic="1" spellChecking="false"/>
		<itemData name="Media"  defStyleNum="dsDecVal" bold="1" spellChecking="false"/>
		<itemData name="At Rule"  defStyleNum="dsDecVal" 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="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
		<itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
		<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>
