You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ma...@apache.org on 2019/03/29 17:50:32 UTC

[incubator-netbeans] branch master updated: [NETBEANS-747] Implement basic support for variable syntax in CSS grammar

This is an automated email from the ASF dual-hosted git repository.

matthiasblaesing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new d0bf001  [NETBEANS-747] Implement basic support for variable syntax in CSS grammar
     new 5b7a0c6  Merge pull request #1172 from matthiasblaesing/css-variables
d0bf001 is described below

commit d0bf001ae40041677b65b939a109eb11c3c52fab
Author: Matthias Bläsing <mb...@doppel-helix.eu>
AuthorDate: Sat Mar 16 09:17:21 2019 +0100

    [NETBEANS-747] Implement basic support for variable syntax in CSS grammar
    
    Apart from the syntax, mark occurences, instant rename and code
    completion are supported.
---
 ide/css.editor/nbproject/project.properties        |    2 +-
 .../editor/module/main/DefaultCssEditorModule.java |  245 +-
 .../module/main/properties/animations.properties   |   17 +-
 .../properties/backgrounds_and_borders.properties  |    4 +-
 .../main/properties/basic_box_model.properties     |   24 +-
 .../properties/basic_user_interface.properties     |   18 +-
 .../module/main/properties/colors.properties       |   12 +-
 .../main/properties/default_module.properties      |   58 +-
 .../main/properties/flexible_box_layout.properties |   14 +-
 .../editor/module/main/properties/fonts.properties |   60 +-
 .../generated_and_replaced_content.properties      |   26 +-
 .../generated_content_for_paged_media.properties   |   10 +-
 .../main/properties/grid_positioning.properties    |    4 +-
 .../module/main/properties/hyperlinks.properties   |    6 +-
 .../module/main/properties/image_values.properties |   24 +-
 .../editor/module/main/properties/line.properties  |   20 +-
 .../main/properties/lists_and_counters.properties  |   12 +-
 .../module/main/properties/marquee.properties      |   10 +-
 .../main/properties/multi-column_layout.properties |   18 +-
 .../module/main/properties/paged_media.properties  |    8 +-
 .../editor/module/main/properties/ruby.properties  |    8 +-
 .../module/main/properties/speech.properties       |   28 +-
 .../editor/module/main/properties/text.properties  |   59 +-
 .../main/properties/transforms_2d.properties       |   16 +-
 .../main/properties/transforms_3d.properties       |   22 +-
 .../module/main/properties/transitions.properties  |   12 +-
 .../main/properties/writing_modes.properties       |   14 +-
 .../main/BackgroundsAndBordersModuleTest.java      |    2 +-
 .../editor/module/main/DefaultCssModuleTest.java   |   48 +-
 .../module/main/ListsAndCountersModuleTest.java    |   19 +-
 .../src/org/netbeans/modules/css/lib/Css3.g        |    6 +
 .../org/netbeans/modules/css/lib/Css3Lexer.java    | 8231 ++++++++---------
 .../org/netbeans/modules/css/lib/Css3Parser.java   | 9640 ++++++++++----------
 .../netbeans/modules/css/lib/api/CssTokenId.java   |    1 +
 .../css/lib/api/properties/TokenAcceptor.java      |   14 +
 .../netbeans/modules/css/lib/Css3LexerTest.java    |   22 +
 .../netbeans/modules/css/lib/Css3ParserTest.java   |    7 +
 37 files changed, 9643 insertions(+), 9098 deletions(-)

diff --git a/ide/css.editor/nbproject/project.properties b/ide/css.editor/nbproject/project.properties
index a36de62..07fde12 100644
--- a/ide/css.editor/nbproject/project.properties
+++ b/ide/css.editor/nbproject/project.properties
@@ -23,7 +23,7 @@ jnlp.indirect.files=\
     docs/css3-spec.zip
 
 javac.compilerargs=-Xlint -Xlint:-serial
-javac.source=1.7
+javac.source=1.8
 
 test.config.stableBTD.includes=**/*Test.class
 test.config.stableBTD.excludes=\
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/DefaultCssEditorModule.java b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/DefaultCssEditorModule.java
index 30261fd..d3427dd 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/DefaultCssEditorModule.java
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/DefaultCssEditorModule.java
@@ -22,26 +22,32 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 import javax.swing.text.BadLocationException;
 import javax.swing.text.Document;
 import org.netbeans.api.lexer.Token;
 import org.netbeans.api.lexer.TokenSequence;
+import org.netbeans.api.lexer.TokenUtilities;
 import org.netbeans.lib.editor.util.CharSequenceUtilities;
 import org.netbeans.modules.csl.api.ColoringAttributes;
+import org.netbeans.modules.csl.api.CompletionProposal;
 import org.netbeans.modules.csl.api.DeclarationFinder.DeclarationLocation;
+import org.netbeans.modules.csl.api.ElementKind;
 import org.netbeans.modules.csl.api.OffsetRange;
 import org.netbeans.modules.csl.api.StructureItem;
 import org.netbeans.modules.css.editor.Css3Utils;
 import org.netbeans.modules.css.editor.CssHelpResolver;
 import org.netbeans.modules.css.editor.csl.CssNodeElement;
+import org.netbeans.modules.css.editor.module.spi.CompletionContext;
 import org.netbeans.modules.css.editor.module.spi.CssEditorModule;
 import org.netbeans.modules.css.editor.module.spi.EditorFeatureContext;
 import org.netbeans.modules.css.editor.module.spi.FeatureContext;
@@ -49,6 +55,7 @@ import org.netbeans.modules.css.editor.module.spi.FutureParamTask;
 import org.netbeans.modules.css.editor.module.spi.HelpResolver;
 import org.netbeans.modules.css.editor.module.spi.Utilities;
 import org.netbeans.modules.css.lib.api.CssModule;
+import org.netbeans.modules.css.lib.api.CssParserResult;
 import org.netbeans.modules.css.lib.api.CssTokenId;
 import org.netbeans.modules.css.lib.api.Node;
 import org.netbeans.modules.css.lib.api.NodeType;
@@ -282,55 +289,78 @@ public class DefaultCssEditorModule extends CssEditorModule {
             return null;
         }
 
+        Node realCurrent = NodeUtil.findNodeAtOffset(context.getParseTreeRoot(), astCaretOffset);
+
         Node current = NodeUtil.findNonTokenNodeAtOffset(context.getParseTreeRoot(), astCaretOffset);
-        if (current == null) {
-            //this may happen if the offset falls to the area outside the selectors rule node.
-            //(for example when the stylesheet starts or ends with whitespaces or comment and
-            //and the offset falls there).
-            //In such case root node (with null parent) is returned from NodeUtil.findNodeAtOffset() 
-            return null;
-        }
+//        if (current == null) {
+//            //this may happen if the offset falls to the area outside the selectors rule node.
+//            //(for example when the stylesheet starts or ends with whitespaces or comment and
+//            //and the offset falls there).
+//            //In such case root node (with null parent) is returned from NodeUtil.findNodeAtOffset()
+//            return null;
+//        }
 
         //process only some interesting nodes
-        if (!NodeUtil.isSelectorNode(current)) {
-            return null;
-        }
+        final NodeType currentNodeType = current != null ? current.type() : null;
+        final CharSequence currentNodeImage = current != null ? current.image() : null;
+        final NodeType realCurrentNodeType = realCurrent.type();
+        final CharSequence realCurrentNodeImage = realCurrent.image();
+
+        if (current != null && NodeUtil.isSelectorNode(current)) {
+            return new NodeVisitor<T>(result) {
+                @Override
+                public boolean visit(Node node) {
+                    if (currentNodeType == node.type()) {
+                        boolean ignoreCase = currentNodeType == NodeType.hexColor;
+                        if (LexerUtils.equals(currentNodeImage, node.image(), ignoreCase, false)) {
+
+                            int[] trimmedNodeRange = NodeUtil.getTrimmedNodeRange(node);
+                            int docFrom = snapshot.getOriginalOffset(trimmedNodeRange[0]);
+
+                            //virtual class or id handling - the class and id elements inside
+                            //html tag's CLASS or ID attribute has the dot or hash prefix just virtual
+                            //so if we want to highlight such occurances we need to increment the
+                            //start offset by one
+                            if (docFrom == -1 && (node.type() == NodeType.cssClass || node.type() == NodeType.cssId)) {
+                                docFrom = snapshot.getOriginalOffset(trimmedNodeRange[0] + 1); //lets try +1 offset
+                            }
 
-        final NodeType nodeType = current.type();
-        final CharSequence currentNodeImage = current.image();
+                            int docTo = snapshot.getOriginalOffset(trimmedNodeRange[1]);
 
-        return new NodeVisitor<T>(result) {
+                            if (docFrom != -1 && docTo != -1) {
+                                getResult().add(new OffsetRange(docFrom, docTo));
+                            }
+                        }
+                    }
 
-            @Override
-            public boolean visit(Node node) {
-                if (nodeType == node.type()) {
-                    boolean ignoreCase = nodeType == NodeType.hexColor;
-                    if (LexerUtils.equals(currentNodeImage, node.image(), ignoreCase, false)) {
+                    return false;
 
+                }
+            };
+        } else if (realCurrent.type() == NodeType.token
+            && NodeUtil.getTokenNodeTokenId(realCurrent) == CssTokenId.VARIABLE) {
+            return new NodeVisitor<T>(result) {
+                @Override
+                public boolean visit(Node node) {
+                    if (realCurrentNodeType == node.type()
+                        && NodeUtil.getTokenNodeTokenId(node) == CssTokenId.VARIABLE
+                        && realCurrentNodeImage.equals(node.image())) {
                         int[] trimmedNodeRange = NodeUtil.getTrimmedNodeRange(node);
                         int docFrom = snapshot.getOriginalOffset(trimmedNodeRange[0]);
-
-                        //virtual class or id handling - the class and id elements inside
-                        //html tag's CLASS or ID attribute has the dot or hash prefix just virtual
-                        //so if we want to highlight such occurances we need to increment the
-                        //start offset by one
-                        if (docFrom == -1 && (node.type() == NodeType.cssClass || node.type() == NodeType.cssId)) {
-                            docFrom = snapshot.getOriginalOffset(trimmedNodeRange[0] + 1); //lets try +1 offset
-                        }
-
                         int docTo = snapshot.getOriginalOffset(trimmedNodeRange[1]);
 
                         if (docFrom != -1 && docTo != -1) {
                             getResult().add(new OffsetRange(docFrom, docTo));
                         }
                     }
-                }
 
-                return false;
+                    return false;
 
-            }
-        };
+                }
+            };
+        }
 
+        return null;
     }
 
     @Override
@@ -610,6 +640,157 @@ public class DefaultCssEditorModule extends CssEditorModule {
 
     }
 
+    @Override
+    public boolean isInstantRenameAllowed(EditorFeatureContext context) {
+        CssParserResult result = context.getParserResult();
+        Snapshot snapshot = result.getSnapshot();
+        Node node = NodeUtil.findNodeAtOffset(result.getParseTree(), snapshot.getEmbeddedOffset(context.getCaretOffset()));
+        return node.type() == NodeType.token && NodeUtil.getTokenNodeTokenId(node) == CssTokenId.VARIABLE;
+    }
+
+    @Override
+    public <T extends Set<OffsetRange>> NodeVisitor<T> getInstantRenamerVisitor(final EditorFeatureContext context, final T result) {
+        CssParserResult parserResult = context.getParserResult();
+        final Snapshot snapshot = parserResult.getSnapshot();
+        Node node = NodeUtil.findNodeAtOffset(parserResult.getParseTree(), snapshot.getEmbeddedOffset(context.getCaretOffset()));
+
+        final NodeType targetNodeType;
+        final CharSequence targetImage;
+
+        if(node.type() == NodeType.token && NodeUtil.getTokenNodeTokenId(node) == CssTokenId.VARIABLE) {
+            targetNodeType = node.type();
+            targetImage = node.image();
+        } else {
+            targetNodeType = null;
+            targetImage = null;
+        }
+
+        return new NodeVisitor<T>(result) {
+            @Override
+            public boolean visit(Node node) {
+                if(targetNodeType == null || targetImage == null) {
+                    return true;
+                }
+
+                if (node.type() == targetNodeType && targetImage.equals(node.image())) {
+                    int[] trimmedNodeRange = NodeUtil.getTrimmedNodeRange(node);
+                    int docFrom = snapshot.getOriginalOffset(trimmedNodeRange[0]);
+                    int docTo = snapshot.getOriginalOffset(trimmedNodeRange[1]);
+
+                    if (docFrom != -1 && docTo != -1) {
+                        getResult().add(new OffsetRange(docFrom, docTo));
+                    }
+                }
+
+                return false;
+            }
+        };
+    }
+
+    @Override
+    public List<CompletionProposal> getCompletionProposals(CompletionContext context) {
+        if(context.getActiveTokenId() == null) {
+            return Collections.emptyList();
+        }
+
+        // This sequence implements variable completion proposals. That is
+        // the completion items consist of the variables declared in the file.
+        TokenSequence ts = context.getTokenSequence();
+
+        // Build prefix from the context
+        boolean prefixRead = false;
+        StringBuilder prefixBuilder = new StringBuilder();
+
+        // If the current token is already recoginized as a VARIABLE, the context
+        // contains the slice of the variable from the start to the position of
+        // the caret.
+        if(ts.token().id() == CssTokenId.VARIABLE) {
+            prefixBuilder.append(context.getPrefix());
+            prefixRead = true;
+            ts.movePrevious();
+        }
+
+        // We scan backwards in the token stream till we reach a (, which
+        // is a potential function start. While scanning backwards, we skip
+        // three elements:
+        // - whitespace (does not matter when parsing)
+        // - a single - (indicated by a MINUS token
+        // - two -- (indicated by a MINUS token and an ERROR token
+        // The latter two must be considered as prefixes of the value to search
+        // and for the anchor calculation
+        Token openParen = null;
+        do {
+            if(ts.token().id() == CssTokenId.LPAREN) {
+                openParen = ts.token();
+                break;
+            } else if (ts.token().id() == CssTokenId.WS) {
+                prefixRead = true;
+            } else if ((! prefixRead) && (ts.token().id() == CssTokenId.MINUS || ts.token().id() == CssTokenId.ERROR)) {
+                prefixBuilder.insert(0, ts.token().text());
+            }
+        } while((ts.token().id() == CssTokenId.WS
+            || ts.token().id() == CssTokenId.MINUS
+            || ts.token().id() == CssTokenId.ERROR) && ts.movePrevious());
+
+        String prefix = prefixBuilder.toString();
+
+        // If we found an open parenthesis, we speculate, that we are in a var
+        // function
+        if(openParen != null) {
+            // scan further back, skipping whitespace to find the next identifier
+            // if it is "var", we complete the first position of a var function
+            Token ident = LexerUtils.followsToken(
+                ts,
+                Collections.singleton(CssTokenId.IDENT),
+                true,
+                false,
+                false,
+                CssTokenId.WS
+            );
+            if(ident != null && "var".equals(ident.text())) {
+                // There are two sources for "variable" names:
+                // - declared custom properties are of course considered
+                // - all variable uses are also considered, that way we can
+                //   support variables from imports, if they are at least once
+                //   manually used.
+
+                Set<String> variables = new TreeSet<>();
+
+                variables.addAll(NodeUtil
+                    .getChildrenRecursivelyByType(context.getParseTreeRoot(), NodeType.property)
+                    .stream()
+                    .map(Node::image)
+                    .map(CharSequence::toString)
+                    .filter(s -> s.startsWith("--"))
+                    .filter(s -> s.startsWith(prefix))
+                    .collect(Collectors.toList()));
+
+                variables.addAll(NodeUtil
+                    .getChildrenRecursivelyByType(context.getParseTreeRoot(), NodeType.token)
+                    .stream()
+                    .filter(n -> NodeUtil.getTokenNodeTokenId(n) == CssTokenId.VARIABLE)
+                    .map(Node::image)
+                    .map(CharSequence::toString)
+                    .filter(s -> s.startsWith("--"))
+                    .filter(s -> s.startsWith(prefix))
+                    .collect(Collectors.toList()));
+
+                // the currently modified variable can be part of the found items
+                // this assumes, that we don't want to complete to ourself
+                variables.remove(prefix);
+
+                context.restoreTokenSequence();
+
+                return Utilities.createRAWCompletionProposals(
+                    variables,
+                    ElementKind.VARIABLE,
+                    context.getAnchorOffset() - prefix.length() + context.getPrefix().length());
+            }
+        }
+        context.restoreTokenSequence();
+        return Collections.emptyList();
+    }
+
     private static class CssRuleStructureItemHashableByName extends CssRuleStructureItem {
 
         public CssRuleStructureItemHashableByName(CharSequence name, CssNodeElement element, Snapshot source) {
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/animations.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/animations.properties
index ebe21b6..563d1c1 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/animations.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/animations.properties
@@ -19,24 +19,25 @@ $category=animations
 
 animation=<animation-arg> [ , <animation-arg> ]* 
 
-@animation-arg=<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction>
+@animation-arg=[<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction>] | <var-fn>
 
-animation-delay=!time [ , !time]* 
+animation-delay=<time> [ , <time>]*
 
-animation-direction=normal | [ alternate [ , [ normal | alternate ] ]* ]
+animation-direction=normal | [ alternate [ , [ normal | alternate | <var-fn> ] ]* ] | <var-fn>
 
-animation-duration=!time [ , !time ]* 
+animation-duration=<time> [ , <time> ]*
 
-animation-fill-mode=[ none | forwards | backwards | both ] [ , [ none | forwards | backwards | both ] ]* 
+animation-fill-mode=[ none | forwards | backwards | both  | <var-fn>] [ , [ none | forwards | backwards | both  | <var-fn>] ]*
 
-animation-iteration-count=infinite | [ !number [ , [ infinite | !number ] ]* ]
+animation-iteration-count=infinite | [ <number> [ , [ infinite | <number> ] ]* ]
 
-animation-name=none | [ !identifier [ , [ none | !identifier ] ]* ]
+animation-name=none | [ <identifier> [ , [ none | <identifier> ] ]* ]
 
 animation-play-state=running | [ paused [ , [ running | paused ] ]* ] 
 
 animation-timing-function=<animation-timing-function-arg> [ , <animation-timing-function-arg> ]* 
 
 @animation-timing-function-arg=ease | linear | ease-in | ease-out | ease-in-out | \
-                [ cubic-bezier ( !number , !number , !number , !number ) ]
+                [ cubic-bezier ( <number> , <number> , <number> , <number> ) ] | \
+                | <var-fn>
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/backgrounds_and_borders.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/backgrounds_and_borders.properties
index 79e1323..b66775d 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/backgrounds_and_borders.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/backgrounds_and_borders.properties
@@ -37,7 +37,7 @@ background-origin=[<bg-box> [ , <bg-box> ]*] | inherit | initial
 
 background-position= [<bg-pos> [ , <bg-pos> ]* ] | inherit | initial
 
-@bg-pos=<bg-pos-1> | <bg-pos-2> | <bg-pos-34>
+@bg-pos=<bg-pos-1> | <bg-pos-2> | <bg-pos-34> | <var-fn>
 
 @bg-pos-1=left | center | right | top | bottom | <percentage> | <length>
 
@@ -51,8 +51,6 @@ background-position= [<bg-pos> [ , <bg-pos> ]* ] | inherit | initial
 @bg-pos-34-2=center | <bg-pos-34-top-bottom-pair>
 @bg-pos-34-left-right-pair=[ left | right ] [ <percentage> | <length> ]?
 @bg-pos-34-top-bottom-pair=[ top | bottom ] [ <percentage> | <length> ]?
-                    
-@number=!number
 
 background-repeat=[ <repeat-style> [ , <repeat-style> ]* ] | inherit | initial
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
index b72d3de..207b422 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_box_model.properties
@@ -19,22 +19,22 @@
 
 $category=box
 
-clear=none | left | right | both | inherit | initial
+clear=none | left | right | both | inherit | initial | <var-fn>
 
 display=inline | block | inline-block | list-item | run-in | compact | table | \
         inline-table | table-row-group | table-header-group | table-footer-group | \
         table-row | table-column-group | table-column | table-cell | table-caption | \
         ruby | ruby-base | ruby-text | ruby-base-group | ruby-text-group | \
-        <template>| none | inherit | initial
+        <template>| none | inherit | initial | <var-fn>
 
 #define
 @template=!anything
 
 #page-floats defined in Generated content for paged media
-float=[ left | right | top | bottom | start | end | none | <page-floats> ] && contour?
+float=[ left | right | top | bottom | start | end | none | <page-floats>  | <var-fn>] && contour?
 
 # --- margin ---
-margin=[<box-edge-size>]{1,4} | inherit | initial
+margin=[<box-edge-size>]{1,4} | inherit | initial | <var-fn>
 
 margin-top=<box-edge-size>
 margin-right=<box-edge-size>
@@ -42,7 +42,7 @@ margin-bottom=<box-edge-size>
 margin-left=<box-edge-size>
 
 # --- padding ---
-padding=[<box-edge-size>]{1,4} | inherit | initial
+padding=[<box-edge-size>]{1,4} | inherit | initial | <var-fn>
 
 padding-top=<box-edge-size>
 padding-right=<box-edge-size>
@@ -54,7 +54,7 @@ padding-left=<box-edge-size>
 
 #marquee-direction=forward | reverse
 
-marquee-loop=!non-negative-integer | infinite
+marquee-loop=!non-negative-integer | infinite | <var-fn>
 
 #marquee-speed=slow | normal | fast
 
@@ -64,21 +64,21 @@ max-width;max-height= <length> | <percentage> | available | min-content | max-co
 
 min-width;min-height= <length> | <percentage> | available | min-content | max-content | fit-content | inherit
 
-overflow=[ visible | hidden | scroll | auto | no-display | no-content ]{1,2}
+overflow=[ visible | hidden | scroll | auto | no-display | no-content | <var-fn> ]{1,2}
 
 overflow-style=<basic_box_model-overflow-style> || <marquee_model-overflow-style>
 
-@basic_box_model-overflow-style=auto | [[scrollbar | panner | move | marquee] [, [scrollbar | panner | move | marquee]]*]
+@basic_box_model-overflow-style=auto | [[scrollbar | panner | move | marquee | <var-fn>] [, [scrollbar | panner | move | marquee | <var-fn>]]*]
 
 
-overflow-x;overflow-y=visible | hidden | scroll | auto | no-display | no-content
+overflow-x;overflow-y=visible | hidden | scroll | auto | no-display | no-content | <var-fn>
 
 rotation=<angle>
 
 rotation-point=<bg-pos>
 
-visibility=visible | hidden | collapse
+visibility=visible | hidden | collapse | <var-fn>
 
-width=[ <length> | <percentage> ] && [border-box | content-box]? | available | min-content | max-content | fit-content | auto | inherit
+width=[ <length> | <percentage> ] && [border-box | content-box]? | available | min-content | max-content | fit-content | auto | inherit | <var-fn>
 
-height=[ <length> | <percentage> ] && [border-box | content-box]? | available | min-content | max-content | fit-content | complex | auto | inherit
\ No newline at end of file
+height=[ <length> | <percentage> ] && [border-box | content-box]? | available | min-content | max-content | fit-content | complex | auto | inherit | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_user_interface.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_user_interface.properties
index 7d5757e..5e6e1ff 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_user_interface.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/basic_user_interface.properties
@@ -25,9 +25,9 @@ appearance=normal | <appearance> | inherit | initial | none
             | button | push-button | hyperlink | radio-button | checkbox \
             | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu \
             | list-menu | radio-group | checkbox-group | outline-tree | range \
-            | field | combo-box | signature | password
+            | field | combo-box | signature | password | <var-fn>
 
-box-sizing=content-box | border-box | inherit | initial
+box-sizing=content-box | border-box | inherit | initial | <var-fn>
 
 
 #content=<basic_user_interface-content>
@@ -36,23 +36,23 @@ box-sizing=content-box | border-box | inherit | initial
 
 icon=auto | [ <uri> [, <uri>]* ]  | inherit | initial
 
-cursor=	[ [ <uri> [ !number !number ]? , ]* \
+cursor=	[ [ <uri> [ <number> <number> ]? , ]* \
         [ auto | default | none | context-menu | help | pointer | progress | wait\
         | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed \
         | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize \
         | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize \
-        | row-resize | all-scroll ] ]  | inherit | initial | zoom-in | zoom-out | grab | grabbing
+        | row-resize | all-scroll ] ]  | inherit | initial | zoom-in | zoom-out | grab | grabbing | <var-fn>
 
 #referred by default css module <font> element
 @system-font=<appearance> | status-bar | message-box | caption | small-caption
 
-nav-index=auto | !number | inherit | initial
+nav-index=auto | <number> | inherit | initial
 
-nav-up;nav-right;nav-down;nav-left=[ [ auto | !identifier ] [ current | root | <target-name> ]? ]  | inherit | initial
+nav-up;nav-right;nav-down;nav-left=[ [ auto | <identifier> ] [ current | root | <target-name> ]? ]  | inherit | initial | <var-fn>
 
-@target-name=!string | !identifier
+@target-name=<string> | <identifier>
 
-outline=[ <outline-color> || <outline-style> || <outline-width> ]  | inherit | initial
+outline=[ <outline-color> || <outline-style> || <outline-width> ]  | inherit | initial | <var-fn>
 
 outline-color=<color> | invert | inherit | initial
 
@@ -62,6 +62,6 @@ outline-style=auto | <border-style> | inherit | initial
 
 outline-width=<border-width> | inherit | initial
 
-resize=none | both | horizontal | vertical | inherit | initial
+resize=none | both | horizontal | vertical | inherit | initial | <var-fn>
 
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/colors.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/colors.properties
index b64789c..e21fcb7 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/colors.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/colors.properties
@@ -21,17 +21,17 @@ $category=colors
 #property (@-prefix), then to a visible one.
 color=<color> | inherit | initial
 
-@color=<colors-list> | <system-color> |  <rgb> | <rgba> | <hsl> | <hsla> | !hash_color_code | transparent | currentColor
+@color=<colors-list> | <system-color> |  <rgb> | <rgba> | <hsl> | <hsla> | !hash_color_code | <var-fn> | transparent | currentColor
 
-opacity=!number
+opacity=<number>
 
-@rgb=rgb  (  [!number | <percentage>]  ,  [ !number | <percentage> ] , [ !number | <percentage>]  )
+@rgb=rgb  (  [<number> | <percentage>]  ,  [ <number> | <percentage> ] , [ <number> | <percentage>]  )
     
-@rgba=rgba  (  [!number | <percentage>]  ,  [ !number | <percentage> ] ,  [ !number | <percentage>]  ,  !number )
+@rgba=rgba  (  [<number> | <percentage>]  ,  [ <number> | <percentage> ] ,  [ <number> | <percentage>]  ,  <number> )
     
-@hsl=hsl  (  [!number | <percentage>]  ,  [ !number | <percentage> ] ,  [ !number | <percentage>]  )
+@hsl=hsl  (  [<number> | <percentage>]  ,  [ <number> | <percentage> ] ,  [ <number> | <percentage>]  )
     
-@hsla=hsla  (  [!number | <percentage>]  ,  [ !number | <percentage> ] ,  [ !number | <percentage>]  ,  !number )
+@hsla=hsla  (  [<number> | <percentage>]  ,  [ <number> | <percentage> ] ,  [ <number> | <percentage>]  ,  <number> )
 
 #@colors-list ... provided by the ColorsModule directly
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/default_module.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/default_module.properties
index d5fcaeb..ad5d29e 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/default_module.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/default_module.properties
@@ -20,25 +20,29 @@
 @match-anything=[!anything]*
 
 #@uri=url (  [ !string | !identifier ]  )
-@uri=!uri
+@uri=!uri | <var-fn>
 
 @calc-fn=calc ( [!function-content]+ )
 
-@length=[<minus_operator>? !length] | <calc-fn>
+@var-fn=var ( !variable [, [!function-content]+]? )
 
-@percentage=[<minus_operator>? !percentage] | <calc-fn>
+@length=[<minus_operator>? !length] | <calc-fn> | <var-fn>
 
-@integer=[<minus_operator>? !integer] | <calc-fn>
+@percentage=[<minus_operator>? !percentage] | <calc-fn> | <var-fn>
 
-@angle=[<minus_operator>? !angle] | <calc-fn>
+@integer=[<minus_operator>? !integer] | <calc-fn> | <var-fn>
 
-@decibel=[<minus_operator>? !decibel] | <calc-fn>
+@angle=[<minus_operator>? !angle] | <calc-fn> | <var-fn>
 
-@frequency=!frequency | <calc-fn>
+@decibel=[<minus_operator>? !decibel] | <calc-fn> | <var-fn>
 
-@number=!number | <calc-fn>
+@frequency=!frequency | <calc-fn> | <var-fn>
 
-@time=!time | <calc-fn>
+@number=!number | <calc-fn> | <var-fn>
+
+@time=!time | <calc-fn> | <var-fn>
+
+@string=!string | <var-fn>
 
 @minus_operator="-"
 
@@ -46,52 +50,52 @@ azimuth=<angle> | [[ left-side | far-left | left | center-left | center | center
 
 bottom=<length> | <percentage> | auto | inherit | initial
 
-border-collapse=collapse | separate | inherit | initial
+border-collapse=collapse | separate | inherit | initial | <var-fn>
 
-border-spacing=[<length> [<length>]?] | inherit | initial
+border-spacing=[<length> [<length>]?] | inherit | initial | <var-fn>
 
-clip=<rect> | auto | inherit | initial
+clip=<rect> | auto | inherit | initial | <var-fn>
 
 @rect=rect  (  [<length> | auto]  ,  [<length> | auto ]  ,  [ <length> | auto]  ,  [ <length> | auto ] )
 
-caption-side=top | bottom | inherit | initial
+caption-side=top | bottom | inherit | initial | <var-fn>
 
 elevation=<angle>  | below | level | above | higher | lower | inherit | initial
 
-empty-cells=show | hide | inherit | initial
+empty-cells=show | hide | inherit | initial | <var-fn>
 
 left=<length> | <percentage> | auto | inherit | initial
 
-pitch-range=!number | inherit | initial
+pitch-range=<number> | inherit | initial
 
 pitch=!frequency | x-low | low | medium | high | x-high | inherit | initial
 
-play-during=<uri> [ mix || repeat ]? | auto | none | inherit | initial
+play-during=<uri> [ mix || repeat ]? | auto | none | inherit | initial | <var-fn>
 
-position=static | relative | absolute | fixed | inherit | initial
+position=static | relative | absolute | fixed | inherit | initial | <var-fn>
 
-quotes=[!string !string]+ | none | inherit | initial
+quotes=[<string> <string>]+ | none | inherit | initial | <var-fn>
 
-richness=!number | inherit | initial
+richness=<number> | inherit | initial
 
 right=<length> | <percentage> | auto | inherit | initial
 
-speak-header=once | always | inherit | initial
+speak-header=once | always | inherit | initial | <var-fn>
 
-speak-numeral=digits | continuous | inherit | initial
+speak-numeral=digits | continuous | inherit | initial | <var-fn>
 
-speak-punctuation=code | none | inherit | initial
+speak-punctuation=code | none | inherit | initial | <var-fn>
 
-speech-rate=!number  | x-slow | slow | medium | fast | x-fast | faster | slower | inherit | initial
+speech-rate=<number>  | x-slow | slow | medium | fast | x-fast | faster | slower | inherit | initial
 
-stress=!number | inherit | initial
+stress=<number> | inherit | initial
 
-table-layout=auto | fixed | inherit | initial
+table-layout=auto | fixed | inherit | initial | <var-fn>
 
 top=<length> | <percentage> | auto | inherit | initial
 
-volume=!number | <percentage> | silent | x-soft | soft | medium | loud | x-loud  | inherit | initial
+volume=<number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud  | inherit | initial
 
 z-index=auto | <integer> | inherit | initial
 
-text-decoration=[ <text-decoration-line> || <text-decoration-color> || <text-decoration-style> || blink ]  | inherit | initial
+text-decoration=[ <text-decoration-line> || <text-decoration-color> || <text-decoration-style> || blink ]  | inherit | initial | <var-fn>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/flexible_box_layout.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/flexible_box_layout.properties
index 41cfd47..827052e 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/flexible_box_layout.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/flexible_box_layout.properties
@@ -21,15 +21,15 @@
 
 $category=flexible_box_layout
 
-flex-direction=row | row-reverse | column | column-reverse
+flex-direction=row | row-reverse | column | column-reverse | <var-fn>
 
-flex-wrap=nowrap | wrap | wrap-reverse
+flex-wrap=nowrap | wrap | wrap-reverse | <var-fn>
 
 flex-flow=<flex-direction> || <flex-wrap>
 
 order=<integer>
 
-flex=none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]
+flex=none | [ <flex-grow> <flex-shrink>? || <flex-basis> ] | <var-fn>
 
 flex-grow=<number>
 
@@ -37,10 +37,10 @@ flex-shrink= <number>
 
 flex-basis=content | <width>
 
-justify-content=flex-start | flex-end | center | space-between | space-around
+justify-content=flex-start | flex-end | center | space-between | space-around | <var-fn>
 
-align-items=flex-start | flex-end | center | baseline | stretch
+align-items=flex-start | flex-end | center | baseline | stretch | <var-fn>
 
-align-self=auto | flex-start | flex-end | center | baseline | stretch
+align-self=auto | flex-start | flex-end | center | baseline | stretch | <var-fn>
 
-align-content=flex-start | flex-end | center | space-between | space-around | stretch
+align-content=flex-start | flex-end | center | space-between | space-around | stretch | <var-fn>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
index bd90f7a..e5da2c1 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/fonts.properties
@@ -32,22 +32,22 @@ font=[ \
      ]  | inherit | initial
 
 
-@font-variant-css21=normal | small-caps
+@font-variant-css21=normal | small-caps | <var-fn>
 
 #XXX family-name property acceptor doesn't properly match unquoted family names with whitespaces like 'Times New Roman'
 font-family=[ [ <family-name> | <generic-family> ] [, [ <family-name> | <generic-family> ]]* ]  | inherit | initial
 
-@family-name=!string | [ !identifier ]+
+@family-name=<string> | [ !identifier ]+
 
-@generic-family=serif | sans-serif | cursive | fantasy | monospace
+@generic-family=serif | sans-serif | cursive | fantasy | monospace | <var-fn>
 
-font-feature-settings=normal | [ <feature-tag-value> [, <feature-tag-value>]* ]
+font-feature-settings=normal | [ <feature-tag-value> [, <feature-tag-value>]* ] | <var-fn>
 
-@feature-tag-value= !string [ <integer> | on | off ]?
+@feature-tag-value= <string> [ <integer> | on | off ]?
 
-font-kerning=auto | normal | none
+font-kerning=auto | normal | none | <var-fn>
 
-font-language-override=normal | !string | inherit | initial
+font-language-override=normal | <string> | inherit | initial
 
 font-size=<absolute-size> | <relative-size> | <length> | <percentage> | inherit | initial
 
@@ -55,13 +55,13 @@ font-size=<absolute-size> | <relative-size> | <length> | <percentage> | inherit
 
 @relative-size=larger | smaller
 
-font-size-adjust=!number | none | inherit | initial
+font-size-adjust=<number> | none | inherit | initial
 
-font-stretch=normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit | initial
+font-stretch=normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit | initial | <var-fn>
 
-font-style=normal | italic | oblique | inherit | initial
+font-style=normal | italic | oblique | inherit | initial | <var-fn>
 
-font-synthesis=none | [ weight || style ]
+font-synthesis=none | [ [weight | <var-fn>] || [style |  <var-fn>] ] | <var-fn>
 
 font-variant=normal \
              | \
@@ -88,16 +88,16 @@ font-variant=normal \
                <east-asian-width-values> ]
 
 
-@numeric-figure-values=lining-nums | oldstyle-nums
-@numeric-spacing-values=proportional-nums | tabular-nums
-@numeric-fraction-values=diagonal-fractions | stacked-fractions
-@east-asian-variant-values=hojo-kanji | jis78 | jis83 | jis90 | jis04 | nlckanji | simplified | traditional
-@east-asian-width-values=full-width | proportional-width
-@contextual-alt-values=contextual | no-contextual
-@common-lig-values=common-ligatures | no-common-ligatures
-@additional-lig-values=additional-ligatures | no-additional-ligatures
-@historical-lig-values=historical-ligatures | no-historical-ligatures
-@caps-value=small-caps | all-small-caps | petite-caps | all-petite-caps | titling-caps | unicase
+@numeric-figure-values=lining-nums | oldstyle-nums | <var-fn>
+@numeric-spacing-values=proportional-nums | tabular-nums | <var-fn>
+@numeric-fraction-values=diagonal-fractions | stacked-fractions | <var-fn>
+@east-asian-variant-values=hojo-kanji | jis78 | jis83 | jis90 | jis04 | nlckanji | simplified | traditional | <var-fn>
+@east-asian-width-values=full-width | proportional-width | <var-fn>
+@contextual-alt-values=contextual | no-contextual | <var-fn>
+@common-lig-values=common-ligatures | no-common-ligatures | <var-fn>
+@additional-lig-values=additional-ligatures | no-additional-ligatures | <var-fn>
+@historical-lig-values=historical-ligatures | no-historical-ligatures | <var-fn>
+@caps-value=small-caps | all-small-caps | petite-caps | all-petite-caps | titling-caps | unicase | <var-fn>
 
 font-variant-alternates= normal \
                          | \
@@ -113,21 +113,23 @@ font-variant-alternates= normal \
                             [ ornament ( <feature-value-name> ) ] || \
                             [ annotation ( <feature-value-name> ) ] || \
                             ruby \
-                         ]
+                         ] \
+                         | \
+                         <var-fn>
 
 #-feature-value-list=[ <feature-value-name> <feature-index> ]+
-@feature-value-name=!identifier
+@feature-value-name=!identifier | <var-fn>
 #-feature-index=<integer>
 
-font-variant-caps=normal | <caps-value> | inherit | initial
+font-variant-caps=normal | <caps-value> | inherit | initial | <var-fn>
 
-font-variant-east-asian=normal | [ <east-asian-variant-values> || <east-asian-width-values> ] | inherit | initial
+font-variant-east-asian=normal | [ <east-asian-variant-values> || <east-asian-width-values> ] | inherit | initial | <var-fn>
 
-font-variant-ligatures=normal | [ <common-lig-values> || <additional-lig-values> || <historical-lig-values> ] | inherit | initial
+font-variant-ligatures=normal | [ <common-lig-values> || <additional-lig-values> || <historical-lig-values> ] | inherit | initial | <var-fn>
 
-font-variant-numeric=normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || slashed-zero ] | inherit | initial
+font-variant-numeric=normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || slashed-zero ] | inherit | initial | <var-fn>
 
-font-weight=normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | initial
+font-weight=normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | initial | <var-fn>
 
-font-variant-position=normal | sub | super 
+font-variant-position=normal | sub | super | <var-fn>
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_and_replaced_content.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_and_replaced_content.properties
index 507b72d..8b0d94f 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_and_replaced_content.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_and_replaced_content.properties
@@ -20,42 +20,44 @@
 $category=content
 
 #merged basic and user interface & generated and replace content "content" property
-content=[ <icon>?  [ normal | none | inhibit | <content-list> ]? ] | inherit | initial
+content=[ <icon>?  [ normal | none | inhibit | <content-list> ]? ] | inherit | initial | <var-fn>
 
 @content-list=[ \
-    [ attr ( !identifier ) ] | !string \
+    [ attr ( <identifier> ) ] | !string \
     | contents | footnote | endnote | section-note | list-item | <counters> \
     | <strings> | open-quote | close-quote | no-open-quote | no-close-quote \
     | <glyph> | !uri | !date | document-url | <target> ]+
 
 @counters=<counter_fn> | <counters_fn>
 
-@counter_fn=counter ( !identifier [ , !identifier ]? ) 
+@counter_fn=counter ( <identifier> [ , <identifier> ]? )
 
-@counters_fn=counters ( !identifier , !identifier [ , !identifier ]? ) 
+@counters_fn=counters ( <identifier> , <identifier> [ , <identifier> ]? )
 
-@strings=string ( !identifier )
+@strings=string ( <identifier> )
 
 @glyph=box | check | circle | diamond | disc | hyphen | square
 
-@target=!identifier
+@target=<identifier>
 
-counter-increment=[ !identifier [ <integer> ]? ]+ | none | inherit | initial
+counter-increment=[ <identifier> [ <integer> ]? ]+ | none | inherit | initial  | <var-fn>
 
-counter-reset=[ !identifier [ <integer> ]? ]+ | none | inherit | initial
+counter-reset=[ <identifier> [ <integer> ]? ]+ | none | inherit | initial  | <var-fn>
 
-crop=<crop-shape> | auto
+crop=<crop-shape> | auto  | <var-fn>
 
 #uncomment once property merging works well
 #display=normal
 
-move-to=normal | here | !identifier
+move-to=normal | here | <identifier>
 
-page-policy=start | first | last
+page-policy=start | first | last | <var-fn>
 
 #provided by defaut module
 #quotes=foo | bar 
 
 @crop-shape= [ rect | inter-rect ] ( <crop-len-or-perc> , <crop-len-or-perc> , <crop-len-or-perc> , <crop-len-or-perc> )
 
-@crop-len-or-perc=<length> | <percentage>
\ No newline at end of file
+@crop-len-or-perc=<length> | <percentage>
+
+@identifier=!identifier | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_content_for_paged_media.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_content_for_paged_media.properties
index 95e53c6..e155928 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_content_for_paged_media.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/generated_content_for_paged_media.properties
@@ -19,12 +19,12 @@
 
 @bleed=<length>
 
-bookmark-label=<content_fn> | <attr_fn> | !string
+bookmark-label=<content_fn> | <attr_fn> | <string>
 
 #content function
 @content_fn=content ( <fn-param-list> )
 
-@fn-param=!identifier | !string | <uri>
+@fn-param=!identifier | <string> | <uri>
 
 @fn-param-list = <fn-param> [ , <fn-param> ]*
 
@@ -32,7 +32,7 @@ bookmark-label=<content_fn> | <attr_fn> | !string
 
 bookmark-level=none | <integer>
 
-bookmark-state=open | closed
+bookmark-state=open | closed | <var-fn>
 
 @bookmark-target=none | <uri> | <attr_fn>
 
@@ -50,12 +50,12 @@ bookmark-state=open | closed
 
 @generate_content_for_paged_media_images-image-resolution=normal
 
-@marks= [ crop || cross ] | none
+@marks= [ crop || cross ] | none | <var-fn>
 
 #string-set=[[ !identifier <content-list>] [, <identifier> <content-list>]* ] | none
 #checking disabled
 string-set=<match-anything>
 
-@page-floats=inside | outside | top | bottom | next
+@page-floats=inside | outside | top | bottom | next | <var-fn>
 
 running=<match-anything>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/grid_positioning.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/grid_positioning.properties
index fe48652..40a7111 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/grid_positioning.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/grid_positioning.properties
@@ -23,6 +23,6 @@ grid-rows;grid-columns=\
     [ [ <length> | <percentage> | <relative-length> ] \
     | \
     ( [ <length> | <percentage> | <relative-length> ]+ ) [ ( <integer> ) ]? ]+ \
-    | none | inherit | initial 
+    | none | inherit | initial | <var-fn>
 
-@relative-length=!relative-length | '*'
+@relative-length=!relative-length | '*' | <var-fn>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/hyperlinks.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/hyperlinks.properties
index 48c9ef8..836592c 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/hyperlinks.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/hyperlinks.properties
@@ -19,9 +19,9 @@ $category=hyperlinks
 
 @target=<target-name> || <target-new> || <target-position> 
 
-@target-name=current | root | parent | new | modal | !string 
+@target-name=current | root | parent | new | modal | <string>
 
-@target-new=window | tab | none 
+@target-new=window | tab | none  | <var-fn>
 
-@target-position=above | behind | front | back 
+@target-position=above | behind | front | back | <var-fn>
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/image_values.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/image_values.properties
index f463d39..5624b54 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/image_values.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/image_values.properties
@@ -23,11 +23,11 @@ $category=images
 
 @image-list=image ( [ [ [<image-decl> , ]* [ <image-decl>] ] | <color> ] )
 
-@image-decl=!string [ [ snap? && !resolution ] || [ ltr | rtl ] ]
+@image-decl=<string> [ [ snap? && !resolution ] || [ ltr | rtl | <var-fn> ] ]
 
 @element-reference = element ( [<id-selector> | !identifier ] )
 
-@id-selector=!identifier
+@id-selector=!identifier | <var-fn>
 
 #apparently the cycle doesn't resolve propertly - cycles the resolver, fix later
 #-image-combination= cross-fade ( <image>, <image>, <percentage> )
@@ -37,7 +37,7 @@ $category=images
 
 @linear-gradient = linear-gradient ( \
             [ [ \
-		[ to [ top | bottom ] || [ left | right ] ] \
+		[ to [ top | bottom  | <var-fn> ] || [ left | right | <var-fn>  ] ] \
 		| \
 		<angle> \
               ] , ]? \
@@ -75,12 +75,12 @@ $category=images
 	<color-stop> [ , <color-stop>]+ \
         )
 
-@shape=circle | ellipse
+@shape=circle | ellipse | <var-fn>
 
 #TODO evaluate whether the "normal" size property should be merged once the properties merging is done
-@img-size=closest-side | closest-corner | farthest-side | farthest-corner | contain | cover
+@img-size=closest-side | closest-corner | farthest-side | farthest-corner | contain | cover | <var-fn>
 
-object-fit=fill | contain | cover | none | scale-down | hidden | meet | slice
+object-fit=fill | contain | cover | none | scale-down | hidden | meet | slice | <var-fn>
 
 object-position=[ \
                     [ <percentage> | <length> | left | center | right ] \
@@ -88,14 +88,20 @@ object-position=[ \
                 ] \
                 | \
                 [ \
-                    [ [ left | center | right ] || [ top | center | bottom ] ] \
-                ] 
+                    [ [ left | center | right | <var-fn>  ] || [ top | center | bottom | <var-fn> ] ] \
+                ] \
+                | \
+                <var-fn>
 
 image-resolution=<images-image-resolution> || <generate_content_for_paged_media_images-image-resolution>
 
-@images-image-resolution=[ from-image || !resolution ] && snap?
+@images-image-resolution=[ from-image || <resolution> ] && <snap>?
 
 image-orientation=<angle>
 
+@resolution=!resolution | <var-fn>
+
+@snap=snap | <var-fn>
+
 #image-rendering=auto | crisp-edges 
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/line.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/line.properties
index c4a5d26..6d5d480 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/line.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/line.properties
@@ -26,19 +26,21 @@ alignment-adjust=auto | baseline | before-edge | text-before-edge | middle | \
 
 alignment-baseline=baseline | use-script | before-edge | text-before-edge | \
                    after-edge | text-after-edge | central | middle | \
-                   ideographic | alphabetic | hanging | mathematical  | initial | inherit | initial
+                   ideographic | alphabetic | hanging | mathematical  | \
+                   initial \ | inherit | initial | <var-fn>
 
-baseline-shift=baseline | sub | super | <percentage> | <length> 
+baseline-shift=baseline | sub | super | <percentage> | <length>
 
 dominant-baseline=auto | use-script | no-change | reset-size | alphabetic | \
                   hanging | ideographic | mathematical | central | middle | \
-                  text-after-edge | text-before-edge  | initial | inherit | initial
+                  text-after-edge | text-before-edge  | initial | inherit | \
+                  initial | <var-fn>
 
 drop-initial-after-adjust=central | middle |  after-edge | text-after-edge | \
                           ideographic | alphabetic | hanging | mathematical | \
                           <percentage> | <length>  | initial | inherit | initial
 
-drop-initial-after-align=<alignment-baseline> | initial | inherit | initial
+drop-initial-after-align=<alignment-baseline> | initial | inherit | initial | <var-fn>
 
 drop-initial-before-adjust=before-edge | text-before-edge | middle | central | \
                            after-edge | text-after-edge | ideographic | \
@@ -55,17 +57,17 @@ drop-initial-value=initial | <integer>  |  inherit | initial
 
 inline-box-align=initial | last | <integer>  | inherit | initial
 
-line-height=normal |  !number | <length> | <percentage> | none | initial | inherit | initial
+line-height=normal |  <number> | <length> | <percentage> | none | initial | inherit | initial
 
 line-stacking=[ <line-stacking-strategy> || <line-stacking-ruby> || <line-stacking-shift> ]  | initial | inherit | initial
 
-line-stacking-ruby=exclude-ruby | include-ruby | initial | inherit | initial
+line-stacking-ruby=exclude-ruby | include-ruby | initial | inherit | initial | <var-fn>
 
-line-stacking-shift=consider-shifts | disregard-shifts  | initial | inherit | initial
+line-stacking-shift=consider-shifts | disregard-shifts  | initial | inherit | initial | <var-fn>
 
-line-stacking-strategy=inline-line-height | block-line-height | max-height | grid-height | initial | inherit | initial
+line-stacking-strategy=inline-line-height | block-line-height | max-height | grid-height | initial | inherit | initial | <var-fn>
 
-text-height=auto | font-size | text-size | max-size | initial | inherit | initial
+text-height=auto | font-size | text-size | max-size | initial | inherit | initial | <var-fn>
 
 vertical-align=auto | use-script | baseline | sub | super | top | text-top | \
                central | middle | bottom | text-bottom | <percentage> | <length>  | initial | inherit | initial
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/lists_and_counters.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/lists_and_counters.properties
index 83d3f7b..4290a88 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/lists_and_counters.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/lists_and_counters.properties
@@ -21,18 +21,18 @@ list-style=[<list-style-type> || <list-style-position> || <list-style-image>] |
 
 list-style-image=<image> | none | inherit | initial
 
-list-style-position=inside | outside  | inherit | initial
+list-style-position=inside | outside  | inherit | initial | <var-fn>
 
-list-style-type=!string | <counter-style> | none  | inherit | initial
+list-style-type=<string> | <counter-style> | none  | inherit | initial | <var-fn>
 
-@counter-style = !identifier | <symbols-function>
+@counter-style = !identifier | <symbols-function> | <var-fn>
 
 @symbols-function= [ symbols ( <type>? [ !string | <image> ]+ ) ] | <predefined-counter-styles>
 
-@type=repeating | numeric | alphabetic | symbolic | non-repeating
+@type=repeating | numeric | alphabetic | symbolic | non-repeating | <var-fn>
 
 @predefined-counter-styles=decimal | decimal-leading-zero | lower-roman | upper-roman \
     | georgian | armenian | lower-alpha | lower-latin | upper-alpha | upper-latin \
-    | lower-greek | disc | circle | square
+    | lower-greek | disc | circle | square | <var-fn>
 
-marker-attachment=list-item | list-container 
\ No newline at end of file
+marker-attachment=list-item | list-container | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/marquee.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/marquee.properties
index 5791966..5e95267 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/marquee.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/marquee.properties
@@ -17,9 +17,9 @@
 
 $category=marquee
 
-@marquee-direction=forward | reverse 
-@marquee-play-count=<non-negative-integer> | infinite 
+@marquee-direction=forward | reverse  | <var-fn>
+@marquee-play-count=<non-negative-integer> | infinite | <var-fn>
 @non-negative-integer=!non-negative-integer
-@marquee-speed=slow | normal | fast 
-@marquee-style=scroll | slide | alternate 
-@marquee_model-overflow-style=marquee-line | marquee-block 
\ No newline at end of file
+@marquee-speed=slow | normal | fast  | <var-fn>
+@marquee-style=scroll | slide | alternate  | <var-fn>
+@marquee_model-overflow-style=marquee-line | marquee-block | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/multi-column_layout.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/multi-column_layout.properties
index 516f8ed..c6df0b3 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/multi-column_layout.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/multi-column_layout.properties
@@ -23,26 +23,26 @@ break-after=<break-after-before>
 
 break-before=<break-after-before>
 
-@break-after-before=auto | always | avoid | left | right | page | column | avoid-page | avoid-column 
+@break-after-before=auto | always | avoid | left | right | page | column | avoid-page | avoid-column | <var-fn>
 
-break-inside=auto | avoid | avoid-page | avoid-column 
+break-inside=auto | avoid | avoid-page | avoid-column | <var-fn>
 
-column-count=<integer> | auto 
+column-count=<integer> | auto
 
-column-fill=auto | balance 
+column-fill=auto | balance | <var-fn>
 
-column-gap= <length> | normal 
+column-gap= <length> | normal
 
 column-rule=<column-rule-width> || <column-rule-style> || [ <column-rule-color> | transparent ] 
 
-column-rule-color=<color> 
+column-rule-color=<color>
 
-column-rule-style=<border-style> 
+column-rule-style=<border-style>
 
-column-rule-width=<border-width> 
+column-rule-width=<border-width>
 
 columns=<column-width> || <column-count> 
 
-column-span=none | all 
+column-span=none | all | <var-fn>
 
 column-width= <length> | auto
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/paged_media.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/paged_media.properties
index 9a535e9..2d43ecf 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/paged_media.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/paged_media.properties
@@ -22,13 +22,13 @@ $category=paged_media
 size=[<length>]{1,2} | auto | [ <page-size> || [ portrait | landscape] ]
 
 #review the page-size property!!!
-@page-size=A5 | A4 | A4 | B5 | B4 | letter | legal | ledger | <length>
+@page-size=A5 | A4 | A4 | B5 | B4 | letter | legal | ledger
 
-page-break-before;page-break-after;=auto | always | avoid | left | right
+page-break-before;page-break-after;=auto | always | avoid | left | right | <var-fn>
 
-page-break-inside=auto | avoid
+page-break-inside=auto | avoid | <var-fn>
 
-page=auto | !identifier
+page=auto | !identifier | <var-fn>
 
 orphans=<integer>
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/ruby.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/ruby.properties
index 0714535..9c2c128 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/ruby.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/ruby.properties
@@ -17,7 +17,7 @@
 
 $category=ruby
 
-ruby-align=start | center | space-between | space-around
-@ruby-overhang=auto | start | end | none | initial | inherit | initial
-ruby-merge=separate | collapse | auto
-ruby-position=[over | under | inter-character ] && [ right | left ] | inherit | initial
+ruby-align=start | center | space-between | space-around | <var-fn>
+@ruby-overhang=auto | start | end | none | initial | inherit | initial | <var-fn>
+ruby-merge=separate | collapse | auto | <var-fn>
+ruby-position=[over | under | inter-character | <var-fn>] && [ right | left | <var-fn> ] | inherit | initial | <var-fn>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/speech.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/speech.properties
index bc90d85..42702a8 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/speech.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/speech.properties
@@ -25,35 +25,35 @@ cue=[ <cue-before> || <cue-after> ] | inherit | initial
 
 pause=[<pause-before> <pause-after>?] | inherit | initial
 
-pause-after;pause-before=!time | none | x-weak | weak | medium | strong | x-strong | inherit | initial
+pause-after;pause-before=<time> | none | x-weak | weak | medium | strong | x-strong | inherit | initial
 
 rest=[<rest-before> <rest-after>?] | inherit | initial
 
-rest-after;rest-before=!time | none | x-weak | weak | medium | strong | x-strong | inherit | initial
+rest-after;rest-before=<time> | none | x-weak | weak | medium | strong | x-strong | inherit | initial
 
-speak=auto | none | normal | inherit | initial
+speak=auto | none | normal | inherit | initial | <var-fn>
 
-speak-as=normal | [spell-out || digits || [ literal-punctuation | no-punctuation ]] | inherit | initial
+speak-as=normal | [spell-out || digits || [ literal-punctuation | no-punctuation ]] | inherit | initial | <var-fn>
 
-voice-balance=!number | left | center | right | leftwards | rightwards | inherit | initial
+voice-balance=<number> | left | center | right | leftwards | rightwards | inherit | initial
 
-voice-duration=auto | !time | inherit | initial
+voice-duration=auto | <time> | inherit | initial
 
-voice-family=[ [ [ <voice-name> | <generic-voice>] , ]* [ <voice-name> | <generic-voice> ] ] | preserve | inherit | initial
+voice-family=[ [ [ <voice-name> | <generic-voice>] , ]* [ <voice-name> | <generic-voice> ] ] | preserve | inherit | initial | <var-fn>
 
-@voice-name= !string | [ !identifier ]+
+@voice-name= <string> | [ !identifier ]+
 
 @generic-voice= [<age>? <gender> [ <integer> ]?]
 
-@age=<integer> | child | young | old
+@age=<integer> | child | young | old | <var-fn>
 
-@gender=male | female | neutral
+@gender=male | female | neutral | <var-fn>
 
-voice-pitch;voice-range= [ !frequency && absolute ] | [ [ x-low | low | medium | high | x-high] || [!frequency | !semitones | <percentage> ] ]    | inherit | initial
+voice-pitch;voice-range= [ <frequency> && absolute ] | [ [ x-low | low | medium | high | x-high] || [<frequency> | !semitones | <percentage> ] ]    | inherit | initial | <var-fn>
 
-voice-rate=[ [normal | x-slow | slow | medium | fast | x-fast] || <percentage> ]  | inherit | initial
+voice-rate=[ [normal | x-slow | slow | medium | fast | x-fast | <var-fn>] || <percentage> ]  | inherit | initial
 
-voice-stress=normal | strong | moderate | none | reduced | inherit | initial
+voice-stress=normal | strong | moderate | none | reduced | inherit | initial | <var-fn>
 
-voice-volume=silent | [[x-soft | soft | medium | loud | x-loud] || <decibel>] | inherit | initial
+voice-volume=silent | [[x-soft | soft | medium | loud | x-loud | <var-fn>] || <decibel>] | inherit | initial
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/text.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/text.properties
index 6ea8271..ecb8225 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/text.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/text.properties
@@ -20,77 +20,77 @@
 $category=text
 
 #missing "all" members group support
-@text-space-collapse=collapse | discard | [ [preserve | preserve-breaks] && [ trim-inner || consume-before || consume-after ] ] | inherit | initial
+@text-space-collapse=collapse | discard | [ [preserve | preserve-breaks] && [ trim-inner || consume-before || consume-after ] ] | inherit | initial | <var-fn>
 
-hanging-punctuation=none | [ first || [ force-end | allow-end ] || last ] | inherit | initial
+hanging-punctuation=none | [ first || [ force-end | allow-end ] || last ] | inherit | initial | <var-fn>
 
-@hyphenate-character=auto | !string | inherit | initial
+@hyphenate-character=auto | <string> | inherit | initial
 
 @hyphenate-limit-chars=auto | [<integer>]{1,3} | inherit | initial
 
-@hyphenate-limit-last=none | always | column | page | spread | inherit | initial
+@hyphenate-limit-last=none | always | column | page | spread | inherit | initial | <var-fn>
 
 @hyphenate-limit-lines=no-limit | <integer> | inherit | initial
 
 @hyphenate-limit-zone=<percentage> | <length> | inherit | initial
 
-hyphens=none | manual | auto | inherit | initial
+hyphens=none | manual | auto | inherit | initial | <var-fn>
 
 letter-spacing=<spacing-limit>{1,3} | inherit | initial
 
 @spacing-limit= normal | <length> | <percentage>
 
-line-break=auto | loose | normal | strict | inherit | initial
+line-break=auto | loose | normal | strict | inherit | initial | <var-fn>
 
 tab-size=<integer> | inherit | initial
 
-text-align=start | end | left | right | center | justify | match-parent | justify-all | inherit | initial
+text-align=start | end | left | right | center | justify | match-parent | justify-all | inherit | initial | <var-fn>
 
-text-align-last=auto | start | end | left | right | center | justify | inherit | initial
+text-align-last=auto | start | end | left | right | center | justify | inherit | initial | <var-fn>
 
 @text-decoration=[ <text-decoration-line> || <text-decoration-color> || <text-decoration-style> || blink ]  | inherit | initial
 
 @text-decoration-color=<color> | inherit | initial
 
-@text-decoration-line=[ [none | underline] || overline || line-through || [ [cancel-underline || cancel-overline || cancel-line-through] | cancel-all ] ]  | inherit | initial
+@text-decoration-line=[ [none | underline] || overline || line-through || [ [cancel-underline || cancel-overline || cancel-line-through] | cancel-all ] ]  | inherit | initial | <var-fn>
 
-@text-decoration-skip=none | [ objects || spaces || ink ] | inherit | initial
+@text-decoration-skip=none | [ objects || spaces || ink ] | inherit | initial | <var-fn>
 
-@text-decoration-style=solid | double | dotted | dashed | wavy | inherit | initial
+@text-decoration-style=solid | double | dotted | dashed | wavy | inherit | initial | <var-fn>
 
-@text-emphasis=[<text-emphasis-style> || <text-emphasis-color>]  | inherit | initial
+@text-emphasis=[<text-emphasis-style> || <text-emphasis-color>]  | inherit | initial | <var-fn>
 
 @text-emphasis-color=<color> | inherit | initial
 
-@text-emphasis-position=[ [ above | below ] && [ right | left ] ] | inherit | initial
+@text-emphasis-position=[ [ above | below  | <var-fn> ] && [ right | left | <var-fn> ] ] | inherit | initial | <var-fn>
 
-@text-emphasis-style=none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | !string | inherit | initial
+@text-emphasis-style=none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string> | inherit | initial | <var-fn>
 
-text-indent=[ [ <length> | <percentage> ] && [ hanging || each-line ]? ]  | inherit | initial
+text-indent=[ [ <length> | <percentage> ] && [ hanging || each-line ]? ]  | inherit | initial | <var-fn>
 
-text-justify=auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida | inherit | initial
+text-justify=auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida | inherit | initial | <var-fn>
 
-@text-shadow=none | [[<text-shadow_one>, ]* <text-shadow_one>] | inherit | initial
+@text-shadow=none | [[<text-shadow_one>, ]* <text-shadow_one>] | inherit | initial | <var-fn>
 
-@text-shadow_one = [ <length>{2,4} <color>? ]  | inherit | initial
+@text-shadow_one = [ <length>{2,4} <color>? ]  | inherit | initial | <var-fn>
 
-text-transform=none | [ [ capitalize | uppercase | lowercase ] || fullwidth || fullsize-kana ] | inherit | initial
+text-transform=none | [ [ capitalize | uppercase | lowercase ] || fullwidth || fullsize-kana ] | inherit | initial | <var-fn>
 
-@text-underline-position=auto | alphabetic | [below left] | [below right] | inherit | initial
+@text-underline-position=auto | alphabetic | [below left] | [below right] | inherit | initial | <var-fn>
 
-@text-wrap=normal | none | avoid | inherit | initial
+@text-wrap=normal | none | avoid | inherit | initial | <var-fn>
 
-white-space=normal | pre | nowrap | pre-wrap | pre-line | inherit | initial
+white-space=normal | pre | nowrap | pre-wrap | pre-line | inherit | initial | <var-fn>
 
-word-break=normal | keep-all | break-all | inherit | initial
+word-break=normal | keep-all | break-all | inherit | initial | <var-fn>
 
 word-spacing=<spacing-limit> {1,3} | inherit | initial
 
-overflow-wrap=normal | [ break-word || hyphenate ] | inherit | initial
+overflow-wrap=normal | [ break-word || hyphenate ] | inherit | initial | <var-fn>
 
-word-wrap=normal | break-word | inherit | initial
+word-wrap=normal | break-word | inherit | initial | <var-fn>
 
-overflow-wrap=normal | break-word | inherit | initial
+overflow-wrap=normal | break-word | inherit | initial | <var-fn>
 
 @text-spacing=normal | none | [ trim-start | space-start ] | \
         [\
@@ -98,14 +98,15 @@ overflow-wrap=normal | break-word | inherit | initial
             || [ trim-adjacent | space-adjacent ] \
             || no-compress || ideograph-alpha \
             || ideograph-numeric || punctuation \
-        ]
+        ]\
+         | <var-fn>
 
 #from older version of the css3 text spec: http://www.w3.org/TR/2003/CR-css3-text-20030514/#ellipsis-def
 
-@text-overflow-mode=clip | ellipsis | ellipsis-word
+@text-overflow-mode=clip | ellipsis | ellipsis-word | <var-fn>
 
 @text-overflow-ellipsis=<ellipsis>{1,2}
 
-@ellipsis=!string | !uri
+@ellipsis=<string> | <uri>
 
 @text-overflow=<text-overflow-mode> || <text-overflow-ellipsis>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_2d.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_2d.properties
index 2a153df..85e59a7 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_2d.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_2d.properties
@@ -17,14 +17,14 @@
 
 $category=transformations_2D
 
-transform=none | <transform-function> [ <transform-function> ]* 
+transform=none | <transform-function> [ <transform-function> ]*
 
 @transform-function=<transform-function_2d> || <transform-function_3d>
- 
+
 @transform-function_2d=<matrix> | <translate> | <translateX> | <translateY> |\
-<scale> | <scaleX> | <scaleY> | <rotate> | <skewX> | <skewY> | <skew>
+<scale> | <scaleX> | <scaleY> | <rotate> | <skewX> | <skewY> | <skew> | <var-fn>
 
-@matrix=matrix ( !number , !number , !number , !number , !number , !number )
+@matrix=matrix ( <number> , <number> , <number> , <number> , <number> , <number> )
 
 @translate=translate ( <translation-value> [ , <translation-value> ]* )
 
@@ -34,11 +34,11 @@ transform=none | <transform-function> [ <transform-function> ]*
 
 @translateY=translateY ( <translation-value> )
 
-@scale=scale ( !number [ , !number ]? )
+@scale=scale ( <number> [ , <number> ]? )
 
-@scaleX=scaleX ( !number )
+@scaleX=scaleX ( <number> )
 
-@scaleY=scaleY ( !number )
+@scaleY=scaleY ( <number> )
 
 @rotate=rotate ( <angle> )
 
@@ -57,6 +57,6 @@ transform-origin=[ top | bottom ] \
                     [ center | [ left | right ] [ <percentage> | <length> ]? ] \
                     && \
                     [ center | [ top | bottom ] [ <percentage> | <length> ]? ] \
-                 ] 
+                 ] |  <var-fn>
 
 @translation-value=<length> | <percentage> | <angle>
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_3d.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_3d.properties
index 428e35d..ba631a9 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_3d.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transforms_3d.properties
@@ -17,7 +17,7 @@
 
 $category=transformations_3D
 
-backface-visibility=visible | hidden 
+backface-visibility=visible | hidden
 
 perspective=none | <length>
 
@@ -26,26 +26,26 @@ perspective-origin=[ \
                     [ <percentage> | <length> | top | center | bottom ]? \
                    ] \
                    | \
-                   [ [ left | center | right ] || [ top | center | bottom ] ] 
+                   [ [ left | center | right | <var-fn> ] || [ top | center | bottom | <var-fn> ] ]
 
-#transform=none | <transform-function> [ <transform-function> ]* 
+#transform=none | <transform-function> [ <transform-function> ]*
 
 @transform-function_3d=<matrix3d> | <translateZ> | <translate3d> | <scale3d> | \
-<scaleZ> | <rotate3d> | <rotateX> | <rotateY> | <rotateZ> | <perspective>
+<scaleZ> | <rotate3d> | <rotateX> | <rotateY> | <rotateZ> | <perspective> | <var-fn>
 
-@matrix3d=matrix3d ( !number , !number , !number , !number , !number , !number \
-                   , !number , !number , !number , !number , !number , !number \
-                    , !number , !number , !number , !number )
+@matrix3d=matrix3d ( <number> , <number> , <number> , <number> , <number> , <number> \
+                   , <number> , <number> , <number> , <number> , <number> , <number> \
+                    , <number> , <number> , <number> , <number> )
 
 @translate3d=translate3d ( <translation-value>, <translation-value>, <translation-value>)
 
 @translateZ=translateZ ( <translation-value> )
 
-@scale3d=scale3d ( !number , !number , !number )
+@scale3d=scale3d ( <number> , <number> , <number> )
 
-@scaleZ=scaleZ ( !number )
+@scaleZ=scaleZ ( <number> )
 
-@rotate3d=rotate3d ( !number , !number , !number , <angle> )
+@rotate3d=rotate3d ( <number> , <number> , <number> , <angle> )
 
 @rotateX=rotateX ( <angle> )
 
@@ -55,4 +55,4 @@ perspective-origin=[ \
 
 @perspective=perspective ( <length> )
 
-transform-style=flat | preserve-3d 
\ No newline at end of file
+transform-style=flat | preserve-3d | <var-fn>
\ No newline at end of file
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transitions.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transitions.properties
index 15cea54..2e99dea 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transitions.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/transitions.properties
@@ -17,21 +17,21 @@
 
 $category=transitions
 
-transition=[ <transition-arg> ] [ , <transition-arg> ]* 
+transition=[ <transition-arg> ] [ , <transition-arg> ]*
 
 @transition-arg= <transition-duration> \
             || <transition-timing-function> \
             || <transition-delay> \
             || <transition-property>
 
-transition-delay=!time [, !time]* 
+transition-delay=<time> [, <time>]*
 
-transition-duration=!time [, !time]* 
+transition-duration=<time> [, <time>]*
 
-transition-property=none | all | [ [ !identifier ] [ , !identifier ]* ]
+transition-property=none | all | [ [ !identifier ] [ , !identifier ]* ] | <var-fn>
 
 transition-timing-function= <transition-timing-function-arg> [, <transition-timing-function-arg> ]* 
 
-@transition-timing-function-arg=ease | linear | ease-in | ease-out | ease-in-out | \
-                [ cubic-bezier ( !number , !number , !number , !number ) ]
+@transition-timing-function-arg=ease | linear | ease-in | ease-out | ease-in-out | <var-fn> | \
+                [ cubic-bezier ( <number> , <number> , <number> , <number> ) ]
 
diff --git a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/writing_modes.properties b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/writing_modes.properties
index a0358d0..edd9d40 100644
--- a/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/writing_modes.properties
+++ b/ide/css.editor/src/org/netbeans/modules/css/editor/module/main/properties/writing_modes.properties
@@ -19,19 +19,19 @@
 
 $category=writing_modes
 
-direction=ltr | rtl | inherit | initial
+direction=ltr | rtl | inherit | initial | <var-fn>
 
-@text-combine-horizontal=inherit | initial | none | all | \
+@text-combine-horizontal=inherit | initial | none | all | <var-fn> | \
         [ [ [ digits <integer> ] | [ ascii-digits <integer>] ] \
-        || [ [ alpha <integer> ] | [ latin <integer> ] ] || [ alphanumeric <integer> ] ]\
+        || [ [ alpha <integer> ] | [ latin <integer> ] ] || [ alphanumeric <integer> ] ]
 
 text-combine-upright= inherit | initial | none | all | \
         [ [ [ digits <integer> ] | [ ascii-digits <integer>] ] \
-        || [ [ alpha <integer> ] | [ latin <integer> ] ] || [ alphanumeric <integer> ] ]\          
+        || [ [ alpha <integer> ] | [ latin <integer> ] ] || [ alphanumeric <integer> ] ]
 
-text-orientation=mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation | inherit | initial
+text-orientation=mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation | inherit | initial | <var-fn>
 
-unicode-bidi=normal | embed | [ isolate || [ plaintext | bidi-override ] ] | inherit | initial
+unicode-bidi=normal | embed | [ isolate || [ plaintext | bidi-override ] ] | inherit | initial | <var-fn>
 
-writing-mode=horizontal-tb | vertical-rl | vertical-lr | inherit | initial
+writing-mode=horizontal-tb | vertical-rl | vertical-lr | inherit | initial | <var-fn>
 
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BackgroundsAndBordersModuleTest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BackgroundsAndBordersModuleTest.java
index 1ce70c7..cee4c78 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BackgroundsAndBordersModuleTest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/BackgroundsAndBordersModuleTest.java
@@ -129,7 +129,7 @@ public class BackgroundsAndBordersModuleTest extends CssModuleTestBase {
         PropertyDefinition pm = Properties.getPropertyDefinition( "border-width");
         ResolvedProperty rp = assertResolve(pm.getGrammarElement(null), "", false);
         
-        assertAlternatives(rp, "thick","thin","inherit","initial","!length","-", "medium", "calc");
+        assertAlternatives(rp, "thick","thin","inherit","initial","!length","-", "medium", "calc", "var");
         
         //ok - so the minus "-" is still in the alternatives (which is correct),
         //but finally filtered out in the code completion result by the "_operator" postfix
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/DefaultCssModuleTest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/DefaultCssModuleTest.java
index e93d561..7333ca0 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/DefaultCssModuleTest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/DefaultCssModuleTest.java
@@ -27,6 +27,7 @@ import org.netbeans.modules.css.editor.module.spi.FutureParamTask;
 import org.netbeans.modules.css.editor.module.spi.HelpResolver;
 import org.netbeans.modules.css.lib.api.properties.Properties;
 import org.netbeans.modules.css.lib.api.properties.PropertyDefinition;
+import org.netbeans.modules.parsing.spi.ParseException;
 import org.openide.util.Pair;
 
 /**
@@ -225,5 +226,50 @@ public class DefaultCssModuleTest extends CssModuleTestBase {
         assertNotNull(task);
         
     }
-    
+
+    public void testVariableCompletionDeclared() throws ParseException {
+        checkCC(
+            ":root {--c1-fore: coral, --c1-back: blue} p { background: var(|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            ":root {--c1-fore: coral, --c1-back: blue} p { background: var(-|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            ":root {--c1-fore: coral, --c1-back: blue} p { background: var(--|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            ":root {--c1-fore: coral, --c1-back: blue} p { background: var(--c1|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            ":root {--c1-fore: coral, --c1-back: blue} p { background: var(--c1-f|",
+            arr("--c1-fore"),
+            Match.CONTAINS);
+    }
+
+    public void testVariableCompletionUsed() throws ParseException {
+        checkCC(
+            "h1 {background-color: var(--c1-fore, coral); color: var(--c1-back)} p { background: var(|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            "h1 {background-color: var(--c1-fore, coral); color: var(--c1-back)} p { background: var(-|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            "h1 {background-color: var(--c1-fore, coral); color: var(--c1-back)} p { background: var(--|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            "h1 {background-color: var(--c1-fore, coral); color: var(--c1-back)} p { background: var(--c1|",
+            arr("--c1-fore", "--c1-back"),
+            Match.CONTAINS);
+        checkCC(
+            "h1 {background-color: var(--c1-fore, coral); color: var(--c1-back)} p { background: var(--c1-f|",
+            arr("--c1-fore"),
+            Match.CONTAINS);
+    }
 }
diff --git a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/ListsAndCountersModuleTest.java b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/ListsAndCountersModuleTest.java
index 648e91c..6f29042 100644
--- a/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/ListsAndCountersModuleTest.java
+++ b/ide/css.editor/test/unit/src/org/netbeans/modules/css/editor/module/main/ListsAndCountersModuleTest.java
@@ -47,7 +47,8 @@ public class ListsAndCountersModuleTest extends CssModuleTestBase {
                 "!identifier","georgian","element","upper-alpha","armenian",
                 "upper-latin","linear-gradient","!string","image","decimal",
                 "upper-roman","!uri","cross-fade","radial-gradient","inside",
-                "decimal-leading-zero","square", "circle","none","symbols","outside", "initial", "inherit");
+                "decimal-leading-zero","square", "circle","none","symbols",
+                "outside", "initial", "inherit", "var");
     }
     
     public void testListStyleType() {
@@ -61,16 +62,18 @@ public class ListsAndCountersModuleTest extends CssModuleTestBase {
     public void testListStyleTypeCompletion() {
         PropertyDefinition p = Properties.getPropertyDefinition( "list-style-type");
         assertAlternatives(p.getGrammarElement(null), "",
-                "georgian","armenian","upper-alpha","upper-latin","!string","lower-latin",
-                "circle","lower-greek","decimal","upper-roman","disc","lower-alpha",
-                "symbols","lower-roman","none","decimal-leading-zero","square","!identifier",
-                "initial", "inherit");
+            "georgian", "armenian", "upper-alpha", "upper-latin", "!string",
+            "lower-latin", "circle", "lower-greek", "decimal", "upper-roman",
+            "disc", "lower-alpha", "symbols", "lower-roman", "none",
+            "decimal-leading-zero", "square", "!identifier", "initial",
+            "inherit", "var");
         
         assertAlternatives(p.getGrammarElement(null), "symbols", "(");
         assertAlternatives(p.getGrammarElement(null), "symbols(",
-                "repeating-linear-gradient","element","numeric","linear-gradient",
-                "!string","alphabetic","image","symbolic","repeating-radial-gradient",
-                "!uri","repeating","cross-fade","non-repeating","radial-gradient");
+            "repeating-linear-gradient", "element", "numeric", "linear-gradient",
+            "!string", "alphabetic", "image", "symbolic", "repeating-radial-gradient",
+            "!uri", "repeating", "cross-fade", "non-repeating", "radial-gradient",
+            "var");
     }
     
     public void testListStyleImage() {
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
index 8a7a9e0..e312e2c 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g
@@ -558,6 +558,7 @@ property
     //(the IE allows also just ident as its content)
     {isScssSource()}? sass_selector_interpolation_exp
     | {isLessSource()}? less_selector_interpolation_exp
+    | VARIABLE
     | IDENT
     | GEN
     | {isCssPreprocessorSource()}? cp_variable
@@ -868,6 +869,7 @@ term
     ( unaryOperator ws? )?
     (
         (functionName ws? LPAREN)=>function //"myfunction(" as predicate
+        | VARIABLE
         | IDENT
         | NUMBER
         | PERCENTAGE
@@ -1684,6 +1686,10 @@ LESS_JS_STRING  : '`' ( ~('\r'|'\f'|'`') )*
 
 NOT		: 'NOT';
 
+// Variable. Used to define properties, that can be used in the grammar by the
+//           var function (https://www.w3.org/TR/css-variables-1/)
+VARIABLE        : '--' NMSTART NMCHAR*  ;
+
 // -------------
 // Identifier.  Identifier tokens pick up properties names and values
 //
diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
index 4d1bc6c..6c56461 100644
--- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
+++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.5.2 /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2018-11-13 20:42:36
+// $ANTLR 3.5.2 /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2019-03-16 09:00:03
 
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -171,12 +171,13 @@ public class Css3Lexer extends Lexer {
 	public static final int URI=141;
 	public static final int URL=142;
 	public static final int V=143;
-	public static final int W=144;
-	public static final int WEBKIT_KEYFRAMES_SYM=145;
-	public static final int WS=146;
-	public static final int X=147;
-	public static final int Y=148;
-	public static final int Z=149;
+	public static final int VARIABLE=144;
+	public static final int W=145;
+	public static final int WEBKIT_KEYFRAMES_SYM=146;
+	public static final int WS=147;
+	public static final int X=148;
+	public static final int Y=149;
+	public static final int Z=150;
 
 	    protected boolean isLessSource() {
 	        return false;
@@ -211,8 +212,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = GEN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1368:25: ( '@@@' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1368:27: '@@@'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:25: ( '@@@' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:27: '@@@'
 			{
 			match("@@@"); if (state.failed) return;
 
@@ -230,7 +231,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "HEXCHAR"
 	public final void mHEXCHAR() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1372:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) )
 			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
@@ -255,7 +256,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "NONASCII"
 	public final void mNONASCII() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1372:25: ( '\\u0080' .. '\\uFFFF' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:25: ( '\\u0080' .. '\\uFFFF' )
 			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 			{
 			if ( (input.LA(1) >= '\u0080' && input.LA(1) <= '\uFFFF') ) {
@@ -280,13 +281,13 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "UNICODE"
 	public final void mUNICODE() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
 			{
 			match('\\'); if (state.failed) return;
 			mHEXCHAR(); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )?
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1377:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )?
 			int alt5=2;
 			int LA5_0 = input.LA(1);
 			if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'F')||(LA5_0 >= 'a' && LA5_0 <= 'f')) ) {
@@ -294,11 +295,11 @@ public class Css3Lexer extends Lexer {
 			}
 			switch (alt5) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1377:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
 					{
 					mHEXCHAR(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1378:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )?
 					int alt4=2;
 					int LA4_0 = input.LA(1);
 					if ( ((LA4_0 >= '0' && LA4_0 <= '9')||(LA4_0 >= 'A' && LA4_0 <= 'F')||(LA4_0 >= 'a' && LA4_0 <= 'f')) ) {
@@ -306,11 +307,11 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt4) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1378:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
 							{
 							mHEXCHAR(); if (state.failed) return;
 
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1377:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1379:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )?
 							int alt3=2;
 							int LA3_0 = input.LA(1);
 							if ( ((LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'F')||(LA3_0 >= 'a' && LA3_0 <= 'f')) ) {
@@ -318,11 +319,11 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt3) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1377:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1379:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )?
 									{
 									mHEXCHAR(); if (state.failed) return;
 
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1378:45: ( HEXCHAR ( HEXCHAR )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:45: ( HEXCHAR ( HEXCHAR )? )?
 									int alt2=2;
 									int LA2_0 = input.LA(1);
 									if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'F')||(LA2_0 >= 'a' && LA2_0 <= 'f')) ) {
@@ -330,11 +331,11 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt2) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1378:46: HEXCHAR ( HEXCHAR )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:46: HEXCHAR ( HEXCHAR )?
 											{
 											mHEXCHAR(); if (state.failed) return;
 
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1378:54: ( HEXCHAR )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:54: ( HEXCHAR )?
 											int alt1=2;
 											int LA1_0 = input.LA(1);
 											if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'F')||(LA1_0 >= 'a' && LA1_0 <= 'f')) ) {
@@ -379,7 +380,7 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1382:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )*
 			loop6:
 			while (true) {
 				int alt6=2;
@@ -422,7 +423,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "ESCAPE"
 	public final void mESCAPE() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) )
 			int alt7=2;
 			int LA7_0 = input.LA(1);
 			if ( (LA7_0=='\\') ) {
@@ -458,14 +459,14 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt7) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:27: UNICODE
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:27: UNICODE
 					{
 					mUNICODE(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR )
 					{
 					match('\\'); if (state.failed) return;
 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||input.LA(1)=='\u000B'||(input.LA(1) >= '\u000E' && input.LA(1) <= '/')||(input.LA(1) >= ':' && input.LA(1) <= '@')||(input.LA(1) >= 'G' && input.LA(1) <= '`')||(input.LA(1) >= 'g' && input.LA(1) <= '\uFFFF') ) {
@@ -492,7 +493,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "NMSTART"
 	public final void mNMSTART() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE )
 			int alt8=5;
 			int LA8_0 = input.LA(1);
 			if ( (LA8_0=='_') ) {
@@ -520,32 +521,32 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt8) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:27: '_'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:27: '_'
 					{
 					match('_'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1387:27: 'a' .. 'z'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:27: 'a' .. 'z'
 					{
 					matchRange('a','z'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:27: 'A' .. 'Z'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1390:27: 'A' .. 'Z'
 					{
 					matchRange('A','Z'); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:27: NONASCII
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1391:27: NONASCII
 					{
 					mNONASCII(); if (state.failed) return;
 
 					}
 					break;
 				case 5 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1390:27: ESCAPE
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1392:27: ESCAPE
 					{
 					mESCAPE(); if (state.failed) return;
 
@@ -563,7 +564,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "NMCHAR"
 	public final void mNMCHAR() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1393:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE )
 			int alt9=7;
 			int LA9_0 = input.LA(1);
 			if ( (LA9_0=='_') ) {
@@ -597,44 +598,44 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt9) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1393:27: '_'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:27: '_'
 					{
 					match('_'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:27: 'a' .. 'z'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:27: 'a' .. 'z'
 					{
 					matchRange('a','z'); if (state.failed) return;
 					}
 					break;
 				case 3 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:27: 'A' .. 'Z'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1397:27: 'A' .. 'Z'
 					{
 					matchRange('A','Z'); if (state.failed) return;
 					}
 					break;
 				case 4 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:27: '0' .. '9'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1398:27: '0' .. '9'
 					{
 					matchRange('0','9'); if (state.failed) return;
 					}
 					break;
 				case 5 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1397:27: '-'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1399:27: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
 					break;
 				case 6 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1398:27: NONASCII
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1400:27: NONASCII
 					{
 					mNONASCII(); if (state.failed) return;
 
 					}
 					break;
 				case 7 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1399:27: ESCAPE
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1401:27: ESCAPE
 					{
 					mESCAPE(); if (state.failed) return;
 
@@ -652,10 +653,10 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "NAME"
 	public final void mNAME() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1402:25: ( ( NMCHAR )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1402:27: ( NMCHAR )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:25: ( ( NMCHAR )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:27: ( NMCHAR )+
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1402:27: ( NMCHAR )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:27: ( NMCHAR )+
 			int cnt10=0;
 			loop10:
 			while (true) {
@@ -667,7 +668,7 @@ public class Css3Lexer extends Lexer {
 
 				switch (alt10) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1402:27: NMCHAR
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:27: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -695,10 +696,10 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "URL"
 	public final void mURL() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )?
 			int alt13=2;
 			int LA13_0 = input.LA(1);
 			if ( (LA13_0=='!'||(LA13_0 >= '#' && LA13_0 <= '&')||(LA13_0 >= '*' && LA13_0 <= ';')||LA13_0=='='||(LA13_0 >= '?' && LA13_0 <= '\\')||LA13_0=='_'||(LA13_0 >= 'a' && LA13_0 <= '~')||(LA13_0 >= '\u0080' && LA13_0 <= '\uFFFF')) ) {
@@ -706,9 +707,9 @@ public class Css3Lexer extends Lexer {
 			}
 			switch (alt13) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
 					{
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1404:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR )
 					int alt11=21;
 					int LA11_0 = input.LA(1);
 					if ( (LA11_0=='[') ) {
@@ -784,127 +785,127 @@ public class Css3Lexer extends Lexer {
 
 					switch (alt11) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:31: '['
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:31: '['
 							{
 							match('['); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:35: '!'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:35: '!'
 							{
 							match('!'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:39: '#'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:39: '#'
 							{
 							match('#'); if (state.failed) return;
 							}
 							break;
 						case 4 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:43: '$'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:43: '$'
 							{
 							match('$'); if (state.failed) return;
 							}
 							break;
 						case 5 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:47: '%'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:47: '%'
 							{
 							match('%'); if (state.failed) return;
 							}
 							break;
 						case 6 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:51: '&'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:51: '&'
 							{
 							match('&'); if (state.failed) return;
 							}
 							break;
 						case 7 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:55: '*'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:55: '*'
 							{
 							match('*'); if (state.failed) return;
 							}
 							break;
 						case 8 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:59: '~'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:59: '~'
 							{
 							match('~'); if (state.failed) return;
 							}
 							break;
 						case 9 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:63: '.'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:63: '.'
 							{
 							match('.'); if (state.failed) return;
 							}
 							break;
 						case 10 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:67: ':'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:67: ':'
 							{
 							match(':'); if (state.failed) return;
 							}
 							break;
 						case 11 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:71: '/'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:71: '/'
 							{
 							match('/'); if (state.failed) return;
 							}
 							break;
 						case 12 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:75: '?'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:75: '?'
 							{
 							match('?'); if (state.failed) return;
 							}
 							break;
 						case 13 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:79: '='
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:79: '='
 							{
 							match('='); if (state.failed) return;
 							}
 							break;
 						case 14 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:83: ';'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:83: ';'
 							{
 							match(';'); if (state.failed) return;
 							}
 							break;
 						case 15 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:87: ','
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:87: ','
 							{
 							match(','); if (state.failed) return;
 							}
 							break;
 						case 16 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:91: '+'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:91: '+'
 							{
 							match('+'); if (state.failed) return;
 							}
 							break;
 						case 17 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:95: '@'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:95: '@'
 							{
 							match('@'); if (state.failed) return;
 							}
 							break;
 						case 18 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:99: '|'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:99: '|'
 							{
 							match('|'); if (state.failed) return;
 							}
 							break;
 						case 19 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:105: '{'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:105: '{'
 							{
 							match('{'); if (state.failed) return;
 							}
 							break;
 						case 20 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:111: '}'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1407:111: '}'
 							{
 							match('}'); if (state.failed) return;
 							}
 							break;
 						case 21 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1406:31: NMCHAR
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:31: NMCHAR
 							{
 							mNMCHAR(); if (state.failed) return;
 
@@ -913,7 +914,7 @@ public class Css3Lexer extends Lexer {
 
 					}
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )*
 					loop12:
 					while (true) {
 						int alt12=24;
@@ -990,140 +991,140 @@ public class Css3Lexer extends Lexer {
 
 						switch (alt12) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:31: '['
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:31: '['
 							{
 							match('['); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:35: '!'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:35: '!'
 							{
 							match('!'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:39: '#'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:39: '#'
 							{
 							match('#'); if (state.failed) return;
 							}
 							break;
 						case 4 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:43: '$'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:43: '$'
 							{
 							match('$'); if (state.failed) return;
 							}
 							break;
 						case 5 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:47: '%'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:47: '%'
 							{
 							match('%'); if (state.failed) return;
 							}
 							break;
 						case 6 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:51: '&'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:51: '&'
 							{
 							match('&'); if (state.failed) return;
 							}
 							break;
 						case 7 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:55: '*'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:55: '*'
 							{
 							match('*'); if (state.failed) return;
 							}
 							break;
 						case 8 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:59: '~'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:59: '~'
 							{
 							match('~'); if (state.failed) return;
 							}
 							break;
 						case 9 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:63: '.'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:63: '.'
 							{
 							match('.'); if (state.failed) return;
 							}
 							break;
 						case 10 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:67: ':'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:67: ':'
 							{
 							match(':'); if (state.failed) return;
 							}
 							break;
 						case 11 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:71: '/'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:71: '/'
 							{
 							match('/'); if (state.failed) return;
 							}
 							break;
 						case 12 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:75: '?'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:75: '?'
 							{
 							match('?'); if (state.failed) return;
 							}
 							break;
 						case 13 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:79: '='
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:79: '='
 							{
 							match('='); if (state.failed) return;
 							}
 							break;
 						case 14 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:83: ';'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:83: ';'
 							{
 							match(';'); if (state.failed) return;
 							}
 							break;
 						case 15 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:87: ','
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:87: ','
 							{
 							match(','); if (state.failed) return;
 							}
 							break;
 						case 16 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:91: '+'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:91: '+'
 							{
 							match('+'); if (state.failed) return;
 							}
 							break;
 						case 17 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:95: '@'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:95: '@'
 							{
 							match('@'); if (state.failed) return;
 							}
 							break;
 						case 18 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:99: '|'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:99: '|'
 							{
 							match('|'); if (state.failed) return;
 							}
 							break;
 						case 19 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:105: WS
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:105: WS
 							{
 							mWS(); if (state.failed) return;
 
 							}
 							break;
 						case 20 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:111: '\\\"'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:111: '\\\"'
 							{
 							match('\"'); if (state.failed) return;
 							}
 							break;
 						case 21 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:118: '{'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:118: '{'
 							{
 							match('{'); if (state.failed) return;
 							}
 							break;
 						case 22 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:124: '}'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:124: '}'
 							{
 							match('}'); if (state.failed) return;
 							}
 							break;
 						case 23 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:31: NMCHAR
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1412:31: NMCHAR
 							{
 							mNMCHAR(); if (state.failed) return;
 
@@ -1152,7 +1153,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "A"
 	public final void mA() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1417:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' )
 			int alt18=2;
 			int LA18_0 = input.LA(1);
 			if ( (LA18_0=='A'||LA18_0=='a') ) {
@@ -1171,7 +1172,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt18) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1417:21: ( 'a' | 'A' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:21: ( 'a' | 'A' )
 					{
 					if ( input.LA(1)=='A'||input.LA(1)=='a' ) {
 						input.consume();
@@ -1186,10 +1187,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt17=2;
 					int LA17_0 = input.LA(1);
 					if ( (LA17_0=='0') ) {
@@ -1197,10 +1198,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt17) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt16=2;
 							int LA16_0 = input.LA(1);
 							if ( (LA16_0=='0') ) {
@@ -1208,10 +1209,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt16) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:36: ( '0' ( '0' )? )?
 									int alt15=2;
 									int LA15_0 = input.LA(1);
 									if ( (LA15_0=='0') ) {
@@ -1219,10 +1220,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt15) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:41: ( '0' )?
 											int alt14=2;
 											int LA14_0 = input.LA(1);
 											if ( (LA14_0=='0') ) {
@@ -1230,7 +1231,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt14) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1278,7 +1279,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "B"
 	public final void mB() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1422:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' )
 			int alt23=2;
 			int LA23_0 = input.LA(1);
 			if ( (LA23_0=='B'||LA23_0=='b') ) {
@@ -1297,7 +1298,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt23) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1420:21: ( 'b' | 'B' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1422:21: ( 'b' | 'B' )
 					{
 					if ( input.LA(1)=='B'||input.LA(1)=='b' ) {
 						input.consume();
@@ -1312,10 +1313,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt22=2;
 					int LA22_0 = input.LA(1);
 					if ( (LA22_0=='0') ) {
@@ -1323,10 +1324,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt22) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt21=2;
 							int LA21_0 = input.LA(1);
 							if ( (LA21_0=='0') ) {
@@ -1334,10 +1335,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt21) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:36: ( '0' ( '0' )? )?
 									int alt20=2;
 									int LA20_0 = input.LA(1);
 									if ( (LA20_0=='0') ) {
@@ -1345,10 +1346,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt20) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:41: ( '0' )?
 											int alt19=2;
 											int LA19_0 = input.LA(1);
 											if ( (LA19_0=='0') ) {
@@ -1356,7 +1357,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt19) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1421:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1404,7 +1405,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "C"
 	public final void mC() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1425:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' )
 			int alt28=2;
 			int LA28_0 = input.LA(1);
 			if ( (LA28_0=='C'||LA28_0=='c') ) {
@@ -1423,7 +1424,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt28) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:21: ( 'c' | 'C' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1425:21: ( 'c' | 'C' )
 					{
 					if ( input.LA(1)=='C'||input.LA(1)=='c' ) {
 						input.consume();
@@ -1438,10 +1439,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt27=2;
 					int LA27_0 = input.LA(1);
 					if ( (LA27_0=='0') ) {
@@ -1449,10 +1450,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt27) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt26=2;
 							int LA26_0 = input.LA(1);
 							if ( (LA26_0=='0') ) {
@@ -1460,10 +1461,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt26) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:36: ( '0' ( '0' )? )?
 									int alt25=2;
 									int LA25_0 = input.LA(1);
 									if ( (LA25_0=='0') ) {
@@ -1471,10 +1472,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt25) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:41: ( '0' )?
 											int alt24=2;
 											int LA24_0 = input.LA(1);
 											if ( (LA24_0=='0') ) {
@@ -1482,7 +1483,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt24) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1530,7 +1531,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "D"
 	public final void mD() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1428:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' )
 			int alt33=2;
 			int LA33_0 = input.LA(1);
 			if ( (LA33_0=='D'||LA33_0=='d') ) {
@@ -1549,7 +1550,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt33) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:21: ( 'd' | 'D' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1428:21: ( 'd' | 'D' )
 					{
 					if ( input.LA(1)=='D'||input.LA(1)=='d' ) {
 						input.consume();
@@ -1564,10 +1565,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt32=2;
 					int LA32_0 = input.LA(1);
 					if ( (LA32_0=='0') ) {
@@ -1575,10 +1576,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt32) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt31=2;
 							int LA31_0 = input.LA(1);
 							if ( (LA31_0=='0') ) {
@@ -1586,10 +1587,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt31) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:36: ( '0' ( '0' )? )?
 									int alt30=2;
 									int LA30_0 = input.LA(1);
 									if ( (LA30_0=='0') ) {
@@ -1597,10 +1598,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt30) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:41: ( '0' )?
 											int alt29=2;
 											int LA29_0 = input.LA(1);
 											if ( (LA29_0=='0') ) {
@@ -1608,7 +1609,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt29) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1656,7 +1657,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "E"
 	public final void mE() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' )
 			int alt38=2;
 			int LA38_0 = input.LA(1);
 			if ( (LA38_0=='E'||LA38_0=='e') ) {
@@ -1675,7 +1676,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt38) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:21: ( 'e' | 'E' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:21: ( 'e' | 'E' )
 					{
 					if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
 						input.consume();
@@ -1690,10 +1691,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt37=2;
 					int LA37_0 = input.LA(1);
 					if ( (LA37_0=='0') ) {
@@ -1701,10 +1702,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt37) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt36=2;
 							int LA36_0 = input.LA(1);
 							if ( (LA36_0=='0') ) {
@@ -1712,10 +1713,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt36) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:36: ( '0' ( '0' )? )?
 									int alt35=2;
 									int LA35_0 = input.LA(1);
 									if ( (LA35_0=='0') ) {
@@ -1723,10 +1724,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt35) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:41: ( '0' )?
 											int alt34=2;
 											int LA34_0 = input.LA(1);
 											if ( (LA34_0=='0') ) {
@@ -1734,7 +1735,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt34) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1782,7 +1783,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "F"
 	public final void mF() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' )
 			int alt43=2;
 			int LA43_0 = input.LA(1);
 			if ( (LA43_0=='F'||LA43_0=='f') ) {
@@ -1801,7 +1802,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt43) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:21: ( 'f' | 'F' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:21: ( 'f' | 'F' )
 					{
 					if ( input.LA(1)=='F'||input.LA(1)=='f' ) {
 						input.consume();
@@ -1816,10 +1817,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6'
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 					int alt42=2;
 					int LA42_0 = input.LA(1);
 					if ( (LA42_0=='0') ) {
@@ -1827,10 +1828,10 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt42) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:27: '0' ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:27: '0' ( '0' ( '0' ( '0' )? )? )?
 							{
 							match('0'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:31: ( '0' ( '0' ( '0' )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:31: ( '0' ( '0' ( '0' )? )? )?
 							int alt41=2;
 							int LA41_0 = input.LA(1);
 							if ( (LA41_0=='0') ) {
@@ -1838,10 +1839,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt41) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:32: '0' ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:32: '0' ( '0' ( '0' )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:36: ( '0' ( '0' )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:36: ( '0' ( '0' )? )?
 									int alt40=2;
 									int LA40_0 = input.LA(1);
 									if ( (LA40_0=='0') ) {
@@ -1849,10 +1850,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt40) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:37: '0' ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:37: '0' ( '0' )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:41: ( '0' )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:41: ( '0' )?
 											int alt39=2;
 											int LA39_0 = input.LA(1);
 											if ( (LA39_0=='0') ) {
@@ -1860,7 +1861,7 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt39) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:41: '0'
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:41: '0'
 													{
 													match('0'); if (state.failed) return;
 													}
@@ -1908,7 +1909,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "G"
 	public final void mG() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) )
 			int alt49=2;
 			int LA49_0 = input.LA(1);
 			if ( (LA49_0=='G'||LA49_0=='g') ) {
@@ -1927,7 +1928,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt49) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:21: ( 'g' | 'G' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:21: ( 'g' | 'G' )
 					{
 					if ( input.LA(1)=='G'||input.LA(1)=='g' ) {
 						input.consume();
@@ -1942,10 +1943,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1436:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1438:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1439:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' )
 					int alt48=3;
 					switch ( input.LA(1) ) {
 					case 'g':
@@ -1973,21 +1974,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt48) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1438:31: 'g'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:31: 'g'
 							{
 							match('g'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1439:31: 'G'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1441:31: 'G'
 							{
 							match('G'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7'
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt47=2;
 							int LA47_0 = input.LA(1);
 							if ( (LA47_0=='0') ) {
@@ -1995,10 +1996,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt47) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt46=2;
 									int LA46_0 = input.LA(1);
 									if ( (LA46_0=='0') ) {
@@ -2006,10 +2007,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt46) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:41: ( '0' ( '0' )? )?
 											int alt45=2;
 											int LA45_0 = input.LA(1);
 											if ( (LA45_0=='0') ) {
@@ -2017,10 +2018,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt45) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:46: ( '0' )?
 													int alt44=2;
 													int LA44_0 = input.LA(1);
 													if ( (LA44_0=='0') ) {
@@ -2028,7 +2029,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt44) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2081,7 +2082,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "H"
 	public final void mH() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1443:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1445:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) )
 			int alt55=2;
 			int LA55_0 = input.LA(1);
 			if ( (LA55_0=='H'||LA55_0=='h') ) {
@@ -2100,7 +2101,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt55) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1443:21: ( 'h' | 'H' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1445:21: ( 'h' | 'H' )
 					{
 					if ( input.LA(1)=='H'||input.LA(1)=='h' ) {
 						input.consume();
@@ -2115,10 +2116,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1444:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1446:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1445:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1447:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' )
 					int alt54=3;
 					switch ( input.LA(1) ) {
 					case 'h':
@@ -2146,21 +2147,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt54) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1446:31: 'h'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:31: 'h'
 							{
 							match('h'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1447:31: 'H'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1449:31: 'H'
 							{
 							match('H'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8'
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt53=2;
 							int LA53_0 = input.LA(1);
 							if ( (LA53_0=='0') ) {
@@ -2168,10 +2169,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt53) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt52=2;
 									int LA52_0 = input.LA(1);
 									if ( (LA52_0=='0') ) {
@@ -2179,10 +2180,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt52) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:41: ( '0' ( '0' )? )?
 											int alt51=2;
 											int LA51_0 = input.LA(1);
 											if ( (LA51_0=='0') ) {
@@ -2190,10 +2191,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt51) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:46: ( '0' )?
 													int alt50=2;
 													int LA50_0 = input.LA(1);
 													if ( (LA50_0=='0') ) {
@@ -2201,7 +2202,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt50) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1450:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2254,7 +2255,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "I"
 	public final void mI() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1453:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) )
 			int alt61=2;
 			int LA61_0 = input.LA(1);
 			if ( (LA61_0=='I'||LA61_0=='i') ) {
@@ -2273,7 +2274,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt61) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:21: ( 'i' | 'I' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1453:21: ( 'i' | 'I' )
 					{
 					if ( input.LA(1)=='I'||input.LA(1)=='i' ) {
 						input.consume();
@@ -2288,10 +2289,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1454:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1453:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' )
 					int alt60=3;
 					switch ( input.LA(1) ) {
 					case 'i':
@@ -2319,21 +2320,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt60) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1454:31: 'i'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:31: 'i'
 							{
 							match('i'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:31: 'I'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:31: 'I'
 							{
 							match('I'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9'
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt59=2;
 							int LA59_0 = input.LA(1);
 							if ( (LA59_0=='0') ) {
@@ -2341,10 +2342,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt59) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt58=2;
 									int LA58_0 = input.LA(1);
 									if ( (LA58_0=='0') ) {
@@ -2352,10 +2353,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt58) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:41: ( '0' ( '0' )? )?
 											int alt57=2;
 											int LA57_0 = input.LA(1);
 											if ( (LA57_0=='0') ) {
@@ -2363,10 +2364,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt57) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:46: ( '0' )?
 													int alt56=2;
 													int LA56_0 = input.LA(1);
 													if ( (LA56_0=='0') ) {
@@ -2374,7 +2375,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt56) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1458:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2427,7 +2428,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "J"
 	public final void mJ() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1459:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) )
 			int alt67=2;
 			int LA67_0 = input.LA(1);
 			if ( (LA67_0=='J'||LA67_0=='j') ) {
@@ -2446,7 +2447,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt67) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1459:21: ( 'j' | 'J' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:21: ( 'j' | 'J' )
 					{
 					if ( input.LA(1)=='J'||input.LA(1)=='j' ) {
 						input.consume();
@@ -2461,10 +2462,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1460:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1463:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) )
 					int alt66=3;
 					switch ( input.LA(1) ) {
 					case 'j':
@@ -2492,21 +2493,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt66) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:31: 'j'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:31: 'j'
 							{
 							match('j'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1463:31: 'J'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1465:31: 'J'
 							{
 							match('J'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt65=2;
 							int LA65_0 = input.LA(1);
 							if ( (LA65_0=='0') ) {
@@ -2514,10 +2515,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt65) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt64=2;
 									int LA64_0 = input.LA(1);
 									if ( (LA64_0=='0') ) {
@@ -2525,10 +2526,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt64) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:41: ( '0' ( '0' )? )?
 											int alt63=2;
 											int LA63_0 = input.LA(1);
 											if ( (LA63_0=='0') ) {
@@ -2536,10 +2537,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt63) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:46: ( '0' )?
 													int alt62=2;
 													int LA62_0 = input.LA(1);
 													if ( (LA62_0=='0') ) {
@@ -2547,7 +2548,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt62) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1464:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2609,7 +2610,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "K"
 	public final void mK() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1469:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) )
 			int alt73=2;
 			int LA73_0 = input.LA(1);
 			if ( (LA73_0=='K'||LA73_0=='k') ) {
@@ -2628,7 +2629,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt73) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:21: ( 'k' | 'K' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1469:21: ( 'k' | 'K' )
 					{
 					if ( input.LA(1)=='K'||input.LA(1)=='k' ) {
 						input.consume();
@@ -2643,10 +2644,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1468:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1469:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1471:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) )
 					int alt72=3;
 					switch ( input.LA(1) ) {
 					case 'k':
@@ -2674,21 +2675,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt72) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:31: 'k'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:31: 'k'
 							{
 							match('k'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1471:31: 'K'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1473:31: 'K'
 							{
 							match('K'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt71=2;
 							int LA71_0 = input.LA(1);
 							if ( (LA71_0=='0') ) {
@@ -2696,10 +2697,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt71) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt70=2;
 									int LA70_0 = input.LA(1);
 									if ( (LA70_0=='0') ) {
@@ -2707,10 +2708,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt70) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:41: ( '0' ( '0' )? )?
 											int alt69=2;
 											int LA69_0 = input.LA(1);
 											if ( (LA69_0=='0') ) {
@@ -2718,10 +2719,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt69) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:46: ( '0' )?
 													int alt68=2;
 													int LA68_0 = input.LA(1);
 													if ( (LA68_0=='0') ) {
@@ -2729,7 +2730,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt68) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1474:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2791,7 +2792,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "L"
 	public final void mL() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1475:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1477:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) )
 			int alt79=2;
 			int LA79_0 = input.LA(1);
 			if ( (LA79_0=='L'||LA79_0=='l') ) {
@@ -2810,7 +2811,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt79) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1475:21: ( 'l' | 'L' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1477:21: ( 'l' | 'L' )
 					{
 					if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
 						input.consume();
@@ -2825,10 +2826,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1476:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1478:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1477:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) )
 					int alt78=3;
 					switch ( input.LA(1) ) {
 					case 'l':
@@ -2856,21 +2857,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt78) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1478:31: 'l'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:31: 'l'
 							{
 							match('l'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1479:31: 'L'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1481:31: 'L'
 							{
 							match('L'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt77=2;
 							int LA77_0 = input.LA(1);
 							if ( (LA77_0=='0') ) {
@@ -2878,10 +2879,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt77) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt76=2;
 									int LA76_0 = input.LA(1);
 									if ( (LA76_0=='0') ) {
@@ -2889,10 +2890,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt76) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:41: ( '0' ( '0' )? )?
 											int alt75=2;
 											int LA75_0 = input.LA(1);
 											if ( (LA75_0=='0') ) {
@@ -2900,10 +2901,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt75) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:46: ( '0' )?
 													int alt74=2;
 													int LA74_0 = input.LA(1);
 													if ( (LA74_0=='0') ) {
@@ -2911,7 +2912,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt74) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1480:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1482:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -2973,7 +2974,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "M"
 	public final void mM() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1483:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1485:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) )
 			int alt85=2;
 			int LA85_0 = input.LA(1);
 			if ( (LA85_0=='M'||LA85_0=='m') ) {
@@ -2992,7 +2993,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt85) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1483:21: ( 'm' | 'M' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1485:21: ( 'm' | 'M' )
 					{
 					if ( input.LA(1)=='M'||input.LA(1)=='m' ) {
 						input.consume();
@@ -3007,10 +3008,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1484:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1485:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1487:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) )
 					int alt84=3;
 					switch ( input.LA(1) ) {
 					case 'm':
@@ -3038,21 +3039,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt84) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1486:31: 'm'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:31: 'm'
 							{
 							match('m'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1487:31: 'M'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1489:31: 'M'
 							{
 							match('M'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt83=2;
 							int LA83_0 = input.LA(1);
 							if ( (LA83_0=='0') ) {
@@ -3060,10 +3061,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt83) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt82=2;
 									int LA82_0 = input.LA(1);
 									if ( (LA82_0=='0') ) {
@@ -3071,10 +3072,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt82) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:41: ( '0' ( '0' )? )?
 											int alt81=2;
 											int LA81_0 = input.LA(1);
 											if ( (LA81_0=='0') ) {
@@ -3082,10 +3083,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt81) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:46: ( '0' )?
 													int alt80=2;
 													int LA80_0 = input.LA(1);
 													if ( (LA80_0=='0') ) {
@@ -3093,7 +3094,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt80) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3155,7 +3156,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "N"
 	public final void mN() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1491:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) )
 			int alt91=2;
 			int LA91_0 = input.LA(1);
 			if ( (LA91_0=='N'||LA91_0=='n') ) {
@@ -3174,7 +3175,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt91) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1491:21: ( 'n' | 'N' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:21: ( 'n' | 'N' )
 					{
 					if ( input.LA(1)=='N'||input.LA(1)=='n' ) {
 						input.consume();
@@ -3189,10 +3190,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1492:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) )
 					int alt90=3;
 					switch ( input.LA(1) ) {
 					case 'n':
@@ -3220,21 +3221,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt90) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:31: 'n'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:31: 'n'
 							{
 							match('n'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:31: 'N'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1497:31: 'N'
 							{
 							match('N'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt89=2;
 							int LA89_0 = input.LA(1);
 							if ( (LA89_0=='0') ) {
@@ -3242,10 +3243,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt89) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt88=2;
 									int LA88_0 = input.LA(1);
 									if ( (LA88_0=='0') ) {
@@ -3253,10 +3254,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt88) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:41: ( '0' ( '0' )? )?
 											int alt87=2;
 											int LA87_0 = input.LA(1);
 											if ( (LA87_0=='0') ) {
@@ -3264,10 +3265,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt87) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:46: ( '0' )?
 													int alt86=2;
 													int LA86_0 = input.LA(1);
 													if ( (LA86_0=='0') ) {
@@ -3275,7 +3276,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt86) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1496:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3337,7 +3338,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "O"
 	public final void mO() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1499:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1501:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) )
 			int alt97=2;
 			int LA97_0 = input.LA(1);
 			if ( (LA97_0=='O'||LA97_0=='o') ) {
@@ -3356,7 +3357,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt97) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1499:21: ( 'o' | 'O' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1501:21: ( 'o' | 'O' )
 					{
 					if ( input.LA(1)=='O'||input.LA(1)=='o' ) {
 						input.consume();
@@ -3371,10 +3372,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1501:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1503:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) )
 					int alt96=3;
 					switch ( input.LA(1) ) {
 					case 'o':
@@ -3402,21 +3403,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt96) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1502:31: 'o'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:31: 'o'
 							{
 							match('o'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1503:31: 'O'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:31: 'O'
 							{
 							match('O'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt95=2;
 							int LA95_0 = input.LA(1);
 							if ( (LA95_0=='0') ) {
@@ -3424,10 +3425,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt95) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt94=2;
 									int LA94_0 = input.LA(1);
 									if ( (LA94_0=='0') ) {
@@ -3435,10 +3436,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt94) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:41: ( '0' ( '0' )? )?
 											int alt93=2;
 											int LA93_0 = input.LA(1);
 											if ( (LA93_0=='0') ) {
@@ -3446,10 +3447,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt93) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:46: ( '0' )?
 													int alt92=2;
 													int LA92_0 = input.LA(1);
 													if ( (LA92_0=='0') ) {
@@ -3457,7 +3458,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt92) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1506:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3519,7 +3520,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "P"
 	public final void mP() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1507:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) )
 			int alt103=2;
 			int LA103_0 = input.LA(1);
 			if ( (LA103_0=='P'||LA103_0=='p') ) {
@@ -3538,7 +3539,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt103) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1507:21: ( 'p' | 'P' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:21: ( 'p' | 'P' )
 					{
 					if ( input.LA(1)=='P'||input.LA(1)=='p' ) {
 						input.consume();
@@ -3553,10 +3554,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1508:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1511:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) )
 					int alt102=3;
 					switch ( input.LA(1) ) {
 					case 'p':
@@ -3584,21 +3585,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt102) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:31: 'p'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:31: 'p'
 							{
 							match('p'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1511:31: 'P'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1513:31: 'P'
 							{
 							match('P'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt101=2;
 							int LA101_0 = input.LA(1);
 							if ( (LA101_0=='0') ) {
@@ -3606,10 +3607,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt101) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt100=2;
 									int LA100_0 = input.LA(1);
 									if ( (LA100_0=='0') ) {
@@ -3617,10 +3618,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt100) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:41: ( '0' ( '0' )? )?
 											int alt99=2;
 											int LA99_0 = input.LA(1);
 											if ( (LA99_0=='0') ) {
@@ -3628,10 +3629,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt99) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:46: ( '0' )?
 													int alt98=2;
 													int LA98_0 = input.LA(1);
 													if ( (LA98_0=='0') ) {
@@ -3639,7 +3640,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt98) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3672,8 +3673,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:66: ( '0' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1512:67: '0'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:66: ( '0' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:67: '0'
 							{
 							match('0'); if (state.failed) return;
 							}
@@ -3697,7 +3698,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "Q"
 	public final void mQ() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1517:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) )
 			int alt109=2;
 			int LA109_0 = input.LA(1);
 			if ( (LA109_0=='Q'||LA109_0=='q') ) {
@@ -3716,7 +3717,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt109) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:21: ( 'q' | 'Q' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1517:21: ( 'q' | 'Q' )
 					{
 					if ( input.LA(1)=='Q'||input.LA(1)=='q' ) {
 						input.consume();
@@ -3731,10 +3732,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1516:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1517:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1519:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) )
 					int alt108=3;
 					switch ( input.LA(1) ) {
 					case 'q':
@@ -3762,21 +3763,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt108) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:31: 'q'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:31: 'q'
 							{
 							match('q'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1519:31: 'Q'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1521:31: 'Q'
 							{
 							match('Q'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt107=2;
 							int LA107_0 = input.LA(1);
 							if ( (LA107_0=='0') ) {
@@ -3784,10 +3785,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt107) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt106=2;
 									int LA106_0 = input.LA(1);
 									if ( (LA106_0=='0') ) {
@@ -3795,10 +3796,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt106) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:41: ( '0' ( '0' )? )?
 											int alt105=2;
 											int LA105_0 = input.LA(1);
 											if ( (LA105_0=='0') ) {
@@ -3806,10 +3807,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt105) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:46: ( '0' )?
 													int alt104=2;
 													int LA104_0 = input.LA(1);
 													if ( (LA104_0=='0') ) {
@@ -3817,7 +3818,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt104) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -3850,8 +3851,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:66: ( '1' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:67: '1'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:66: ( '1' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1522:67: '1'
 							{
 							match('1'); if (state.failed) return;
 							}
@@ -3875,7 +3876,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "R"
 	public final void mR() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1523:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) )
 			int alt115=2;
 			int LA115_0 = input.LA(1);
 			if ( (LA115_0=='R'||LA115_0=='r') ) {
@@ -3894,7 +3895,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt115) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1523:21: ( 'r' | 'R' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:21: ( 'r' | 'R' )
 					{
 					if ( input.LA(1)=='R'||input.LA(1)=='r' ) {
 						input.consume();
@@ -3909,10 +3910,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1524:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) )
 					int alt114=3;
 					switch ( input.LA(1) ) {
 					case 'r':
@@ -3940,21 +3941,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt114) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1526:31: 'r'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:31: 'r'
 							{
 							match('r'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:31: 'R'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1529:31: 'R'
 							{
 							match('R'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt113=2;
 							int LA113_0 = input.LA(1);
 							if ( (LA113_0=='0') ) {
@@ -3962,10 +3963,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt113) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt112=2;
 									int LA112_0 = input.LA(1);
 									if ( (LA112_0=='0') ) {
@@ -3973,10 +3974,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt112) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:41: ( '0' ( '0' )? )?
 											int alt111=2;
 											int LA111_0 = input.LA(1);
 											if ( (LA111_0=='0') ) {
@@ -3984,10 +3985,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt111) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:46: ( '0' )?
 													int alt110=2;
 													int LA110_0 = input.LA(1);
 													if ( (LA110_0=='0') ) {
@@ -3995,7 +3996,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt110) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4028,8 +4029,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:66: ( '2' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:67: '2'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:66: ( '2' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:67: '2'
 							{
 							match('2'); if (state.failed) return;
 							}
@@ -4053,7 +4054,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "S"
 	public final void mS() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1531:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1533:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) )
 			int alt121=2;
 			int LA121_0 = input.LA(1);
 			if ( (LA121_0=='S'||LA121_0=='s') ) {
@@ -4072,7 +4073,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt121) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1531:21: ( 's' | 'S' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1533:21: ( 's' | 'S' )
 					{
 					if ( input.LA(1)=='S'||input.LA(1)=='s' ) {
 						input.consume();
@@ -4087,10 +4088,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1533:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1535:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) )
 					int alt120=3;
 					switch ( input.LA(1) ) {
 					case 's':
@@ -4118,21 +4119,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt120) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1534:31: 's'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:31: 's'
 							{
 							match('s'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1535:31: 'S'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:31: 'S'
 							{
 							match('S'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt119=2;
 							int LA119_0 = input.LA(1);
 							if ( (LA119_0=='0') ) {
@@ -4140,10 +4141,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt119) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt118=2;
 									int LA118_0 = input.LA(1);
 									if ( (LA118_0=='0') ) {
@@ -4151,10 +4152,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt118) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:41: ( '0' ( '0' )? )?
 											int alt117=2;
 											int LA117_0 = input.LA(1);
 											if ( (LA117_0=='0') ) {
@@ -4162,10 +4163,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt117) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:46: ( '0' )?
 													int alt116=2;
 													int LA116_0 = input.LA(1);
 													if ( (LA116_0=='0') ) {
@@ -4173,7 +4174,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt116) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4206,8 +4207,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:66: ( '3' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:67: '3'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:66: ( '3' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1538:67: '3'
 							{
 							match('3'); if (state.failed) return;
 							}
@@ -4231,7 +4232,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "T"
 	public final void mT() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1539:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) )
 			int alt127=2;
 			int LA127_0 = input.LA(1);
 			if ( (LA127_0=='T'||LA127_0=='t') ) {
@@ -4250,7 +4251,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt127) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1539:21: ( 't' | 'T' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:21: ( 't' | 'T' )
 					{
 					if ( input.LA(1)=='T'||input.LA(1)=='t' ) {
 						input.consume();
@@ -4265,10 +4266,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1540:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1543:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) )
 					int alt126=3;
 					switch ( input.LA(1) ) {
 					case 't':
@@ -4296,21 +4297,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt126) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:31: 't'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:31: 't'
 							{
 							match('t'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1543:31: 'T'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1545:31: 'T'
 							{
 							match('T'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt125=2;
 							int LA125_0 = input.LA(1);
 							if ( (LA125_0=='0') ) {
@@ -4318,10 +4319,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt125) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt124=2;
 									int LA124_0 = input.LA(1);
 									if ( (LA124_0=='0') ) {
@@ -4329,10 +4330,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt124) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:41: ( '0' ( '0' )? )?
 											int alt123=2;
 											int LA123_0 = input.LA(1);
 											if ( (LA123_0=='0') ) {
@@ -4340,10 +4341,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt123) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:46: ( '0' )?
 													int alt122=2;
 													int LA122_0 = input.LA(1);
 													if ( (LA122_0=='0') ) {
@@ -4351,7 +4352,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt122) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4384,8 +4385,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:66: ( '4' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1544:67: '4'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:66: ( '4' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:67: '4'
 							{
 							match('4'); if (state.failed) return;
 							}
@@ -4409,7 +4410,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "U"
 	public final void mU() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1549:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) )
 			int alt133=2;
 			int LA133_0 = input.LA(1);
 			if ( (LA133_0=='U'||LA133_0=='u') ) {
@@ -4428,7 +4429,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt133) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:21: ( 'u' | 'U' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1549:21: ( 'u' | 'U' )
 					{
 					if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
 						input.consume();
@@ -4443,10 +4444,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1548:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1549:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1551:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) )
 					int alt132=3;
 					switch ( input.LA(1) ) {
 					case 'u':
@@ -4474,21 +4475,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt132) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:31: 'u'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:31: 'u'
 							{
 							match('u'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1551:31: 'U'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1553:31: 'U'
 							{
 							match('U'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt131=2;
 							int LA131_0 = input.LA(1);
 							if ( (LA131_0=='0') ) {
@@ -4496,10 +4497,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt131) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt130=2;
 									int LA130_0 = input.LA(1);
 									if ( (LA130_0=='0') ) {
@@ -4507,10 +4508,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt130) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:41: ( '0' ( '0' )? )?
 											int alt129=2;
 											int LA129_0 = input.LA(1);
 											if ( (LA129_0=='0') ) {
@@ -4518,10 +4519,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt129) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:46: ( '0' )?
 													int alt128=2;
 													int LA128_0 = input.LA(1);
 													if ( (LA128_0=='0') ) {
@@ -4529,7 +4530,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt128) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4562,8 +4563,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:66: ( '5' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:67: '5'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:66: ( '5' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1554:67: '5'
 							{
 							match('5'); if (state.failed) return;
 							}
@@ -4587,7 +4588,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "V"
 	public final void mV() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1555:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) )
 			int alt139=2;
 			int LA139_0 = input.LA(1);
 			if ( (LA139_0=='V'||LA139_0=='v') ) {
@@ -4606,7 +4607,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt139) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1555:21: ( 'v' | 'V' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:21: ( 'v' | 'V' )
 					{
 					if ( input.LA(1)=='V'||input.LA(1)=='v' ) {
 						input.consume();
@@ -4621,10 +4622,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1556:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) )
 					int alt138=3;
 					switch ( input.LA(1) ) {
 					case 'v':
@@ -4652,21 +4653,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt138) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:31: 'v'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:31: 'v'
 							{
 							match('v'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1558:31: 'V'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1560:31: 'V'
 							{
 							match('V'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt137=2;
 							int LA137_0 = input.LA(1);
 							if ( (LA137_0=='0') ) {
@@ -4674,10 +4675,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt137) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt136=2;
 									int LA136_0 = input.LA(1);
 									if ( (LA136_0=='0') ) {
@@ -4685,10 +4686,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt136) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:41: ( '0' ( '0' )? )?
 											int alt135=2;
 											int LA135_0 = input.LA(1);
 											if ( (LA135_0=='0') ) {
@@ -4696,10 +4697,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt135) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:46: ( '0' )?
 													int alt134=2;
 													int LA134_0 = input.LA(1);
 													if ( (LA134_0=='0') ) {
@@ -4707,7 +4708,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt134) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4740,8 +4741,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:66: ( '6' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1559:67: '6'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:66: ( '6' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:67: '6'
 							{
 							match('6'); if (state.failed) return;
 							}
@@ -4765,7 +4766,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "W"
 	public final void mW() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1564:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) )
 			int alt145=2;
 			int LA145_0 = input.LA(1);
 			if ( (LA145_0=='W'||LA145_0=='w') ) {
@@ -4784,7 +4785,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt145) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:21: ( 'w' | 'W' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1564:21: ( 'w' | 'W' )
 					{
 					if ( input.LA(1)=='W'||input.LA(1)=='w' ) {
 						input.consume();
@@ -4799,10 +4800,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1563:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1565:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1564:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) )
 					int alt144=3;
 					switch ( input.LA(1) ) {
 					case 'w':
@@ -4830,21 +4831,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt144) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1565:31: 'w'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:31: 'w'
 							{
 							match('w'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:31: 'W'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1568:31: 'W'
 							{
 							match('W'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt143=2;
 							int LA143_0 = input.LA(1);
 							if ( (LA143_0=='0') ) {
@@ -4852,10 +4853,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt143) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt142=2;
 									int LA142_0 = input.LA(1);
 									if ( (LA142_0=='0') ) {
@@ -4863,10 +4864,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt142) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:41: ( '0' ( '0' )? )?
 											int alt141=2;
 											int LA141_0 = input.LA(1);
 											if ( (LA141_0=='0') ) {
@@ -4874,10 +4875,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt141) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:46: ( '0' )?
 													int alt140=2;
 													int LA140_0 = input.LA(1);
 													if ( (LA140_0=='0') ) {
@@ -4885,7 +4886,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt140) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -4918,8 +4919,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:66: ( '7' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1567:67: '7'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:66: ( '7' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:67: '7'
 							{
 							match('7'); if (state.failed) return;
 							}
@@ -4943,7 +4944,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "X"
 	public final void mX() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1570:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1572:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) )
 			int alt151=2;
 			int LA151_0 = input.LA(1);
 			if ( (LA151_0=='X'||LA151_0=='x') ) {
@@ -4962,7 +4963,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt151) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1570:21: ( 'x' | 'X' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1572:21: ( 'x' | 'X' )
 					{
 					if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
 						input.consume();
@@ -4977,10 +4978,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1573:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1572:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) )
 					int alt150=3;
 					switch ( input.LA(1) ) {
 					case 'x':
@@ -5008,21 +5009,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt150) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1573:31: 'x'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:31: 'x'
 							{
 							match('x'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:31: 'X'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1576:31: 'X'
 							{
 							match('X'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt149=2;
 							int LA149_0 = input.LA(1);
 							if ( (LA149_0=='0') ) {
@@ -5030,10 +5031,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt149) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt148=2;
 									int LA148_0 = input.LA(1);
 									if ( (LA148_0=='0') ) {
@@ -5041,10 +5042,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt148) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:41: ( '0' ( '0' )? )?
 											int alt147=2;
 											int LA147_0 = input.LA(1);
 											if ( (LA147_0=='0') ) {
@@ -5052,10 +5053,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt147) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:46: ( '0' )?
 													int alt146=2;
 													int LA146_0 = input.LA(1);
 													if ( (LA146_0=='0') ) {
@@ -5063,7 +5064,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt146) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5096,8 +5097,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:66: ( '8' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:67: '8'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:66: ( '8' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1577:67: '8'
 							{
 							match('8'); if (state.failed) return;
 							}
@@ -5121,7 +5122,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "Y"
 	public final void mY() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1578:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) )
 			int alt157=2;
 			int LA157_0 = input.LA(1);
 			if ( (LA157_0=='Y'||LA157_0=='y') ) {
@@ -5140,7 +5141,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt157) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1578:21: ( 'y' | 'Y' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:21: ( 'y' | 'Y' )
 					{
 					if ( input.LA(1)=='Y'||input.LA(1)=='y' ) {
 						input.consume();
@@ -5155,10 +5156,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1579:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) )
 					int alt156=3;
 					switch ( input.LA(1) ) {
 					case 'y':
@@ -5186,21 +5187,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt156) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:31: 'y'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:31: 'y'
 							{
 							match('y'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1582:31: 'Y'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1584:31: 'Y'
 							{
 							match('Y'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt155=2;
 							int LA155_0 = input.LA(1);
 							if ( (LA155_0=='0') ) {
@@ -5208,10 +5209,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt155) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt154=2;
 									int LA154_0 = input.LA(1);
 									if ( (LA154_0=='0') ) {
@@ -5219,10 +5220,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt154) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:41: ( '0' ( '0' )? )?
 											int alt153=2;
 											int LA153_0 = input.LA(1);
 											if ( (LA153_0=='0') ) {
@@ -5230,10 +5231,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt153) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:46: ( '0' )?
 													int alt152=2;
 													int LA152_0 = input.LA(1);
 													if ( (LA152_0=='0') ) {
@@ -5241,7 +5242,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt152) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5274,8 +5275,8 @@ public class Css3Lexer extends Lexer {
 								recover(mse);
 								throw mse;
 							}
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:66: ( '9' )
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1583:67: '9'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:66: ( '9' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:67: '9'
 							{
 							match('9'); if (state.failed) return;
 							}
@@ -5299,7 +5300,7 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "Z"
 	public final void mZ() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1586:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1588:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) )
 			int alt163=2;
 			int LA163_0 = input.LA(1);
 			if ( (LA163_0=='Z'||LA163_0=='z') ) {
@@ -5318,7 +5319,7 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt163) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1586:21: ( 'z' | 'Z' )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1588:21: ( 'z' | 'Z' )
 					{
 					if ( input.LA(1)=='Z'||input.LA(1)=='z' ) {
 						input.consume();
@@ -5333,10 +5334,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1587:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1589:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
 					{
 					match('\\'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1588:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) )
 					int alt162=3;
 					switch ( input.LA(1) ) {
 					case 'z':
@@ -5364,21 +5365,21 @@ public class Css3Lexer extends Lexer {
 					}
 					switch (alt162) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1589:31: 'z'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:31: 'z'
 							{
 							match('z'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:31: 'Z'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1592:31: 'Z'
 							{
 							match('Z'); if (state.failed) return;
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' )
 							{
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )?
 							int alt161=2;
 							int LA161_0 = input.LA(1);
 							if ( (LA161_0=='0') ) {
@@ -5386,10 +5387,10 @@ public class Css3Lexer extends Lexer {
 							}
 							switch (alt161) {
 								case 1 :
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:32: '0' ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:32: '0' ( '0' ( '0' ( '0' )? )? )?
 									{
 									match('0'); if (state.failed) return;
-									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:36: ( '0' ( '0' ( '0' )? )? )?
+									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:36: ( '0' ( '0' ( '0' )? )? )?
 									int alt160=2;
 									int LA160_0 = input.LA(1);
 									if ( (LA160_0=='0') ) {
@@ -5397,10 +5398,10 @@ public class Css3Lexer extends Lexer {
 									}
 									switch (alt160) {
 										case 1 :
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:37: '0' ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:37: '0' ( '0' ( '0' )? )?
 											{
 											match('0'); if (state.failed) return;
-											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:41: ( '0' ( '0' )? )?
+											// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:41: ( '0' ( '0' )? )?
 											int alt159=2;
 											int LA159_0 = input.LA(1);
 											if ( (LA159_0=='0') ) {
@@ -5408,10 +5409,10 @@ public class Css3Lexer extends Lexer {
 											}
 											switch (alt159) {
 												case 1 :
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:42: '0' ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:42: '0' ( '0' )?
 													{
 													match('0'); if (state.failed) return;
-													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:46: ( '0' )?
+													// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:46: ( '0' )?
 													int alt158=2;
 													int LA158_0 = input.LA(1);
 													if ( (LA158_0=='0') ) {
@@ -5419,7 +5420,7 @@ public class Css3Lexer extends Lexer {
 													}
 													switch (alt158) {
 														case 1 :
-															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:46: '0'
+															// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1593:46: '0'
 															{
 															match('0'); if (state.failed) return;
 															}
@@ -5483,8 +5484,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CDO;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:17: ( '<!--' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:19: '<!--'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:17: ( '<!--' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:19: '<!--'
 			{
 			match("<!--"); if (state.failed) return;
 
@@ -5507,8 +5508,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CDC;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1616:17: ( '-->' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1616:19: '-->'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1618:17: ( '-->' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1618:19: '-->'
 			{
 			match("-->"); if (state.failed) return;
 
@@ -5531,8 +5532,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = INCLUDES;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1623:17: ( '~=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1623:19: '~='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1625:17: ( '~=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1625:19: '~='
 			{
 			match("~="); if (state.failed) return;
 
@@ -5552,8 +5553,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = DASHMATCH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1624:17: ( '|=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1624:19: '|='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1626:17: ( '|=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1626:19: '|='
 			{
 			match("|="); if (state.failed) return;
 
@@ -5573,8 +5574,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BEGINS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1625:17: ( '^=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1625:19: '^='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1627:17: ( '^=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1627:19: '^='
 			{
 			match("^="); if (state.failed) return;
 
@@ -5594,8 +5595,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = ENDS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1626:17: ( '$=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1626:19: '$='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1628:17: ( '$=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1628:19: '$='
 			{
 			match("$="); if (state.failed) return;
 
@@ -5615,8 +5616,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CONTAINS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1627:17: ( '*=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1627:19: '*='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:17: ( '*=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:19: '*='
 			{
 			match("*="); if (state.failed) return;
 
@@ -5636,8 +5637,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = GREATER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:17: ( '>' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1629:19: '>'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1631:17: ( '>' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1631:19: '>'
 			{
 			match('>'); if (state.failed) return;
 			}
@@ -5656,8 +5657,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LBRACE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1630:17: ( '{' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1630:19: '{'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:17: ( '{' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:19: '{'
 			{
 			match('{'); if (state.failed) return;
 			}
@@ -5676,8 +5677,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RBRACE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1631:17: ( '}' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1631:19: '}'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1633:17: ( '}' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1633:19: '}'
 			{
 			match('}'); if (state.failed) return;
 			}
@@ -5696,8 +5697,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LBRACKET;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:17: ( '[' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1632:19: '['
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1634:17: ( '[' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1634:19: '['
 			{
 			match('['); if (state.failed) return;
 			}
@@ -5716,8 +5717,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RBRACKET;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1633:17: ( ']' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1633:19: ']'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1635:17: ( ']' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1635:19: ']'
 			{
 			match(']'); if (state.failed) return;
 			}
@@ -5736,8 +5737,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = OPEQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1634:17: ( '=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1634:19: '='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1636:17: ( '=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1636:19: '='
 			{
 			match('='); if (state.failed) return;
 			}
@@ -5756,8 +5757,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SEMI;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1635:17: ( ';' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1635:19: ';'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:17: ( ';' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:19: ';'
 			{
 			match(';'); if (state.failed) return;
 			}
@@ -5776,8 +5777,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = COLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1636:17: ( ':' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1636:19: ':'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1638:17: ( ':' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1638:19: ':'
 			{
 			match(':'); if (state.failed) return;
 			}
@@ -5796,8 +5797,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = DCOLON;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:17: ( '::' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1637:19: '::'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1639:17: ( '::' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1639:19: '::'
 			{
 			match("::"); if (state.failed) return;
 
@@ -5817,8 +5818,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SOLIDUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1638:17: ( '/' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1638:19: '/'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1640:17: ( '/' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1640:19: '/'
 			{
 			match('/'); if (state.failed) return;
 			}
@@ -5837,8 +5838,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MINUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1639:17: ( '-' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1639:19: '-'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1641:17: ( '-' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1641:19: '-'
 			{
 			match('-'); if (state.failed) return;
 			}
@@ -5857,8 +5858,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = PLUS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1640:17: ( '+' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1640:19: '+'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1642:17: ( '+' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1642:19: '+'
 			{
 			match('+'); if (state.failed) return;
 			}
@@ -5877,8 +5878,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = STAR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1641:17: ( '*' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1641:19: '*'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1643:17: ( '*' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1643:19: '*'
 			{
 			match('*'); if (state.failed) return;
 			}
@@ -5897,8 +5898,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LPAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1642:17: ( '(' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1642:19: '('
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1644:17: ( '(' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1644:19: '('
 			{
 			match('('); if (state.failed) return;
 			}
@@ -5917,8 +5918,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RPAREN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1643:17: ( ')' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1643:19: ')'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1645:17: ( ')' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1645:19: ')'
 			{
 			match(')'); if (state.failed) return;
 			}
@@ -5937,8 +5938,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = COMMA;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1644:17: ( ',' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1644:19: ','
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1646:17: ( ',' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1646:19: ','
 			{
 			match(','); if (state.failed) return;
 			}
@@ -5957,8 +5958,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = DOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1645:17: ( '.' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1645:19: '.'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1647:17: ( '.' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1647:19: '.'
 			{
 			match('.'); if (state.failed) return;
 			}
@@ -5977,8 +5978,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TILDE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1646:8: ( '~' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1646:10: '~'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1648:8: ( '~' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1648:10: '~'
 			{
 			match('~'); if (state.failed) return;
 			}
@@ -5997,8 +5998,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = PIPE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1647:17: ( '|' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1647:19: '|'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:17: ( '|' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:19: '|'
 			{
 			match('|'); if (state.failed) return;
 			}
@@ -6017,8 +6018,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = PERCENTAGE_SYMBOL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:17: ( '%' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1649:19: '%'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1651:17: ( '%' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1651:19: '%'
 			{
 			match('%'); if (state.failed) return;
 			}
@@ -6037,8 +6038,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = EXCLAMATION_MARK;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1650:17: ( '!' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1650:19: '!'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1652:17: ( '!' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1652:19: '!'
 			{
 			match('!'); if (state.failed) return;
 			}
@@ -6057,8 +6058,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CP_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1652:17: ( '==' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1652:19: '=='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1654:17: ( '==' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1654:19: '=='
 			{
 			match("=="); if (state.failed) return;
 
@@ -6078,8 +6079,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CP_NOT_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1653:17: ( '!=' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1653:19: '!='
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:17: ( '!=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:19: '!='
 			{
 			match("!="); if (state.failed) return;
 
@@ -6099,8 +6100,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LESS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1654:17: ( '<' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1654:19: '<'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1656:17: ( '<' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1656:19: '<'
 			{
 			match('<'); if (state.failed) return;
 			}
@@ -6119,7 +6120,7 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = GREATER_OR_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:17: ( '>=' | '=>' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:17: ( '>=' | '=>' )
 			int alt164=2;
 			int LA164_0 = input.LA(1);
 			if ( (LA164_0=='>') ) {
@@ -6138,14 +6139,14 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt164) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:19: '>='
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:19: '>='
 					{
 					match(">="); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:26: '=>'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:26: '=>'
 					{
 					match("=>"); if (state.failed) return;
 
@@ -6167,7 +6168,7 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LESS_OR_EQ;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1656:17: ( '=<' | '<=' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1658:17: ( '=<' | '<=' )
 			int alt165=2;
 			int LA165_0 = input.LA(1);
 			if ( (LA165_0=='=') ) {
@@ -6186,14 +6187,14 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt165) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1656:19: '=<'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1658:19: '=<'
 					{
 					match("=<"); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1656:26: '<='
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1658:26: '<='
 					{
 					match("<="); if (state.failed) return;
 
@@ -6215,11 +6216,11 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LESS_AND;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:17: ( '&' ( '-' )* )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:19: '&' ( '-' )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:17: ( '&' ( '-' )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:19: '&' ( '-' )*
 			{
 			match('&'); if (state.failed) return;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:23: ( '-' )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:23: ( '-' )*
 			loop166:
 			while (true) {
 				int alt166=2;
@@ -6230,7 +6231,7 @@ public class Css3Lexer extends Lexer {
 
 				switch (alt166) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:23: '-'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:23: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
@@ -6257,8 +6258,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CP_DOTS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1658:17: ( '...' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1658:19: '...'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1660:17: ( '...' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1660:19: '...'
 			{
 			match("..."); if (state.failed) return;
 
@@ -6278,8 +6279,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LESS_REST;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:17: ( '@rest...' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:19: '@rest...'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1661:17: ( '@rest...' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1661:19: '@rest...'
 			{
 			match("@rest..."); if (state.failed) return;
 
@@ -6297,8 +6298,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "INVALID"
 	public final void mINVALID() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1664:21: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1664:22: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1666:21: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1666:22: 
 			{
 			}
 
@@ -6314,7 +6315,7 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = STRING;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) )
 			int alt171=2;
 			int LA171_0 = input.LA(1);
 			if ( (LA171_0=='\'') ) {
@@ -6333,10 +6334,10 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt171) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |)
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |)
 					{
 					match('\''); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:24: (~ ( '\\r' | '\\f' | '\\'' ) )*
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:24: (~ ( '\\r' | '\\f' | '\\'' ) )*
 					loop167:
 					while (true) {
 						int alt167=2;
@@ -6367,7 +6368,7 @@ public class Css3Lexer extends Lexer {
 						}
 					}
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1666:21: ( '\\'' |)
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1668:21: ( '\\'' |)
 					int alt168=2;
 					int LA168_0 = input.LA(1);
 					if ( (LA168_0=='\'') ) {
@@ -6380,13 +6381,13 @@ public class Css3Lexer extends Lexer {
 
 					switch (alt168) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:27: '\\''
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:27: '\\''
 							{
 							match('\''); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1668:27: 
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:27: 
 							{
 							if ( state.backtracking==0 ) { _type = INVALID; }
 							}
@@ -6397,10 +6398,10 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |)
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |)
 					{
 					match('\"'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )*
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )*
 					loop169:
 					while (true) {
 						int alt169=4;
@@ -6442,21 +6443,21 @@ public class Css3Lexer extends Lexer {
 
 						switch (alt169) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:26: ( '\\\\\\\"' )=> '\\\\\\\"'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:26: ( '\\\\\\\"' )=> '\\\\\\\"'
 							{
 							match("\\\""); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:47: ( '\\\\\\\\' )=> '\\\\\\\\'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:47: ( '\\\\\\\\' )=> '\\\\\\\\'
 							{
 							match("\\\\"); if (state.failed) return;
 
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:68: ~ ( '\\r' | '\\f' | '\"' )
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:68: ~ ( '\\r' | '\\f' | '\"' )
 							{
 							if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\u000B')||(input.LA(1) >= '\u000E' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) {
 								input.consume();
@@ -6476,7 +6477,7 @@ public class Css3Lexer extends Lexer {
 						}
 					}
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1672:21: ( '\"' |)
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1674:21: ( '\"' |)
 					int alt170=2;
 					int LA170_0 = input.LA(1);
 					if ( (LA170_0=='\"') ) {
@@ -6489,13 +6490,13 @@ public class Css3Lexer extends Lexer {
 
 					switch (alt170) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:27: '\"'
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1675:27: '\"'
 							{
 							match('\"'); if (state.failed) return;
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1674:27: 
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:27: 
 							{
 							if ( state.backtracking==0 ) { _type = INVALID; }
 							}
@@ -6521,11 +6522,11 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LESS_JS_STRING;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |)
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |)
 			{
 			match('`'); if (state.failed) return;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:23: (~ ( '\\r' | '\\f' | '`' ) )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:23: (~ ( '\\r' | '\\f' | '`' ) )*
 			loop172:
 			while (true) {
 				int alt172=2;
@@ -6556,7 +6557,7 @@ public class Css3Lexer extends Lexer {
 				}
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1679:21: ( '`' |)
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:21: ( '`' |)
 			int alt173=2;
 			int LA173_0 = input.LA(1);
 			if ( (LA173_0=='`') ) {
@@ -6569,13 +6570,13 @@ public class Css3Lexer extends Lexer {
 
 			switch (alt173) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:27: '`'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1682:27: '`'
 					{
 					match('`'); if (state.failed) return;
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:27: 
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1683:27: 
 					{
 					if ( state.backtracking==0 ) { _type = INVALID; }
 					}
@@ -6599,8 +6600,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = NOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:6: ( 'NOT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:8: 'NOT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1687:6: ( 'NOT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1687:8: 'NOT'
 			{
 			match("NOT"); if (state.failed) return;
 
@@ -6615,23 +6616,69 @@ public class Css3Lexer extends Lexer {
 	}
 	// $ANTLR end "NOT"
 
+	// $ANTLR start "VARIABLE"
+	public final void mVARIABLE() throws RecognitionException {
+		try {
+			int _type = VARIABLE;
+			int _channel = DEFAULT_TOKEN_CHANNEL;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:17: ( '--' NMSTART ( NMCHAR )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:19: '--' NMSTART ( NMCHAR )*
+			{
+			match("--"); if (state.failed) return;
+
+			mNMSTART(); if (state.failed) return;
+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:32: ( NMCHAR )*
+			loop174:
+			while (true) {
+				int alt174=2;
+				int LA174_0 = input.LA(1);
+				if ( (LA174_0=='-'||(LA174_0 >= '0' && LA174_0 <= '9')||(LA174_0 >= 'A' && LA174_0 <= 'Z')||LA174_0=='\\'||LA174_0=='_'||(LA174_0 >= 'a' && LA174_0 <= 'z')||(LA174_0 >= '\u0080' && LA174_0 <= '\uFFFF')) ) {
+					alt174=1;
+				}
+
+				switch (alt174) {
+				case 1 :
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:32: NMCHAR
+					{
+					mNMCHAR(); if (state.failed) return;
+
+					}
+					break;
+
+				default :
+					break loop174;
+				}
+			}
+
+			}
+
+			state.type = _type;
+			state.channel = _channel;
+		}
+		finally {
+			// do for sure before leaving
+		}
+	}
+	// $ANTLR end "VARIABLE"
+
 	// $ANTLR start "IDENT"
 	public final void mIDENT() throws RecognitionException {
 		try {
 			int _type = IDENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:17: ( ( '-' )? NMSTART ( NMCHAR )* )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:19: ( '-' )? NMSTART ( NMCHAR )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:17: ( ( '-' )? NMSTART ( NMCHAR )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:19: ( '-' )? NMSTART ( NMCHAR )*
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:19: ( '-' )?
-			int alt174=2;
-			int LA174_0 = input.LA(1);
-			if ( (LA174_0=='-') ) {
-				alt174=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:19: ( '-' )?
+			int alt175=2;
+			int LA175_0 = input.LA(1);
+			if ( (LA175_0=='-') ) {
+				alt175=1;
 			}
-			switch (alt174) {
+			switch (alt175) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:19: '-'
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:19: '-'
 					{
 					match('-'); if (state.failed) return;
 					}
@@ -6641,18 +6688,18 @@ public class Css3Lexer extends Lexer {
 
 			mNMSTART(); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:32: ( NMCHAR )*
-			loop175:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:32: ( NMCHAR )*
+			loop176:
 			while (true) {
-				int alt175=2;
-				int LA175_0 = input.LA(1);
-				if ( (LA175_0=='-'||(LA175_0 >= '0' && LA175_0 <= '9')||(LA175_0 >= 'A' && LA175_0 <= 'Z')||LA175_0=='\\'||LA175_0=='_'||(LA175_0 >= 'a' && LA175_0 <= 'z')||(LA175_0 >= '\u0080' && LA175_0 <= '\uFFFF')) ) {
-					alt175=1;
+				int alt176=2;
+				int LA176_0 = input.LA(1);
+				if ( (LA176_0=='-'||(LA176_0 >= '0' && LA176_0 <= '9')||(LA176_0 >= 'A' && LA176_0 <= 'Z')||LA176_0=='\\'||LA176_0=='_'||(LA176_0 >= 'a' && LA176_0 <= 'z')||(LA176_0 >= '\u0080' && LA176_0 <= '\uFFFF')) ) {
+					alt176=1;
 				}
 
-				switch (alt175) {
+				switch (alt176) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:32: NMCHAR
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:32: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -6660,7 +6707,7 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					break loop175;
+					break loop176;
 				}
 			}
 
@@ -6680,8 +6727,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = HASH_SYMBOL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1695:17: ( '#' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1695:19: '#'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:17: ( '#' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:19: '#'
 			{
 			match('#'); if (state.failed) return;
 			}
@@ -6700,8 +6747,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = HASH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:17: ( HASH_SYMBOL NAME )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:19: HASH_SYMBOL NAME
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:17: ( HASH_SYMBOL NAME )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:19: HASH_SYMBOL NAME
 			{
 			mHASH_SYMBOL(); if (state.failed) return;
 
@@ -6723,33 +6770,33 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = IMPORTANT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT'
 			{
 			mEXCLAMATION_MARK(); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:36: ( WS | COMMENT )*
-			loop176:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:36: ( WS | COMMENT )*
+			loop177:
 			while (true) {
-				int alt176=3;
-				int LA176_0 = input.LA(1);
-				if ( (LA176_0=='\t'||LA176_0==' ') ) {
-					alt176=1;
+				int alt177=3;
+				int LA177_0 = input.LA(1);
+				if ( (LA177_0=='\t'||LA177_0==' ') ) {
+					alt177=1;
 				}
-				else if ( (LA176_0=='/') ) {
-					alt176=2;
+				else if ( (LA177_0=='/') ) {
+					alt177=2;
 				}
 
-				switch (alt176) {
+				switch (alt177) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:37: WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:37: WS
 					{
 					mWS(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:40: COMMENT
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:40: COMMENT
 					{
 					mCOMMENT(); if (state.failed) return;
 
@@ -6757,7 +6804,7 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					break loop176;
+					break loop177;
 				}
 			}
 
@@ -6779,8 +6826,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = IMPORT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1700:21: ( '@IMPORT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1700:23: '@IMPORT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1706:21: ( '@IMPORT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1706:23: '@IMPORT'
 			{
 			match("@IMPORT"); if (state.failed) return;
 
@@ -6800,8 +6847,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = PAGE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:21: ( '@PAGE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:23: '@PAGE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1707:21: ( '@PAGE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1707:23: '@PAGE'
 			{
 			match("@PAGE"); if (state.failed) return;
 
@@ -6821,8 +6868,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MEDIA_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:21: ( '@MEDIA' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:23: '@MEDIA'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:21: ( '@MEDIA' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:23: '@MEDIA'
 			{
 			match("@MEDIA"); if (state.failed) return;
 
@@ -6842,8 +6889,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = NAMESPACE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:21: ( '@NAMESPACE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1703:23: '@NAMESPACE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:21: ( '@NAMESPACE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:23: '@NAMESPACE'
 			{
 			match("@NAMESPACE"); if (state.failed) return;
 
@@ -6863,8 +6910,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = CHARSET_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:21: ( '@CHARSET' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:23: '@CHARSET'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:21: ( '@CHARSET' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:23: '@CHARSET'
 			{
 			match("@CHARSET"); if (state.failed) return;
 
@@ -6884,8 +6931,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = COUNTER_STYLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:21: ( '@COUNTER-STYLE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:23: '@COUNTER-STYLE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:21: ( '@COUNTER-STYLE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:23: '@COUNTER-STYLE'
 			{
 			match("@COUNTER-STYLE"); if (state.failed) return;
 
@@ -6905,8 +6952,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = FONT_FACE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1706:21: ( '@FONT-FACE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1706:23: '@FONT-FACE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:21: ( '@FONT-FACE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:23: '@FONT-FACE'
 			{
 			match("@FONT-FACE"); if (state.failed) return;
 
@@ -6926,8 +6973,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TOPLEFTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:23: ( '@TOP-LEFT-CORNER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:24: '@TOP-LEFT-CORNER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:23: ( '@TOP-LEFT-CORNER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:24: '@TOP-LEFT-CORNER'
 			{
 			match("@TOP-LEFT-CORNER"); if (state.failed) return;
 
@@ -6947,8 +6994,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TOPLEFT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:23: ( '@TOP-LEFT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:24: '@TOP-LEFT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:23: ( '@TOP-LEFT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:24: '@TOP-LEFT'
 			{
 			match("@TOP-LEFT"); if (state.failed) return;
 
@@ -6968,8 +7015,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TOPCENTER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:23: ( '@TOP-CENTER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:24: '@TOP-CENTER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:23: ( '@TOP-CENTER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:24: '@TOP-CENTER'
 			{
 			match("@TOP-CENTER"); if (state.failed) return;
 
@@ -6989,8 +7036,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TOPRIGHT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:23: ( '@TOP-RIGHT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:24: '@TOP-RIGHT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:23: ( '@TOP-RIGHT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:24: '@TOP-RIGHT'
 			{
 			match("@TOP-RIGHT"); if (state.failed) return;
 
@@ -7010,8 +7057,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = TOPRIGHTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:23: ( '@TOP-RIGHT-CORNER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:24: '@TOP-RIGHT-CORNER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:23: ( '@TOP-RIGHT-CORNER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:24: '@TOP-RIGHT-CORNER'
 			{
 			match("@TOP-RIGHT-CORNER"); if (state.failed) return;
 
@@ -7031,8 +7078,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BOTTOMLEFTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:23: ( '@BOTTOM-LEFT-CORNER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:24: '@BOTTOM-LEFT-CORNER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:23: ( '@BOTTOM-LEFT-CORNER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:24: '@BOTTOM-LEFT-CORNER'
 			{
 			match("@BOTTOM-LEFT-CORNER"); if (state.failed) return;
 
@@ -7052,8 +7099,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BOTTOMLEFT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:23: ( '@BOTTOM-LEFT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:24: '@BOTTOM-LEFT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:23: ( '@BOTTOM-LEFT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:24: '@BOTTOM-LEFT'
 			{
 			match("@BOTTOM-LEFT"); if (state.failed) return;
 
@@ -7073,8 +7120,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BOTTOMCENTER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:23: ( '@BOTTOM-CENTER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:24: '@BOTTOM-CENTER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:23: ( '@BOTTOM-CENTER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:24: '@BOTTOM-CENTER'
 			{
 			match("@BOTTOM-CENTER"); if (state.failed) return;
 
@@ -7094,8 +7141,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BOTTOMRIGHT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:23: ( '@BOTTOM-RIGHT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:24: '@BOTTOM-RIGHT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:23: ( '@BOTTOM-RIGHT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:24: '@BOTTOM-RIGHT'
 			{
 			match("@BOTTOM-RIGHT"); if (state.failed) return;
 
@@ -7115,8 +7162,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = BOTTOMRIGHTCORNER_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:23: ( '@BOTTOM-RIGHT-CORNER' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:24: '@BOTTOM-RIGHT-CORNER'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1723:23: ( '@BOTTOM-RIGHT-CORNER' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1723:24: '@BOTTOM-RIGHT-CORNER'
 			{
 			match("@BOTTOM-RIGHT-CORNER"); if (state.failed) return;
 
@@ -7136,8 +7183,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LEFTTOP_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:23: ( '@LEFT-TOP' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:24: '@LEFT-TOP'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:23: ( '@LEFT-TOP' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:24: '@LEFT-TOP'
 			{
 			match("@LEFT-TOP"); if (state.failed) return;
 
@@ -7157,8 +7204,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LEFTMIDDLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:23: ( '@LEFT-MIDDLE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:24: '@LEFT-MIDDLE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:23: ( '@LEFT-MIDDLE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:24: '@LEFT-MIDDLE'
 			{
 			match("@LEFT-MIDDLE"); if (state.failed) return;
 
@@ -7178,8 +7225,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LEFTBOTTOM_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:23: ( '@LEFT-BOTTOM' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:24: '@LEFT-BOTTOM'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:23: ( '@LEFT-BOTTOM' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:24: '@LEFT-BOTTOM'
 			{
 			match("@LEFT-BOTTOM"); if (state.failed) return;
 
@@ -7199,8 +7246,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RIGHTTOP_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:23: ( '@RIGHT-TOP' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:24: '@RIGHT-TOP'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:23: ( '@RIGHT-TOP' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:24: '@RIGHT-TOP'
 			{
 			match("@RIGHT-TOP"); if (state.failed) return;
 
@@ -7220,8 +7267,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RIGHTMIDDLE_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:23: ( '@RIGHT-MIDDLE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:24: '@RIGHT-MIDDLE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1728:23: ( '@RIGHT-MIDDLE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1728:24: '@RIGHT-MIDDLE'
 			{
 			match("@RIGHT-MIDDLE"); if (state.failed) return;
 
@@ -7241,8 +7288,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = RIGHTBOTTOM_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1723:23: ( '@RIGHT-BOTTOM' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1723:24: '@RIGHT-BOTTOM'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1729:23: ( '@RIGHT-BOTTOM' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1729:24: '@RIGHT-BOTTOM'
 			{
 			match("@RIGHT-BOTTOM"); if (state.failed) return;
 
@@ -7262,8 +7309,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MOZ_DOCUMENT_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:23: ( '@-MOZ-DOCUMENT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:25: '@-MOZ-DOCUMENT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:23: ( '@-MOZ-DOCUMENT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:25: '@-MOZ-DOCUMENT'
 			{
 			match("@-MOZ-DOCUMENT"); if (state.failed) return;
 
@@ -7283,8 +7330,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = WEBKIT_KEYFRAMES_SYM;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:23: ( '@-WEBKIT-KEYFRAMES' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:25: '@-WEBKIT-KEYFRAMES'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:23: ( '@-WEBKIT-KEYFRAMES' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:25: '@-WEBKIT-KEYFRAMES'
 			{
 			match("@-WEBKIT-KEYFRAMES"); if (state.failed) return;
 
@@ -7304,8 +7351,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_CONTENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1729:21: ( '@CONTENT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1729:23: '@CONTENT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:21: ( '@CONTENT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:23: '@CONTENT'
 			{
 			match("@CONTENT"); if (state.failed) return;
 
@@ -7325,8 +7372,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_MIXIN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1730:21: ( '@MIXIN' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1730:23: '@MIXIN'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1736:21: ( '@MIXIN' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1736:23: '@MIXIN'
 			{
 			match("@MIXIN"); if (state.failed) return;
 
@@ -7346,8 +7393,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_INCLUDE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:21: ( '@INCLUDE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:23: '@INCLUDE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1737:21: ( '@INCLUDE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1737:23: '@INCLUDE'
 			{
 			match("@INCLUDE"); if (state.failed) return;
 
@@ -7367,8 +7414,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_EXTEND;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:21: ( '@EXTEND' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:23: '@EXTEND'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:21: ( '@EXTEND' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:23: '@EXTEND'
 			{
 			match("@EXTEND"); if (state.failed) return;
 
@@ -7388,8 +7435,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_DEBUG;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1733:21: ( '@DEBUG' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1733:23: '@DEBUG'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:21: ( '@DEBUG' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:23: '@DEBUG'
 			{
 			match("@DEBUG"); if (state.failed) return;
 
@@ -7409,8 +7456,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_ERROR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1734:21: ( '@ERROR' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1734:23: '@ERROR'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:21: ( '@ERROR' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:23: '@ERROR'
 			{
 			match("@ERROR"); if (state.failed) return;
 
@@ -7430,8 +7477,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_WARN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:21: ( '@WARN' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:23: '@WARN'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1741:21: ( '@WARN' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1741:23: '@WARN'
 			{
 			match("@WARN"); if (state.failed) return;
 
@@ -7451,8 +7498,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_IF;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1736:21: ( '@IF' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1736:23: '@IF'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1742:21: ( '@IF' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1742:23: '@IF'
 			{
 			match("@IF"); if (state.failed) return;
 
@@ -7472,8 +7519,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_ELSE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1737:21: ( '@ELSE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1737:23: '@ELSE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:21: ( '@ELSE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:23: '@ELSE'
 			{
 			match("@ELSE"); if (state.failed) return;
 
@@ -7493,8 +7540,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_ELSEIF;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:21: ( '@ELSEIF' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:23: '@ELSEIF'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1744:21: ( '@ELSEIF' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1744:23: '@ELSEIF'
 			{
 			match("@ELSEIF"); if (state.failed) return;
 
@@ -7514,8 +7561,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_FOR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:21: ( '@FOR' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:23: '@FOR'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:21: ( '@FOR' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:23: '@FOR'
 			{
 			match("@FOR"); if (state.failed) return;
 
@@ -7535,8 +7582,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_FUNCTION;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:21: ( '@FUNCTION' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:23: '@FUNCTION'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:21: ( '@FUNCTION' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:23: '@FUNCTION'
 			{
 			match("@FUNCTION"); if (state.failed) return;
 
@@ -7556,8 +7603,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_RETURN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1741:21: ( '@RETURN' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1741:23: '@RETURN'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:21: ( '@RETURN' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:23: '@RETURN'
 			{
 			match("@RETURN"); if (state.failed) return;
 
@@ -7577,8 +7624,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_EACH;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:21: ( '@EACH' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:23: '@EACH'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1749:21: ( '@EACH' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1749:23: '@EACH'
 			{
 			match("@EACH"); if (state.failed) return;
 
@@ -7598,8 +7645,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_WHILE;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1744:21: ( '@WHILE' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1744:23: '@WHILE'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:21: ( '@WHILE' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:23: '@WHILE'
 			{
 			match("@WHILE"); if (state.failed) return;
 
@@ -7619,8 +7666,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_AT_ROOT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:21: ( '@AT-ROOT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:23: '@AT-ROOT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:21: ( '@AT-ROOT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:23: '@AT-ROOT'
 			{
 			match("@AT-ROOT"); if (state.failed) return;
 
@@ -7640,8 +7687,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = AT_SIGN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:21: ( '@' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:23: '@'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:21: ( '@' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:23: '@'
 			{
 			match('@'); if (state.failed) return;
 			}
@@ -7660,19 +7707,19 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = AT_IDENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) )
-			int alt177=2;
-			int LA177_0 = input.LA(1);
-			if ( (LA177_0=='@') ) {
-				int LA177_1 = input.LA(2);
-				if ( (LA177_1=='-'||(LA177_1 >= '0' && LA177_1 <= '9')||(LA177_1 >= 'A' && LA177_1 <= 'Z')||LA177_1=='\\'||LA177_1=='_'||(LA177_1 >= 'a' && LA177_1 <= 'z')||(LA177_1 >= '\u0080' && LA177_1 <= '\uFFFF')) ) {
-					alt177=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) )
+			int alt178=2;
+			int LA178_0 = input.LA(1);
+			if ( (LA178_0=='@') ) {
+				int LA178_1 = input.LA(2);
+				if ( (LA178_1=='-'||(LA178_1 >= '0' && LA178_1 <= '9')||(LA178_1 >= 'A' && LA178_1 <= 'Z')||LA178_1=='\\'||LA178_1=='_'||(LA178_1 >= 'a' && LA178_1 <= 'z')||(LA178_1 >= '\u0080' && LA178_1 <= '\uFFFF')) ) {
+					alt178=1;
 				}
-				else if ( (LA177_1=='@') ) {
-					alt177=2;
+				else if ( (LA178_1=='@') ) {
+					alt178=2;
 				}
 
 				else {
@@ -7681,7 +7728,7 @@ public class Css3Lexer extends Lexer {
 					try {
 						input.consume();
 						NoViableAltException nvae =
-							new NoViableAltException("", 177, 1, input);
+							new NoViableAltException("", 178, 1, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -7693,23 +7740,23 @@ public class Css3Lexer extends Lexer {
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 177, 0, input);
+					new NoViableAltException("", 178, 0, input);
 				throw nvae;
 			}
 
-			switch (alt177) {
+			switch (alt178) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:17: AT_SIGN
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:17: AT_SIGN
 					{
 					mAT_SIGN(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:27: ( AT_SIGN AT_SIGN )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:27: ( AT_SIGN AT_SIGN )
 					{
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:27: ( AT_SIGN AT_SIGN )
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:28: AT_SIGN AT_SIGN
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:27: ( AT_SIGN AT_SIGN )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:28: AT_SIGN AT_SIGN
 					{
 					mAT_SIGN(); if (state.failed) return;
 
@@ -7722,19 +7769,19 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:46: ( NMCHAR )+
-			int cnt178=0;
-			loop178:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:46: ( NMCHAR )+
+			int cnt179=0;
+			loop179:
 			while (true) {
-				int alt178=2;
-				int LA178_0 = input.LA(1);
-				if ( (LA178_0=='-'||(LA178_0 >= '0' && LA178_0 <= '9')||(LA178_0 >= 'A' && LA178_0 <= 'Z')||LA178_0=='\\'||LA178_0=='_'||(LA178_0 >= 'a' && LA178_0 <= 'z')||(LA178_0 >= '\u0080' && LA178_0 <= '\uFFFF')) ) {
-					alt178=1;
+				int alt179=2;
+				int LA179_0 = input.LA(1);
+				if ( (LA179_0=='-'||(LA179_0 >= '0' && LA179_0 <= '9')||(LA179_0 >= 'A' && LA179_0 <= 'Z')||LA179_0=='\\'||LA179_0=='_'||(LA179_0 >= 'a' && LA179_0 <= 'z')||(LA179_0 >= '\u0080' && LA179_0 <= '\uFFFF')) ) {
+					alt179=1;
 				}
 
-				switch (alt178) {
+				switch (alt179) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:46: NMCHAR
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:46: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7742,12 +7789,12 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					if ( cnt178 >= 1 ) break loop178;
+					if ( cnt179 >= 1 ) break loop179;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(178, input);
+					EarlyExitException eee = new EarlyExitException(179, input);
 					throw eee;
 				}
-				cnt178++;
+				cnt179++;
 			}
 
 			}
@@ -7766,23 +7813,23 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_VAR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:21: ( '$' ( NMCHAR )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:23: '$' ( NMCHAR )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:21: ( '$' ( NMCHAR )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:23: '$' ( NMCHAR )+
 			{
 			match('$'); if (state.failed) return;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:27: ( NMCHAR )+
-			int cnt179=0;
-			loop179:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:27: ( NMCHAR )+
+			int cnt180=0;
+			loop180:
 			while (true) {
-				int alt179=2;
-				int LA179_0 = input.LA(1);
-				if ( (LA179_0=='-'||(LA179_0 >= '0' && LA179_0 <= '9')||(LA179_0 >= 'A' && LA179_0 <= 'Z')||LA179_0=='\\'||LA179_0=='_'||(LA179_0 >= 'a' && LA179_0 <= 'z')||(LA179_0 >= '\u0080' && LA179_0 <= '\uFFFF')) ) {
-					alt179=1;
+				int alt180=2;
+				int LA180_0 = input.LA(1);
+				if ( (LA180_0=='-'||(LA180_0 >= '0' && LA180_0 <= '9')||(LA180_0 >= 'A' && LA180_0 <= 'Z')||LA180_0=='\\'||LA180_0=='_'||(LA180_0 >= 'a' && LA180_0 <= 'z')||(LA180_0 >= '\u0080' && LA180_0 <= '\uFFFF')) ) {
+					alt180=1;
 				}
 
-				switch (alt179) {
+				switch (alt180) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:27: NMCHAR
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:27: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7790,12 +7837,12 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					if ( cnt179 >= 1 ) break loop179;
+					if ( cnt180 >= 1 ) break loop180;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(179, input);
+					EarlyExitException eee = new EarlyExitException(180, input);
 					throw eee;
 				}
-				cnt179++;
+				cnt180++;
 			}
 
 			}
@@ -7814,8 +7861,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_DEFAULT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:21: ( '!DEFAULT' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:23: '!DEFAULT'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1757:21: ( '!DEFAULT' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1757:23: '!DEFAULT'
 			{
 			match("!DEFAULT"); if (state.failed) return;
 
@@ -7835,8 +7882,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_OPTIONAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1752:21: ( '!OPTIONAL' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1752:23: '!OPTIONAL'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1758:21: ( '!OPTIONAL' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1758:23: '!OPTIONAL'
 			{
 			match("!OPTIONAL"); if (state.failed) return;
 
@@ -7856,8 +7903,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_GLOBAL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:21: ( '!GLOBAL' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:23: '!GLOBAL'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:21: ( '!GLOBAL' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:23: '!GLOBAL'
 			{
 			match("!GLOBAL"); if (state.failed) return;
 
@@ -7877,24 +7924,24 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = SASS_EXTEND_ONLY_SELECTOR;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:23: PERCENTAGE_SYMBOL ( NMCHAR )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:23: PERCENTAGE_SYMBOL ( NMCHAR )+
 			{
 			mPERCENTAGE_SYMBOL(); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:41: ( NMCHAR )+
-			int cnt180=0;
-			loop180:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:41: ( NMCHAR )+
+			int cnt181=0;
+			loop181:
 			while (true) {
-				int alt180=2;
-				int LA180_0 = input.LA(1);
-				if ( (LA180_0=='-'||(LA180_0 >= '0' && LA180_0 <= '9')||(LA180_0 >= 'A' && LA180_0 <= 'Z')||LA180_0=='\\'||LA180_0=='_'||(LA180_0 >= 'a' && LA180_0 <= 'z')||(LA180_0 >= '\u0080' && LA180_0 <= '\uFFFF')) ) {
-					alt180=1;
+				int alt181=2;
+				int LA181_0 = input.LA(1);
+				if ( (LA181_0=='-'||(LA181_0 >= '0' && LA181_0 <= '9')||(LA181_0 >= 'A' && LA181_0 <= 'Z')||LA181_0=='\\'||LA181_0=='_'||(LA181_0 >= 'a' && LA181_0 <= 'z')||(LA181_0 >= '\u0080' && LA181_0 <= '\uFFFF')) ) {
+					alt181=1;
 				}
 
-				switch (alt180) {
+				switch (alt181) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:41: NMCHAR
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:41: NMCHAR
 					{
 					mNMCHAR(); if (state.failed) return;
 
@@ -7902,12 +7949,12 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					if ( cnt180 >= 1 ) break loop180;
+					if ( cnt181 >= 1 ) break loop181;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(180, input);
+					EarlyExitException eee = new EarlyExitException(181, input);
 					throw eee;
 				}
-				cnt180++;
+				cnt181++;
 			}
 
 			}
@@ -7924,8 +7971,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "EMS"
 	public final void mEMS() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1768:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1768:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:26: 
 			{
 			}
 
@@ -7939,8 +7986,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "EXS"
 	public final void mEXS() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1769:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1769:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:26: 
 			{
 			}
 
@@ -7954,8 +8001,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "LENGTH"
 	public final void mLENGTH() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:26: 
 			{
 			}
 
@@ -7969,8 +8016,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "REM"
 	public final void mREM() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:18: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:19: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:18: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:19: 
 			{
 			}
 
@@ -7984,8 +8031,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "ANGLE"
 	public final void mANGLE() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1778:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1778:26: 
 			{
 			}
 
@@ -7999,8 +8046,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "TIME"
 	public final void mTIME() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1773:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1773:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1779:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1779:26: 
 			{
 			}
 
@@ -8014,8 +8061,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "FREQ"
 	public final void mFREQ() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:26: 
 			{
 			}
 
@@ -8029,8 +8076,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "DIMENSION"
 	public final void mDIMENSION() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:26: 
 			{
 			}
 
@@ -8044,8 +8091,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "PERCENTAGE"
 	public final void mPERCENTAGE() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:26: 
 			{
 			}
 
@@ -8059,8 +8106,8 @@ public class Css3Lexer extends Lexer {
 	// $ANTLR start "RESOLUTION"
 	public final void mRESOLUTION() throws RecognitionException {
 		try {
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:25: ()
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:26: 
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:25: ()
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:26: 
 			{
 			}
 
@@ -8076,41 +8123,41 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = NUMBER;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ )
-			int alt185=2;
-			int LA185_0 = input.LA(1);
-			if ( ((LA185_0 >= '0' && LA185_0 <= '9')) ) {
-				alt185=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ )
+			int alt186=2;
+			int LA186_0 = input.LA(1);
+			if ( ((LA186_0 >= '0' && LA186_0 <= '9')) ) {
+				alt186=1;
 			}
-			else if ( (LA185_0=='.') ) {
-				alt185=2;
+			else if ( (LA186_0=='.') ) {
+				alt186=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 185, 0, input);
+					new NoViableAltException("", 186, 0, input);
 				throw nvae;
 			}
 
-			switch (alt185) {
+			switch (alt186) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )?
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )?
 					{
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:15: ( '0' .. '9' )+
-					int cnt181=0;
-					loop181:
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:15: ( '0' .. '9' )+
+					int cnt182=0;
+					loop182:
 					while (true) {
-						int alt181=2;
-						int LA181_0 = input.LA(1);
-						if ( ((LA181_0 >= '0' && LA181_0 <= '9')) ) {
-							alt181=1;
+						int alt182=2;
+						int LA182_0 = input.LA(1);
+						if ( ((LA182_0 >= '0' && LA182_0 <= '9')) ) {
+							alt182=1;
 						}
 
-						switch (alt181) {
+						switch (alt182) {
 						case 1 :
 							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
@@ -8128,36 +8175,36 @@ public class Css3Lexer extends Lexer {
 							break;
 
 						default :
-							if ( cnt181 >= 1 ) break loop181;
+							if ( cnt182 >= 1 ) break loop182;
 							if (state.backtracking>0) {state.failed=true; return;}
-							EarlyExitException eee = new EarlyExitException(181, input);
+							EarlyExitException eee = new EarlyExitException(182, input);
 							throw eee;
 						}
-						cnt181++;
+						cnt182++;
 					}
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:25: ( '.' ( '0' .. '9' )+ )?
-					int alt183=2;
-					int LA183_0 = input.LA(1);
-					if ( (LA183_0=='.') ) {
-						alt183=1;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:25: ( '.' ( '0' .. '9' )+ )?
+					int alt184=2;
+					int LA184_0 = input.LA(1);
+					if ( (LA184_0=='.') ) {
+						alt184=1;
 					}
-					switch (alt183) {
+					switch (alt184) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:26: '.' ( '0' .. '9' )+
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:26: '.' ( '0' .. '9' )+
 							{
 							match('.'); if (state.failed) return;
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:30: ( '0' .. '9' )+
-							int cnt182=0;
-							loop182:
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:30: ( '0' .. '9' )+
+							int cnt183=0;
+							loop183:
 							while (true) {
-								int alt182=2;
-								int LA182_0 = input.LA(1);
-								if ( ((LA182_0 >= '0' && LA182_0 <= '9')) ) {
-									alt182=1;
+								int alt183=2;
+								int LA183_0 = input.LA(1);
+								if ( ((LA183_0 >= '0' && LA183_0 <= '9')) ) {
+									alt183=1;
 								}
 
-								switch (alt182) {
+								switch (alt183) {
 								case 1 :
 									// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 									{
@@ -8175,12 +8222,12 @@ public class Css3Lexer extends Lexer {
 									break;
 
 								default :
-									if ( cnt182 >= 1 ) break loop182;
+									if ( cnt183 >= 1 ) break loop183;
 									if (state.backtracking>0) {state.failed=true; return;}
-									EarlyExitException eee = new EarlyExitException(182, input);
+									EarlyExitException eee = new EarlyExitException(183, input);
 									throw eee;
 								}
-								cnt182++;
+								cnt183++;
 							}
 
 							}
@@ -8191,20 +8238,20 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:15: '.' ( '0' .. '9' )+
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:15: '.' ( '0' .. '9' )+
 					{
 					match('.'); if (state.failed) return;
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:19: ( '0' .. '9' )+
-					int cnt184=0;
-					loop184:
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:19: ( '0' .. '9' )+
+					int cnt185=0;
+					loop185:
 					while (true) {
-						int alt184=2;
-						int LA184_0 = input.LA(1);
-						if ( ((LA184_0 >= '0' && LA184_0 <= '9')) ) {
-							alt184=1;
+						int alt185=2;
+						int LA185_0 = input.LA(1);
+						if ( ((LA185_0 >= '0' && LA185_0 <= '9')) ) {
+							alt185=1;
 						}
 
-						switch (alt184) {
+						switch (alt185) {
 						case 1 :
 							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 							{
@@ -8222,12 +8269,12 @@ public class Css3Lexer extends Lexer {
 							break;
 
 						default :
-							if ( cnt184 >= 1 ) break loop184;
+							if ( cnt185 >= 1 ) break loop185;
 							if (state.backtracking>0) {state.failed=true; return;}
-							EarlyExitException eee = new EarlyExitException(184, input);
+							EarlyExitException eee = new EarlyExitException(185, input);
 							throw eee;
 						}
-						cnt184++;
+						cnt185++;
 					}
 
 					}
@@ -8235,24 +8282,24 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1784:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
-			int alt192=13;
-			alt192 = dfa192.predict(input);
-			switch (alt192) {
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1790:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)
+			int alt193=13;
+			alt193 = dfa193.predict(input);
+			switch (alt193) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:15: ( D P ( I | C ) )=> D P ( I | C M )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:15: ( D P ( I | C ) )=> D P ( I | C M )
 					{
 					mD(); if (state.failed) return;
 
 					mP(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:17: ( I | C M )
-					int alt186=2;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1793:17: ( I | C M )
+					int alt187=2;
 					switch ( input.LA(1) ) {
 					case 'I':
 					case 'i':
 						{
-						alt186=1;
+						alt187=1;
 						}
 						break;
 					case '\\':
@@ -8261,25 +8308,25 @@ public class Css3Lexer extends Lexer {
 						case 'I':
 						case 'i':
 							{
-							alt186=1;
+							alt187=1;
 							}
 							break;
 						case '0':
 							{
-							int LA186_4 = input.LA(3);
-							if ( (LA186_4=='0') ) {
-								int LA186_6 = input.LA(4);
-								if ( (LA186_6=='0') ) {
-									int LA186_7 = input.LA(5);
-									if ( (LA186_7=='0') ) {
-										int LA186_8 = input.LA(6);
-										if ( (LA186_8=='4'||LA186_8=='6') ) {
-											int LA186_5 = input.LA(7);
-											if ( (LA186_5=='9') ) {
-												alt186=1;
+							int LA187_4 = input.LA(3);
+							if ( (LA187_4=='0') ) {
+								int LA187_6 = input.LA(4);
+								if ( (LA187_6=='0') ) {
+									int LA187_7 = input.LA(5);
+									if ( (LA187_7=='0') ) {
+										int LA187_8 = input.LA(6);
+										if ( (LA187_8=='4'||LA187_8=='6') ) {
+											int LA187_5 = input.LA(7);
+											if ( (LA187_5=='9') ) {
+												alt187=1;
 											}
-											else if ( (LA186_5=='3') ) {
-												alt186=2;
+											else if ( (LA187_5=='3') ) {
+												alt187=2;
 											}
 
 											else {
@@ -8290,7 +8337,7 @@ public class Css3Lexer extends Lexer {
 														input.consume();
 													}
 													NoViableAltException nvae =
-														new NoViableAltException("", 186, 5, input);
+														new NoViableAltException("", 187, 5, input);
 													throw nvae;
 												} finally {
 													input.rewind(nvaeMark);
@@ -8307,7 +8354,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 186, 8, input);
+													new NoViableAltException("", 187, 8, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -8315,13 +8362,13 @@ public class Css3Lexer extends Lexer {
 										}
 
 									}
-									else if ( (LA186_7=='4'||LA186_7=='6') ) {
-										int LA186_5 = input.LA(6);
-										if ( (LA186_5=='9') ) {
-											alt186=1;
+									else if ( (LA187_7=='4'||LA187_7=='6') ) {
+										int LA187_5 = input.LA(6);
+										if ( (LA187_5=='9') ) {
+											alt187=1;
 										}
-										else if ( (LA186_5=='3') ) {
-											alt186=2;
+										else if ( (LA187_5=='3') ) {
+											alt187=2;
 										}
 
 										else {
@@ -8332,7 +8379,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 186, 5, input);
+													new NoViableAltException("", 187, 5, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -8349,7 +8396,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 186, 7, input);
+												new NoViableAltException("", 187, 7, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -8357,13 +8404,13 @@ public class Css3Lexer extends Lexer {
 									}
 
 								}
-								else if ( (LA186_6=='4'||LA186_6=='6') ) {
-									int LA186_5 = input.LA(5);
-									if ( (LA186_5=='9') ) {
-										alt186=1;
+								else if ( (LA187_6=='4'||LA187_6=='6') ) {
+									int LA187_5 = input.LA(5);
+									if ( (LA187_5=='9') ) {
+										alt187=1;
 									}
-									else if ( (LA186_5=='3') ) {
-										alt186=2;
+									else if ( (LA187_5=='3') ) {
+										alt187=2;
 									}
 
 									else {
@@ -8374,7 +8421,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 186, 5, input);
+												new NoViableAltException("", 187, 5, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -8391,7 +8438,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 186, 6, input);
+											new NoViableAltException("", 187, 6, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -8399,13 +8446,13 @@ public class Css3Lexer extends Lexer {
 								}
 
 							}
-							else if ( (LA186_4=='4'||LA186_4=='6') ) {
-								int LA186_5 = input.LA(4);
-								if ( (LA186_5=='9') ) {
-									alt186=1;
+							else if ( (LA187_4=='4'||LA187_4=='6') ) {
+								int LA187_5 = input.LA(4);
+								if ( (LA187_5=='9') ) {
+									alt187=1;
 								}
-								else if ( (LA186_5=='3') ) {
-									alt186=2;
+								else if ( (LA187_5=='3') ) {
+									alt187=2;
 								}
 
 								else {
@@ -8416,7 +8463,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 186, 5, input);
+											new NoViableAltException("", 187, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -8433,7 +8480,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 186, 4, input);
+										new NoViableAltException("", 187, 4, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -8445,12 +8492,12 @@ public class Css3Lexer extends Lexer {
 						case '4':
 						case '6':
 							{
-							int LA186_5 = input.LA(3);
-							if ( (LA186_5=='9') ) {
-								alt186=1;
+							int LA187_5 = input.LA(3);
+							if ( (LA187_5=='9') ) {
+								alt187=1;
 							}
-							else if ( (LA186_5=='3') ) {
-								alt186=2;
+							else if ( (LA187_5=='3') ) {
+								alt187=2;
 							}
 
 							else {
@@ -8461,7 +8508,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 186, 5, input);
+										new NoViableAltException("", 187, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -8476,7 +8523,7 @@ public class Css3Lexer extends Lexer {
 							try {
 								input.consume();
 								NoViableAltException nvae =
-									new NoViableAltException("", 186, 2, input);
+									new NoViableAltException("", 187, 2, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -8487,25 +8534,25 @@ public class Css3Lexer extends Lexer {
 					case 'C':
 					case 'c':
 						{
-						alt186=2;
+						alt187=2;
 						}
 						break;
 					default:
 						if (state.backtracking>0) {state.failed=true; return;}
 						NoViableAltException nvae =
-							new NoViableAltException("", 186, 0, input);
+							new NoViableAltException("", 187, 0, input);
 						throw nvae;
 					}
-					switch (alt186) {
+					switch (alt187) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:22: I
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:22: I
 							{
 							mI(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:26: C M
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:26: C M
 							{
 							mC(); if (state.failed) return;
 
@@ -8520,17 +8567,17 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:15: ( E ( M | X ) )=> E ( M | X )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:15: ( E ( M | X ) )=> E ( M | X )
 					{
 					mE(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:17: ( M | X )
-					int alt187=2;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1800:17: ( M | X )
+					int alt188=2;
 					switch ( input.LA(1) ) {
 					case 'M':
 					case 'm':
 						{
-						alt187=1;
+						alt188=1;
 						}
 						break;
 					case '\\':
@@ -8541,7 +8588,7 @@ public class Css3Lexer extends Lexer {
 						case 'M':
 						case 'm':
 							{
-							alt187=1;
+							alt188=1;
 							}
 							break;
 						case '0':
@@ -8555,12 +8602,12 @@ public class Css3Lexer extends Lexer {
 									switch ( input.LA(5) ) {
 									case '0':
 										{
-										int LA187_7 = input.LA(6);
-										if ( (LA187_7=='4'||LA187_7=='6') ) {
-											alt187=1;
+										int LA188_7 = input.LA(6);
+										if ( (LA188_7=='4'||LA188_7=='6') ) {
+											alt188=1;
 										}
-										else if ( (LA187_7=='5'||LA187_7=='7') ) {
-											alt187=2;
+										else if ( (LA188_7=='5'||LA188_7=='7') ) {
+											alt188=2;
 										}
 
 										else {
@@ -8571,7 +8618,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 187, 7, input);
+													new NoViableAltException("", 188, 7, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -8583,13 +8630,13 @@ public class Css3Lexer extends Lexer {
 									case '4':
 									case '6':
 										{
-										alt187=1;
+										alt188=1;
 										}
 										break;
 									case '5':
 									case '7':
 										{
-										alt187=2;
+										alt188=2;
 										}
 										break;
 									default:
@@ -8600,7 +8647,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 187, 6, input);
+												new NoViableAltException("", 188, 6, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -8611,13 +8658,13 @@ public class Css3Lexer extends Lexer {
 								case '4':
 								case '6':
 									{
-									alt187=1;
+									alt188=1;
 									}
 									break;
 								case '5':
 								case '7':
 									{
-									alt187=2;
+									alt188=2;
 									}
 									break;
 								default:
@@ -8628,7 +8675,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 187, 5, input);
+											new NoViableAltException("", 188, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -8639,13 +8686,13 @@ public class Css3Lexer extends Lexer {
 							case '4':
 							case '6':
 								{
-								alt187=1;
+								alt188=1;
 								}
 								break;
 							case '5':
 							case '7':
 								{
-								alt187=2;
+								alt188=2;
 								}
 								break;
 							default:
@@ -8656,7 +8703,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 187, 4, input);
+										new NoViableAltException("", 188, 4, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -8669,7 +8716,7 @@ public class Css3Lexer extends Lexer {
 						case 'X':
 						case 'x':
 							{
-							alt187=2;
+							alt188=2;
 							}
 							break;
 						default:
@@ -8678,7 +8725,7 @@ public class Css3Lexer extends Lexer {
 							try {
 								input.consume();
 								NoViableAltException nvae =
-									new NoViableAltException("", 187, 2, input);
+									new NoViableAltException("", 188, 2, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -8689,18 +8736,18 @@ public class Css3Lexer extends Lexer {
 					case 'X':
 					case 'x':
 						{
-						alt187=2;
+						alt188=2;
 						}
 						break;
 					default:
 						if (state.backtracking>0) {state.failed=true; return;}
 						NoViableAltException nvae =
-							new NoViableAltException("", 187, 0, input);
+							new NoViableAltException("", 188, 0, input);
 						throw nvae;
 					}
-					switch (alt187) {
+					switch (alt188) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1795:23: M
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:23: M
 							{
 							mM(); if (state.failed) return;
 
@@ -8708,7 +8755,7 @@ public class Css3Lexer extends Lexer {
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:23: X
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:23: X
 							{
 							mX(); if (state.failed) return;
 
@@ -8721,17 +8768,17 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 3 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:15: ( P ( X | T | C ) )=> P ( X | T | C )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:15: ( P ( X | T | C ) )=> P ( X | T | C )
 					{
 					mP(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1800:17: ( X | T | C )
-					int alt188=3;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1806:17: ( X | T | C )
+					int alt189=3;
 					switch ( input.LA(1) ) {
 					case 'X':
 					case 'x':
 						{
-						alt188=1;
+						alt189=1;
 						}
 						break;
 					case '\\':
@@ -8740,7 +8787,7 @@ public class Css3Lexer extends Lexer {
 						case 'X':
 						case 'x':
 							{
-							alt188=1;
+							alt189=1;
 							}
 							break;
 						case '0':
@@ -8754,14 +8801,14 @@ public class Css3Lexer extends Lexer {
 									switch ( input.LA(5) ) {
 									case '0':
 										{
-										int LA188_9 = input.LA(6);
-										if ( (LA188_9=='5'||LA188_9=='7') ) {
-											int LA188_6 = input.LA(7);
-											if ( (LA188_6=='8') ) {
-												alt188=1;
+										int LA189_9 = input.LA(6);
+										if ( (LA189_9=='5'||LA189_9=='7') ) {
+											int LA189_6 = input.LA(7);
+											if ( (LA189_6=='8') ) {
+												alt189=1;
 											}
-											else if ( (LA188_6=='4') ) {
-												alt188=2;
+											else if ( (LA189_6=='4') ) {
+												alt189=2;
 											}
 
 											else {
@@ -8772,7 +8819,7 @@ public class Css3Lexer extends Lexer {
 														input.consume();
 													}
 													NoViableAltException nvae =
-														new NoViableAltException("", 188, 6, input);
+														new NoViableAltException("", 189, 6, input);
 													throw nvae;
 												} finally {
 													input.rewind(nvaeMark);
@@ -8780,8 +8827,8 @@ public class Css3Lexer extends Lexer {
 											}
 
 										}
-										else if ( (LA188_9=='4'||LA188_9=='6') ) {
-											alt188=3;
+										else if ( (LA189_9=='4'||LA189_9=='6') ) {
+											alt189=3;
 										}
 
 										else {
@@ -8792,7 +8839,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 188, 9, input);
+													new NoViableAltException("", 189, 9, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -8804,12 +8851,12 @@ public class Css3Lexer extends Lexer {
 									case '5':
 									case '7':
 										{
-										int LA188_6 = input.LA(6);
-										if ( (LA188_6=='8') ) {
-											alt188=1;
+										int LA189_6 = input.LA(6);
+										if ( (LA189_6=='8') ) {
+											alt189=1;
 										}
-										else if ( (LA188_6=='4') ) {
-											alt188=2;
+										else if ( (LA189_6=='4') ) {
+											alt189=2;
 										}
 
 										else {
@@ -8820,7 +8867,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 188, 6, input);
+													new NoViableAltException("", 189, 6, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -8832,7 +8879,7 @@ public class Css3Lexer extends Lexer {
 									case '4':
 									case '6':
 										{
-										alt188=3;
+										alt189=3;
 										}
 										break;
 									default:
@@ -8843,7 +8890,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 188, 8, input);
+												new NoViableAltException("", 189, 8, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -8854,12 +8901,12 @@ public class Css3Lexer extends Lexer {
 								case '5':
 								case '7':
 									{
-									int LA188_6 = input.LA(5);
-									if ( (LA188_6=='8') ) {
-										alt188=1;
+									int LA189_6 = input.LA(5);
+									if ( (LA189_6=='8') ) {
+										alt189=1;
 									}
-									else if ( (LA188_6=='4') ) {
-										alt188=2;
+									else if ( (LA189_6=='4') ) {
+										alt189=2;
 									}
 
 									else {
@@ -8870,7 +8917,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 188, 6, input);
+												new NoViableAltException("", 189, 6, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -8882,7 +8929,7 @@ public class Css3Lexer extends Lexer {
 								case '4':
 								case '6':
 									{
-									alt188=3;
+									alt189=3;
 									}
 									break;
 								default:
@@ -8893,7 +8940,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 188, 7, input);
+											new NoViableAltException("", 189, 7, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -8904,12 +8951,12 @@ public class Css3Lexer extends Lexer {
 							case '5':
 							case '7':
 								{
-								int LA188_6 = input.LA(4);
-								if ( (LA188_6=='8') ) {
-									alt188=1;
+								int LA189_6 = input.LA(4);
+								if ( (LA189_6=='8') ) {
+									alt189=1;
 								}
-								else if ( (LA188_6=='4') ) {
-									alt188=2;
+								else if ( (LA189_6=='4') ) {
+									alt189=2;
 								}
 
 								else {
@@ -8920,7 +8967,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 188, 6, input);
+											new NoViableAltException("", 189, 6, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -8932,7 +8979,7 @@ public class Css3Lexer extends Lexer {
 							case '4':
 							case '6':
 								{
-								alt188=3;
+								alt189=3;
 								}
 								break;
 							default:
@@ -8943,7 +8990,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 188, 5, input);
+										new NoViableAltException("", 189, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -8954,12 +9001,12 @@ public class Css3Lexer extends Lexer {
 						case '5':
 						case '7':
 							{
-							int LA188_6 = input.LA(3);
-							if ( (LA188_6=='8') ) {
-								alt188=1;
+							int LA189_6 = input.LA(3);
+							if ( (LA189_6=='8') ) {
+								alt189=1;
 							}
-							else if ( (LA188_6=='4') ) {
-								alt188=2;
+							else if ( (LA189_6=='4') ) {
+								alt189=2;
 							}
 
 							else {
@@ -8970,7 +9017,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 188, 6, input);
+										new NoViableAltException("", 189, 6, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -8982,13 +9029,13 @@ public class Css3Lexer extends Lexer {
 						case 'T':
 						case 't':
 							{
-							alt188=2;
+							alt189=2;
 							}
 							break;
 						case '4':
 						case '6':
 							{
-							alt188=3;
+							alt189=3;
 							}
 							break;
 						default:
@@ -8997,7 +9044,7 @@ public class Css3Lexer extends Lexer {
 							try {
 								input.consume();
 								NoViableAltException nvae =
-									new NoViableAltException("", 188, 2, input);
+									new NoViableAltException("", 189, 2, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -9008,38 +9055,38 @@ public class Css3Lexer extends Lexer {
 					case 'T':
 					case 't':
 						{
-						alt188=2;
+						alt189=2;
 						}
 						break;
 					case 'C':
 					case 'c':
 						{
-						alt188=3;
+						alt189=3;
 						}
 						break;
 					default:
 						if (state.backtracking>0) {state.failed=true; return;}
 						NoViableAltException nvae =
-							new NoViableAltException("", 188, 0, input);
+							new NoViableAltException("", 189, 0, input);
 						throw nvae;
 					}
-					switch (alt188) {
+					switch (alt189) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:23: X
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:23: X
 							{
 							mX(); if (state.failed) return;
 
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:23: T
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1808:23: T
 							{
 							mT(); if (state.failed) return;
 
 							}
 							break;
 						case 3 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1803:23: C
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1809:23: C
 							{
 							mC(); if (state.failed) return;
 
@@ -9052,7 +9099,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 4 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1806:15: ( C M )=> C M
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:15: ( C M )=> C M
 					{
 					mC(); if (state.failed) return;
 
@@ -9062,17 +9109,17 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 5 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1808:15: ( M ( M | S ) )=> M ( M | S )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1814:15: ( M ( M | S ) )=> M ( M | S )
 					{
 					mM(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1810:17: ( M | S )
-					int alt189=2;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1816:17: ( M | S )
+					int alt190=2;
 					switch ( input.LA(1) ) {
 					case 'M':
 					case 'm':
 						{
-						alt189=1;
+						alt190=1;
 						}
 						break;
 					case '\\':
@@ -9083,7 +9130,7 @@ public class Css3Lexer extends Lexer {
 						case 'M':
 						case 'm':
 							{
-							alt189=1;
+							alt190=1;
 							}
 							break;
 						case '0':
@@ -9097,12 +9144,12 @@ public class Css3Lexer extends Lexer {
 									switch ( input.LA(5) ) {
 									case '0':
 										{
-										int LA189_7 = input.LA(6);
-										if ( (LA189_7=='4'||LA189_7=='6') ) {
-											alt189=1;
+										int LA190_7 = input.LA(6);
+										if ( (LA190_7=='4'||LA190_7=='6') ) {
+											alt190=1;
 										}
-										else if ( (LA189_7=='5'||LA189_7=='7') ) {
-											alt189=2;
+										else if ( (LA190_7=='5'||LA190_7=='7') ) {
+											alt190=2;
 										}
 
 										else {
@@ -9113,7 +9160,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 189, 7, input);
+													new NoViableAltException("", 190, 7, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -9125,13 +9172,13 @@ public class Css3Lexer extends Lexer {
 									case '4':
 									case '6':
 										{
-										alt189=1;
+										alt190=1;
 										}
 										break;
 									case '5':
 									case '7':
 										{
-										alt189=2;
+										alt190=2;
 										}
 										break;
 									default:
@@ -9142,7 +9189,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 189, 6, input);
+												new NoViableAltException("", 190, 6, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -9153,13 +9200,13 @@ public class Css3Lexer extends Lexer {
 								case '4':
 								case '6':
 									{
-									alt189=1;
+									alt190=1;
 									}
 									break;
 								case '5':
 								case '7':
 									{
-									alt189=2;
+									alt190=2;
 									}
 									break;
 								default:
@@ -9170,7 +9217,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 189, 5, input);
+											new NoViableAltException("", 190, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -9181,13 +9228,13 @@ public class Css3Lexer extends Lexer {
 							case '4':
 							case '6':
 								{
-								alt189=1;
+								alt190=1;
 								}
 								break;
 							case '5':
 							case '7':
 								{
-								alt189=2;
+								alt190=2;
 								}
 								break;
 							default:
@@ -9198,7 +9245,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 189, 4, input);
+										new NoViableAltException("", 190, 4, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -9211,7 +9258,7 @@ public class Css3Lexer extends Lexer {
 						case 'S':
 						case 's':
 							{
-							alt189=2;
+							alt190=2;
 							}
 							break;
 						default:
@@ -9220,7 +9267,7 @@ public class Css3Lexer extends Lexer {
 							try {
 								input.consume();
 								NoViableAltException nvae =
-									new NoViableAltException("", 189, 2, input);
+									new NoViableAltException("", 190, 2, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -9231,18 +9278,18 @@ public class Css3Lexer extends Lexer {
 					case 'S':
 					case 's':
 						{
-						alt189=2;
+						alt190=2;
 						}
 						break;
 					default:
 						if (state.backtracking>0) {state.failed=true; return;}
 						NoViableAltException nvae =
-							new NoViableAltException("", 189, 0, input);
+							new NoViableAltException("", 190, 0, input);
 						throw nvae;
 					}
-					switch (alt189) {
+					switch (alt190) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1811:23: M
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1817:23: M
 							{
 							mM(); if (state.failed) return;
 
@@ -9250,7 +9297,7 @@ public class Css3Lexer extends Lexer {
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1813:23: S
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1819:23: S
 							{
 							mS(); if (state.failed) return;
 
@@ -9263,7 +9310,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 6 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:15: ( I N )=> I N
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1821:15: ( I N )=> I N
 					{
 					mI(); if (state.failed) return;
 
@@ -9273,7 +9320,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 7 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1818:15: ( D E G )=> D E G
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1824:15: ( D E G )=> D E G
 					{
 					mD(); if (state.failed) return;
 
@@ -9285,37 +9332,37 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 8 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:15: ( R ( A | E ) )=> R ( A D | E M )
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1829:15: ( R ( A | E ) )=> R ( A D | E M )
 					{
 					mR(); if (state.failed) return;
 
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1825:17: ( A D | E M )
-					int alt190=2;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:17: ( A D | E M )
+					int alt191=2;
 					switch ( input.LA(1) ) {
 					case 'A':
 					case 'a':
 						{
-						alt190=1;
+						alt191=1;
 						}
 						break;
 					case '\\':
 						{
-						int LA190_2 = input.LA(2);
-						if ( (LA190_2=='0') ) {
-							int LA190_4 = input.LA(3);
-							if ( (LA190_4=='0') ) {
-								int LA190_6 = input.LA(4);
-								if ( (LA190_6=='0') ) {
-									int LA190_7 = input.LA(5);
-									if ( (LA190_7=='0') ) {
-										int LA190_8 = input.LA(6);
-										if ( (LA190_8=='4'||LA190_8=='6') ) {
-											int LA190_5 = input.LA(7);
-											if ( (LA190_5=='1') ) {
-												alt190=1;
+						int LA191_2 = input.LA(2);
+						if ( (LA191_2=='0') ) {
+							int LA191_4 = input.LA(3);
+							if ( (LA191_4=='0') ) {
+								int LA191_6 = input.LA(4);
+								if ( (LA191_6=='0') ) {
+									int LA191_7 = input.LA(5);
+									if ( (LA191_7=='0') ) {
+										int LA191_8 = input.LA(6);
+										if ( (LA191_8=='4'||LA191_8=='6') ) {
+											int LA191_5 = input.LA(7);
+											if ( (LA191_5=='1') ) {
+												alt191=1;
 											}
-											else if ( (LA190_5=='5') ) {
-												alt190=2;
+											else if ( (LA191_5=='5') ) {
+												alt191=2;
 											}
 
 											else {
@@ -9326,7 +9373,7 @@ public class Css3Lexer extends Lexer {
 														input.consume();
 													}
 													NoViableAltException nvae =
-														new NoViableAltException("", 190, 5, input);
+														new NoViableAltException("", 191, 5, input);
 													throw nvae;
 												} finally {
 													input.rewind(nvaeMark);
@@ -9343,7 +9390,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 190, 8, input);
+													new NoViableAltException("", 191, 8, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -9351,13 +9398,13 @@ public class Css3Lexer extends Lexer {
 										}
 
 									}
-									else if ( (LA190_7=='4'||LA190_7=='6') ) {
-										int LA190_5 = input.LA(6);
-										if ( (LA190_5=='1') ) {
-											alt190=1;
+									else if ( (LA191_7=='4'||LA191_7=='6') ) {
+										int LA191_5 = input.LA(6);
+										if ( (LA191_5=='1') ) {
+											alt191=1;
 										}
-										else if ( (LA190_5=='5') ) {
-											alt190=2;
+										else if ( (LA191_5=='5') ) {
+											alt191=2;
 										}
 
 										else {
@@ -9368,7 +9415,7 @@ public class Css3Lexer extends Lexer {
 													input.consume();
 												}
 												NoViableAltException nvae =
-													new NoViableAltException("", 190, 5, input);
+													new NoViableAltException("", 191, 5, input);
 												throw nvae;
 											} finally {
 												input.rewind(nvaeMark);
@@ -9385,7 +9432,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 190, 7, input);
+												new NoViableAltException("", 191, 7, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -9393,13 +9440,13 @@ public class Css3Lexer extends Lexer {
 									}
 
 								}
-								else if ( (LA190_6=='4'||LA190_6=='6') ) {
-									int LA190_5 = input.LA(5);
-									if ( (LA190_5=='1') ) {
-										alt190=1;
+								else if ( (LA191_6=='4'||LA191_6=='6') ) {
+									int LA191_5 = input.LA(5);
+									if ( (LA191_5=='1') ) {
+										alt191=1;
 									}
-									else if ( (LA190_5=='5') ) {
-										alt190=2;
+									else if ( (LA191_5=='5') ) {
+										alt191=2;
 									}
 
 									else {
@@ -9410,7 +9457,7 @@ public class Css3Lexer extends Lexer {
 												input.consume();
 											}
 											NoViableAltException nvae =
-												new NoViableAltException("", 190, 5, input);
+												new NoViableAltException("", 191, 5, input);
 											throw nvae;
 										} finally {
 											input.rewind(nvaeMark);
@@ -9427,7 +9474,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 190, 6, input);
+											new NoViableAltException("", 191, 6, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -9435,13 +9482,13 @@ public class Css3Lexer extends Lexer {
 								}
 
 							}
-							else if ( (LA190_4=='4'||LA190_4=='6') ) {
-								int LA190_5 = input.LA(4);
-								if ( (LA190_5=='1') ) {
-									alt190=1;
+							else if ( (LA191_4=='4'||LA191_4=='6') ) {
+								int LA191_5 = input.LA(4);
+								if ( (LA191_5=='1') ) {
+									alt191=1;
 								}
-								else if ( (LA190_5=='5') ) {
-									alt190=2;
+								else if ( (LA191_5=='5') ) {
+									alt191=2;
 								}
 
 								else {
@@ -9452,7 +9499,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 190, 5, input);
+											new NoViableAltException("", 191, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -9469,7 +9516,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 190, 4, input);
+										new NoViableAltException("", 191, 4, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -9477,13 +9524,13 @@ public class Css3Lexer extends Lexer {
 							}
 
 						}
-						else if ( (LA190_2=='4'||LA190_2=='6') ) {
-							int LA190_5 = input.LA(3);
-							if ( (LA190_5=='1') ) {
-								alt190=1;
+						else if ( (LA191_2=='4'||LA191_2=='6') ) {
+							int LA191_5 = input.LA(3);
+							if ( (LA191_5=='1') ) {
+								alt191=1;
 							}
-							else if ( (LA190_5=='5') ) {
-								alt190=2;
+							else if ( (LA191_5=='5') ) {
+								alt191=2;
 							}
 
 							else {
@@ -9494,7 +9541,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 190, 5, input);
+										new NoViableAltException("", 191, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -9509,7 +9556,7 @@ public class Css3Lexer extends Lexer {
 							try {
 								input.consume();
 								NoViableAltException nvae =
-									new NoViableAltException("", 190, 2, input);
+									new NoViableAltException("", 191, 2, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -9521,18 +9568,18 @@ public class Css3Lexer extends Lexer {
 					case 'E':
 					case 'e':
 						{
-						alt190=2;
+						alt191=2;
 						}
 						break;
 					default:
 						if (state.backtracking>0) {state.failed=true; return;}
 						NoViableAltException nvae =
-							new NoViableAltException("", 190, 0, input);
+							new NoViableAltException("", 191, 0, input);
 						throw nvae;
 					}
-					switch (alt190) {
+					switch (alt191) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:20: A D
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:20: A D
 							{
 							mA(); if (state.failed) return;
 
@@ -9542,7 +9589,7 @@ public class Css3Lexer extends Lexer {
 							}
 							break;
 						case 2 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1827:20: E M
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:20: E M
 							{
 							mE(); if (state.failed) return;
 
@@ -9557,7 +9604,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 9 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1830:15: ( S )=> S
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:15: ( S )=> S
 					{
 					mS(); if (state.failed) return;
 
@@ -9565,56 +9612,56 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 10 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:15: ( ( K )? H Z )=> ( K )? H Z
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1838:15: ( ( K )? H Z )=> ( K )? H Z
 					{
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:17: ( K )?
-					int alt191=2;
-					int LA191_0 = input.LA(1);
-					if ( (LA191_0=='K'||LA191_0=='k') ) {
-						alt191=1;
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:17: ( K )?
+					int alt192=2;
+					int LA192_0 = input.LA(1);
+					if ( (LA192_0=='K'||LA192_0=='k') ) {
+						alt192=1;
 					}
-					else if ( (LA191_0=='\\') ) {
+					else if ( (LA192_0=='\\') ) {
 						switch ( input.LA(2) ) {
 							case 'K':
 							case 'k':
 								{
-								alt191=1;
+								alt192=1;
 								}
 								break;
 							case '0':
 								{
-								int LA191_4 = input.LA(3);
-								if ( (LA191_4=='0') ) {
-									int LA191_6 = input.LA(4);
-									if ( (LA191_6=='0') ) {
-										int LA191_7 = input.LA(5);
-										if ( (LA191_7=='0') ) {
-											int LA191_8 = input.LA(6);
-											if ( (LA191_8=='4'||LA191_8=='6') ) {
-												int LA191_5 = input.LA(7);
-												if ( (LA191_5=='B'||LA191_5=='b') ) {
-													alt191=1;
+								int LA192_4 = input.LA(3);
+								if ( (LA192_4=='0') ) {
+									int LA192_6 = input.LA(4);
+									if ( (LA192_6=='0') ) {
+										int LA192_7 = input.LA(5);
+										if ( (LA192_7=='0') ) {
+											int LA192_8 = input.LA(6);
+											if ( (LA192_8=='4'||LA192_8=='6') ) {
+												int LA192_5 = input.LA(7);
+												if ( (LA192_5=='B'||LA192_5=='b') ) {
+													alt192=1;
 												}
 											}
 										}
-										else if ( (LA191_7=='4'||LA191_7=='6') ) {
-											int LA191_5 = input.LA(6);
-											if ( (LA191_5=='B'||LA191_5=='b') ) {
-												alt191=1;
+										else if ( (LA192_7=='4'||LA192_7=='6') ) {
+											int LA192_5 = input.LA(6);
+											if ( (LA192_5=='B'||LA192_5=='b') ) {
+												alt192=1;
 											}
 										}
 									}
-									else if ( (LA191_6=='4'||LA191_6=='6') ) {
-										int LA191_5 = input.LA(5);
-										if ( (LA191_5=='B'||LA191_5=='b') ) {
-											alt191=1;
+									else if ( (LA192_6=='4'||LA192_6=='6') ) {
+										int LA192_5 = input.LA(5);
+										if ( (LA192_5=='B'||LA192_5=='b') ) {
+											alt192=1;
 										}
 									}
 								}
-								else if ( (LA191_4=='4'||LA191_4=='6') ) {
-									int LA191_5 = input.LA(4);
-									if ( (LA191_5=='B'||LA191_5=='b') ) {
-										alt191=1;
+								else if ( (LA192_4=='4'||LA192_4=='6') ) {
+									int LA192_5 = input.LA(4);
+									if ( (LA192_5=='B'||LA192_5=='b') ) {
+										alt192=1;
 									}
 								}
 								}
@@ -9622,17 +9669,17 @@ public class Css3Lexer extends Lexer {
 							case '4':
 							case '6':
 								{
-								int LA191_5 = input.LA(3);
-								if ( (LA191_5=='B'||LA191_5=='b') ) {
-									alt191=1;
+								int LA192_5 = input.LA(3);
+								if ( (LA192_5=='B'||LA192_5=='b') ) {
+									alt192=1;
 								}
 								}
 								break;
 						}
 					}
-					switch (alt191) {
+					switch (alt192) {
 						case 1 :
-							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:17: K
+							// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:17: K
 							{
 							mK(); if (state.failed) return;
 
@@ -9649,7 +9696,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 11 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1835:15: IDENT
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1841:15: IDENT
 					{
 					mIDENT(); if (state.failed) return;
 
@@ -9657,7 +9704,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 12 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1837:15: PERCENTAGE_SYMBOL
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:15: PERCENTAGE_SYMBOL
 					{
 					mPERCENTAGE_SYMBOL(); if (state.failed) return;
 
@@ -9665,7 +9712,7 @@ public class Css3Lexer extends Lexer {
 					}
 					break;
 				case 13 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1840:9: 
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:9: 
 					{
 					}
 					break;
@@ -9688,8 +9735,8 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = URI;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1852:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1852:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			mU(); if (state.failed) return;
 
@@ -9698,18 +9745,18 @@ public class Css3Lexer extends Lexer {
 			mL(); if (state.failed) return;
 
 			match('('); if (state.failed) return;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:13: ( ( WS )=> WS )?
-			int alt193=2;
-			int LA193_0 = input.LA(1);
-			if ( (LA193_0=='\t'||LA193_0==' ') ) {
-				int LA193_1 = input.LA(2);
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:13: ( ( WS )=> WS )?
+			int alt194=2;
+			int LA194_0 = input.LA(1);
+			if ( (LA194_0=='\t'||LA194_0==' ') ) {
+				int LA194_1 = input.LA(2);
 				if ( (synpred13_Css3()) ) {
-					alt193=1;
+					alt194=1;
 				}
 			}
-			switch (alt193) {
+			switch (alt194) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:14: ( WS )=> WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9718,33 +9765,33 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:25: ( URL | STRING )
-			int alt194=2;
-			int LA194_0 = input.LA(1);
-			if ( (LA194_0=='\t'||(LA194_0 >= ' ' && LA194_0 <= '!')||(LA194_0 >= '#' && LA194_0 <= '&')||(LA194_0 >= ')' && LA194_0 <= ';')||LA194_0=='='||(LA194_0 >= '?' && LA194_0 <= '\\')||LA194_0=='_'||(LA194_0 >= 'a' && LA194_0 <= '~')||(LA194_0 >= '\u0080' && LA194_0 <= '\uFFFF')) ) {
-				alt194=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:25: ( URL | STRING )
+			int alt195=2;
+			int LA195_0 = input.LA(1);
+			if ( (LA195_0=='\t'||(LA195_0 >= ' ' && LA195_0 <= '!')||(LA195_0 >= '#' && LA195_0 <= '&')||(LA195_0 >= ')' && LA195_0 <= ';')||LA195_0=='='||(LA195_0 >= '?' && LA195_0 <= '\\')||LA195_0=='_'||(LA195_0 >= 'a' && LA195_0 <= '~')||(LA195_0 >= '\u0080' && LA195_0 <= '\uFFFF')) ) {
+				alt195=1;
 			}
-			else if ( (LA194_0=='\"'||LA194_0=='\'') ) {
-				alt194=2;
+			else if ( (LA195_0=='\"'||LA195_0=='\'') ) {
+				alt195=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 194, 0, input);
+					new NoViableAltException("", 195, 0, input);
 				throw nvae;
 			}
 
-			switch (alt194) {
+			switch (alt195) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:26: URL
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:30: STRING
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -9753,15 +9800,15 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:38: ( WS )?
-			int alt195=2;
-			int LA195_0 = input.LA(1);
-			if ( (LA195_0=='\t'||LA195_0==' ') ) {
-				alt195=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:38: ( WS )?
+			int alt196=2;
+			int LA196_0 = input.LA(1);
+			if ( (LA196_0=='\t'||LA196_0==' ') ) {
+				alt196=1;
 			}
-			switch (alt195) {
+			switch (alt196) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:38: WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9787,23 +9834,23 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MOZ_URL_PREFIX;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1853:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1860:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			match("URL-PREFIX("); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:13: ( ( WS )=> WS )?
-			int alt196=2;
-			int LA196_0 = input.LA(1);
-			if ( (LA196_0=='\t'||LA196_0==' ') ) {
-				int LA196_1 = input.LA(2);
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:13: ( ( WS )=> WS )?
+			int alt197=2;
+			int LA197_0 = input.LA(1);
+			if ( (LA197_0=='\t'||LA197_0==' ') ) {
+				int LA197_1 = input.LA(2);
 				if ( (synpred14_Css3()) ) {
-					alt196=1;
+					alt197=1;
 				}
 			}
-			switch (alt196) {
+			switch (alt197) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:14: ( WS )=> WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9812,33 +9859,33 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:25: ( URL | STRING )
-			int alt197=2;
-			int LA197_0 = input.LA(1);
-			if ( (LA197_0=='\t'||(LA197_0 >= ' ' && LA197_0 <= '!')||(LA197_0 >= '#' && LA197_0 <= '&')||(LA197_0 >= ')' && LA197_0 <= ';')||LA197_0=='='||(LA197_0 >= '?' && LA197_0 <= '\\')||LA197_0=='_'||(LA197_0 >= 'a' && LA197_0 <= '~')||(LA197_0 >= '\u0080' && LA197_0 <= '\uFFFF')) ) {
-				alt197=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:25: ( URL | STRING )
+			int alt198=2;
+			int LA198_0 = input.LA(1);
+			if ( (LA198_0=='\t'||(LA198_0 >= ' ' && LA198_0 <= '!')||(LA198_0 >= '#' && LA198_0 <= '&')||(LA198_0 >= ')' && LA198_0 <= ';')||LA198_0=='='||(LA198_0 >= '?' && LA198_0 <= '\\')||LA198_0=='_'||(LA198_0 >= 'a' && LA198_0 <= '~')||(LA198_0 >= '\u0080' && LA198_0 <= '\uFFFF')) ) {
+				alt198=1;
 			}
-			else if ( (LA197_0=='\"'||LA197_0=='\'') ) {
-				alt197=2;
+			else if ( (LA198_0=='\"'||LA198_0=='\'') ) {
+				alt198=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 197, 0, input);
+					new NoViableAltException("", 198, 0, input);
 				throw nvae;
 			}
 
-			switch (alt197) {
+			switch (alt198) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:26: URL
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:30: STRING
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -9847,15 +9894,15 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:38: ( WS )?
-			int alt198=2;
-			int LA198_0 = input.LA(1);
-			if ( (LA198_0=='\t'||LA198_0==' ') ) {
-				alt198=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:38: ( WS )?
+			int alt199=2;
+			int LA199_0 = input.LA(1);
+			if ( (LA199_0=='\t'||LA199_0==' ') ) {
+				alt199=1;
 			}
-			switch (alt198) {
+			switch (alt199) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:38: WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9881,23 +9928,23 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MOZ_DOMAIN;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1868:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')'
 			{
 			match("DOMAIN("); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:13: ( ( WS )=> WS )?
-			int alt199=2;
-			int LA199_0 = input.LA(1);
-			if ( (LA199_0=='\t'||LA199_0==' ') ) {
-				int LA199_1 = input.LA(2);
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:13: ( ( WS )=> WS )?
+			int alt200=2;
+			int LA200_0 = input.LA(1);
+			if ( (LA200_0=='\t'||LA200_0==' ') ) {
+				int LA200_1 = input.LA(2);
 				if ( (synpred15_Css3()) ) {
-					alt199=1;
+					alt200=1;
 				}
 			}
-			switch (alt199) {
+			switch (alt200) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:14: ( WS )=> WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9906,33 +9953,33 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:25: ( URL | STRING )
-			int alt200=2;
-			int LA200_0 = input.LA(1);
-			if ( (LA200_0=='\t'||(LA200_0 >= ' ' && LA200_0 <= '!')||(LA200_0 >= '#' && LA200_0 <= '&')||(LA200_0 >= ')' && LA200_0 <= ';')||LA200_0=='='||(LA200_0 >= '?' && LA200_0 <= '\\')||LA200_0=='_'||(LA200_0 >= 'a' && LA200_0 <= '~')||(LA200_0 >= '\u0080' && LA200_0 <= '\uFFFF')) ) {
-				alt200=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:25: ( URL | STRING )
+			int alt201=2;
+			int LA201_0 = input.LA(1);
+			if ( (LA201_0=='\t'||(LA201_0 >= ' ' && LA201_0 <= '!')||(LA201_0 >= '#' && LA201_0 <= '&')||(LA201_0 >= ')' && LA201_0 <= ';')||LA201_0=='='||(LA201_0 >= '?' && LA201_0 <= '\\')||LA201_0=='_'||(LA201_0 >= 'a' && LA201_0 <= '~')||(LA201_0 >= '\u0080' && LA201_0 <= '\uFFFF')) ) {
+				alt201=1;
 			}
-			else if ( (LA200_0=='\"'||LA200_0=='\'') ) {
-				alt200=2;
+			else if ( (LA201_0=='\"'||LA201_0=='\'') ) {
+				alt201=2;
 			}
 
 			else {
 				if (state.backtracking>0) {state.failed=true; return;}
 				NoViableAltException nvae =
-					new NoViableAltException("", 200, 0, input);
+					new NoViableAltException("", 201, 0, input);
 				throw nvae;
 			}
 
-			switch (alt200) {
+			switch (alt201) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:26: URL
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:26: URL
 					{
 					mURL(); if (state.failed) return;
 
 					}
 					break;
 				case 2 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:30: STRING
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:30: STRING
 					{
 					mSTRING(); if (state.failed) return;
 
@@ -9941,15 +9988,15 @@ public class Css3Lexer extends Lexer {
 
 			}
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:38: ( WS )?
-			int alt201=2;
-			int LA201_0 = input.LA(1);
-			if ( (LA201_0=='\t'||LA201_0==' ') ) {
-				alt201=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:38: ( WS )?
+			int alt202=2;
+			int LA202_0 = input.LA(1);
+			if ( (LA202_0=='\t'||LA202_0==' ') ) {
+				alt202=1;
 			}
-			switch (alt201) {
+			switch (alt202) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:38: WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:38: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9975,20 +10022,20 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = MOZ_REGEXP;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1876:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')'
 			{
 			match("REGEXP("); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1871:13: ( ( WS )=> WS )?
-			int alt202=2;
-			int LA202_0 = input.LA(1);
-			if ( (LA202_0=='\t'||LA202_0==' ') && (synpred16_Css3())) {
-				alt202=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:13: ( ( WS )=> WS )?
+			int alt203=2;
+			int LA203_0 = input.LA(1);
+			if ( (LA203_0=='\t'||LA203_0==' ') && (synpred16_Css3())) {
+				alt203=1;
 			}
-			switch (alt202) {
+			switch (alt203) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1871:14: ( WS )=> WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:14: ( WS )=> WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -9999,15 +10046,15 @@ public class Css3Lexer extends Lexer {
 
 			mSTRING(); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1871:32: ( WS )?
-			int alt203=2;
-			int LA203_0 = input.LA(1);
-			if ( (LA203_0=='\t'||LA203_0==' ') ) {
-				alt203=1;
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:32: ( WS )?
+			int alt204=2;
+			int LA204_0 = input.LA(1);
+			if ( (LA204_0=='\t'||LA204_0==' ') ) {
+				alt204=1;
 			}
-			switch (alt203) {
+			switch (alt204) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1871:32: WS
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:32: WS
 					{
 					mWS(); if (state.failed) return;
 
@@ -10033,20 +10080,20 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = WS;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1882:5: ( ( ' ' | '\\t' )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:5: ( ' ' | '\\t' )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1888:5: ( ( ' ' | '\\t' )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1889:5: ( ' ' | '\\t' )+
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:5: ( ' ' | '\\t' )+
-			int cnt204=0;
-			loop204:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1889:5: ( ' ' | '\\t' )+
+			int cnt205=0;
+			loop205:
 			while (true) {
-				int alt204=2;
-				int LA204_0 = input.LA(1);
-				if ( (LA204_0=='\t'||LA204_0==' ') ) {
-					alt204=1;
+				int alt205=2;
+				int LA205_0 = input.LA(1);
+				if ( (LA205_0=='\t'||LA205_0==' ') ) {
+					alt205=1;
 				}
 
-				switch (alt204) {
+				switch (alt205) {
 				case 1 :
 					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
@@ -10064,12 +10111,12 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					if ( cnt204 >= 1 ) break loop204;
+					if ( cnt205 >= 1 ) break loop205;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(204, input);
+					EarlyExitException eee = new EarlyExitException(205, input);
 					throw eee;
 				}
-				cnt204++;
+				cnt205++;
 			}
 
 			}
@@ -10088,20 +10135,20 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = NL;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1887:5: ( ( '\\r' | '\\n' )+ )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1889:5: ( '\\r' | '\\n' )+
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1893:5: ( ( '\\r' | '\\n' )+ )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1895:5: ( '\\r' | '\\n' )+
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1889:5: ( '\\r' | '\\n' )+
-			int cnt205=0;
-			loop205:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1895:5: ( '\\r' | '\\n' )+
+			int cnt206=0;
+			loop206:
 			while (true) {
-				int alt205=2;
-				int LA205_0 = input.LA(1);
-				if ( (LA205_0=='\n'||LA205_0=='\r') ) {
-					alt205=1;
+				int alt206=2;
+				int LA206_0 = input.LA(1);
+				if ( (LA206_0=='\n'||LA206_0=='\r') ) {
+					alt206=1;
 				}
 
-				switch (alt205) {
+				switch (alt206) {
 				case 1 :
 					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
@@ -10119,12 +10166,12 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					if ( cnt205 >= 1 ) break loop205;
+					if ( cnt206 >= 1 ) break loop206;
 					if (state.backtracking>0) {state.failed=true; return;}
-					EarlyExitException eee = new EarlyExitException(205, input);
+					EarlyExitException eee = new EarlyExitException(206, input);
 					throw eee;
 				}
-				cnt205++;
+				cnt206++;
 			}
 
 			}
@@ -10143,43 +10190,43 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1895:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1896:5: '/*' ( options {greedy=false; } : ( . )* ) '*/'
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1901:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1902:5: '/*' ( options {greedy=false; } : ( . )* ) '*/'
 			{
 			match("/*"); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1896:10: ( options {greedy=false; } : ( . )* )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1896:40: ( . )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1902:10: ( options {greedy=false; } : ( . )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1902:40: ( . )*
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1896:40: ( . )*
-			loop206:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1902:40: ( . )*
+			loop207:
 			while (true) {
-				int alt206=2;
-				int LA206_0 = input.LA(1);
-				if ( (LA206_0=='*') ) {
-					int LA206_1 = input.LA(2);
-					if ( (LA206_1=='/') ) {
-						alt206=2;
+				int alt207=2;
+				int LA207_0 = input.LA(1);
+				if ( (LA207_0=='*') ) {
+					int LA207_1 = input.LA(2);
+					if ( (LA207_1=='/') ) {
+						alt207=2;
 					}
-					else if ( ((LA206_1 >= '\u0000' && LA206_1 <= '.')||(LA206_1 >= '0' && LA206_1 <= '\uFFFF')) ) {
-						alt206=1;
+					else if ( ((LA207_1 >= '\u0000' && LA207_1 <= '.')||(LA207_1 >= '0' && LA207_1 <= '\uFFFF')) ) {
+						alt207=1;
 					}
 
 				}
-				else if ( ((LA206_0 >= '\u0000' && LA206_0 <= ')')||(LA206_0 >= '+' && LA206_0 <= '\uFFFF')) ) {
-					alt206=1;
+				else if ( ((LA207_0 >= '\u0000' && LA207_0 <= ')')||(LA207_0 >= '+' && LA207_0 <= '\uFFFF')) ) {
+					alt207=1;
 				}
 
-				switch (alt206) {
+				switch (alt207) {
 				case 1 :
-					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1896:40: .
+					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1902:40: .
 					{
 					matchAny(); if (state.failed) return;
 					}
 					break;
 
 				default :
-					break loop206;
+					break loop207;
 				}
 			}
 
@@ -10203,24 +10250,24 @@ public class Css3Lexer extends Lexer {
 		try {
 			int _type = LINE_COMMENT;
 			int _channel = DEFAULT_TOKEN_CHANNEL;
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1900:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1901:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1906:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1907:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
 			{
 			match("//"); if (state.failed) return;
 
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1901:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1901:39: (~ ( '\\r' | '\\n' ) )*
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1907:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* )
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1907:39: (~ ( '\\r' | '\\n' ) )*
 			{
-			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1901:39: (~ ( '\\r' | '\\n' ) )*
-			loop207:
+			// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1907:39: (~ ( '\\r' | '\\n' ) )*
+			loop208:
 			while (true) {
-				int alt207=2;
-				int LA207_0 = input.LA(1);
-				if ( ((LA207_0 >= '\u0000' && LA207_0 <= '\t')||(LA207_0 >= '\u000B' && LA207_0 <= '\f')||(LA207_0 >= '\u000E' && LA207_0 <= '\uFFFF')) ) {
-					alt207=1;
+				int alt208=2;
+				int LA208_0 = input.LA(1);
+				if ( ((LA208_0 >= '\u0000' && LA208_0 <= '\t')||(LA208_0 >= '\u000B' && LA208_0 <= '\f')||(LA208_0 >= '\u000E' && LA208_0 <= '\uFFFF')) ) {
+					alt208=1;
 				}
 
-				switch (alt207) {
+				switch (alt208) {
 				case 1 :
 					// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
 					{
@@ -10238,7 +10285,7 @@ public class Css3Lexer extends Lexer {
 					break;
 
 				default :
-					break loop207;
+					break loop208;
 				}
 			}
 
@@ -10260,10 +10307,10 @@ public class Css3Lexer extends Lexer {
 
 	@Override
 	public void mTokens() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | ID [...]
-		int alt208=101;
-		alt208 = dfa208.predict(input);
-		switch (alt208) {
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VA [...]
+		int alt209=102;
+		alt209 = dfa209.predict(input);
+		switch (alt209) {
 			case 1 :
 				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:10: GEN
 				{
@@ -10545,427 +10592,434 @@ public class Css3Lexer extends Lexer {
 				}
 				break;
 			case 41 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:318: IDENT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:318: VARIABLE
 				{
-				mIDENT(); if (state.failed) return;
+				mVARIABLE(); if (state.failed) return;
 
 				}
 				break;
 			case 42 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:324: HASH_SYMBOL
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:327: IDENT
 				{
-				mHASH_SYMBOL(); if (state.failed) return;
+				mIDENT(); if (state.failed) return;
 
 				}
 				break;
 			case 43 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:336: HASH
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:333: HASH_SYMBOL
 				{
-				mHASH(); if (state.failed) return;
+				mHASH_SYMBOL(); if (state.failed) return;
 
 				}
 				break;
 			case 44 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:341: IMPORTANT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:345: HASH
 				{
-				mIMPORTANT_SYM(); if (state.failed) return;
+				mHASH(); if (state.failed) return;
 
 				}
 				break;
 			case 45 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:355: IMPORT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:350: IMPORTANT_SYM
 				{
-				mIMPORT_SYM(); if (state.failed) return;
+				mIMPORTANT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 46 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:366: PAGE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:364: IMPORT_SYM
 				{
-				mPAGE_SYM(); if (state.failed) return;
+				mIMPORT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 47 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:375: MEDIA_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:375: PAGE_SYM
 				{
-				mMEDIA_SYM(); if (state.failed) return;
+				mPAGE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 48 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:385: NAMESPACE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:384: MEDIA_SYM
 				{
-				mNAMESPACE_SYM(); if (state.failed) return;
+				mMEDIA_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 49 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:399: CHARSET_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:394: NAMESPACE_SYM
 				{
-				mCHARSET_SYM(); if (state.failed) return;
+				mNAMESPACE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 50 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:411: COUNTER_STYLE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:408: CHARSET_SYM
 				{
-				mCOUNTER_STYLE_SYM(); if (state.failed) return;
+				mCHARSET_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 51 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:429: FONT_FACE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:420: COUNTER_STYLE_SYM
 				{
-				mFONT_FACE_SYM(); if (state.failed) return;
+				mCOUNTER_STYLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 52 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:443: TOPLEFTCORNER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:438: FONT_FACE_SYM
 				{
-				mTOPLEFTCORNER_SYM(); if (state.failed) return;
+				mFONT_FACE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 53 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:461: TOPLEFT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:452: TOPLEFTCORNER_SYM
 				{
-				mTOPLEFT_SYM(); if (state.failed) return;
+				mTOPLEFTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 54 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:473: TOPCENTER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:470: TOPLEFT_SYM
 				{
-				mTOPCENTER_SYM(); if (state.failed) return;
+				mTOPLEFT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 55 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:487: TOPRIGHT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:482: TOPCENTER_SYM
 				{
-				mTOPRIGHT_SYM(); if (state.failed) return;
+				mTOPCENTER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 56 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:500: TOPRIGHTCORNER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:496: TOPRIGHT_SYM
 				{
-				mTOPRIGHTCORNER_SYM(); if (state.failed) return;
+				mTOPRIGHT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 57 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:519: BOTTOMLEFTCORNER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:509: TOPRIGHTCORNER_SYM
 				{
-				mBOTTOMLEFTCORNER_SYM(); if (state.failed) return;
+				mTOPRIGHTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 58 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:540: BOTTOMLEFT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:528: BOTTOMLEFTCORNER_SYM
 				{
-				mBOTTOMLEFT_SYM(); if (state.failed) return;
+				mBOTTOMLEFTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 59 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:555: BOTTOMCENTER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:549: BOTTOMLEFT_SYM
 				{
-				mBOTTOMCENTER_SYM(); if (state.failed) return;
+				mBOTTOMLEFT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 60 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:572: BOTTOMRIGHT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:564: BOTTOMCENTER_SYM
 				{
-				mBOTTOMRIGHT_SYM(); if (state.failed) return;
+				mBOTTOMCENTER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 61 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:588: BOTTOMRIGHTCORNER_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:581: BOTTOMRIGHT_SYM
 				{
-				mBOTTOMRIGHTCORNER_SYM(); if (state.failed) return;
+				mBOTTOMRIGHT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 62 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:610: LEFTTOP_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:597: BOTTOMRIGHTCORNER_SYM
 				{
-				mLEFTTOP_SYM(); if (state.failed) return;
+				mBOTTOMRIGHTCORNER_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 63 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:622: LEFTMIDDLE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:619: LEFTTOP_SYM
 				{
-				mLEFTMIDDLE_SYM(); if (state.failed) return;
+				mLEFTTOP_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 64 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:637: LEFTBOTTOM_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:631: LEFTMIDDLE_SYM
 				{
-				mLEFTBOTTOM_SYM(); if (state.failed) return;
+				mLEFTMIDDLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 65 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:652: RIGHTTOP_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:646: LEFTBOTTOM_SYM
 				{
-				mRIGHTTOP_SYM(); if (state.failed) return;
+				mLEFTBOTTOM_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 66 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:665: RIGHTMIDDLE_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:661: RIGHTTOP_SYM
 				{
-				mRIGHTMIDDLE_SYM(); if (state.failed) return;
+				mRIGHTTOP_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 67 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:681: RIGHTBOTTOM_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:674: RIGHTMIDDLE_SYM
 				{
-				mRIGHTBOTTOM_SYM(); if (state.failed) return;
+				mRIGHTMIDDLE_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 68 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:697: MOZ_DOCUMENT_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:690: RIGHTBOTTOM_SYM
 				{
-				mMOZ_DOCUMENT_SYM(); if (state.failed) return;
+				mRIGHTBOTTOM_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 69 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:714: WEBKIT_KEYFRAMES_SYM
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:706: MOZ_DOCUMENT_SYM
 				{
-				mWEBKIT_KEYFRAMES_SYM(); if (state.failed) return;
+				mMOZ_DOCUMENT_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 70 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:735: SASS_CONTENT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:723: WEBKIT_KEYFRAMES_SYM
 				{
-				mSASS_CONTENT(); if (state.failed) return;
+				mWEBKIT_KEYFRAMES_SYM(); if (state.failed) return;
 
 				}
 				break;
 			case 71 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:748: SASS_MIXIN
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:744: SASS_CONTENT
 				{
-				mSASS_MIXIN(); if (state.failed) return;
+				mSASS_CONTENT(); if (state.failed) return;
 
 				}
 				break;
 			case 72 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:759: SASS_INCLUDE
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:757: SASS_MIXIN
 				{
-				mSASS_INCLUDE(); if (state.failed) return;
+				mSASS_MIXIN(); if (state.failed) return;
 
 				}
 				break;
 			case 73 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:772: SASS_EXTEND
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:768: SASS_INCLUDE
 				{
-				mSASS_EXTEND(); if (state.failed) return;
+				mSASS_INCLUDE(); if (state.failed) return;
 
 				}
 				break;
 			case 74 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:784: SASS_DEBUG
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:781: SASS_EXTEND
 				{
-				mSASS_DEBUG(); if (state.failed) return;
+				mSASS_EXTEND(); if (state.failed) return;
 
 				}
 				break;
 			case 75 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:795: SASS_ERROR
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:793: SASS_DEBUG
 				{
-				mSASS_ERROR(); if (state.failed) return;
+				mSASS_DEBUG(); if (state.failed) return;
 
 				}
 				break;
 			case 76 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:806: SASS_WARN
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:804: SASS_ERROR
 				{
-				mSASS_WARN(); if (state.failed) return;
+				mSASS_ERROR(); if (state.failed) return;
 
 				}
 				break;
 			case 77 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:816: SASS_IF
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:815: SASS_WARN
 				{
-				mSASS_IF(); if (state.failed) return;
+				mSASS_WARN(); if (state.failed) return;
 
 				}
 				break;
 			case 78 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:824: SASS_ELSE
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:825: SASS_IF
 				{
-				mSASS_ELSE(); if (state.failed) return;
+				mSASS_IF(); if (state.failed) return;
 
 				}
 				break;
 			case 79 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:834: SASS_ELSEIF
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:833: SASS_ELSE
 				{
-				mSASS_ELSEIF(); if (state.failed) return;
+				mSASS_ELSE(); if (state.failed) return;
 
 				}
 				break;
 			case 80 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:846: SASS_FOR
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:843: SASS_ELSEIF
 				{
-				mSASS_FOR(); if (state.failed) return;
+				mSASS_ELSEIF(); if (state.failed) return;
 
 				}
 				break;
 			case 81 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:855: SASS_FUNCTION
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:855: SASS_FOR
 				{
-				mSASS_FUNCTION(); if (state.failed) return;
+				mSASS_FOR(); if (state.failed) return;
 
 				}
 				break;
 			case 82 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:869: SASS_RETURN
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:864: SASS_FUNCTION
 				{
-				mSASS_RETURN(); if (state.failed) return;
+				mSASS_FUNCTION(); if (state.failed) return;
 
 				}
 				break;
 			case 83 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:881: SASS_EACH
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:878: SASS_RETURN
 				{
-				mSASS_EACH(); if (state.failed) return;
+				mSASS_RETURN(); if (state.failed) return;
 
 				}
 				break;
 			case 84 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:891: SASS_WHILE
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:890: SASS_EACH
 				{
-				mSASS_WHILE(); if (state.failed) return;
+				mSASS_EACH(); if (state.failed) return;
 
 				}
 				break;
 			case 85 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:902: SASS_AT_ROOT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:900: SASS_WHILE
 				{
-				mSASS_AT_ROOT(); if (state.failed) return;
+				mSASS_WHILE(); if (state.failed) return;
 
 				}
 				break;
 			case 86 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:915: AT_SIGN
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:911: SASS_AT_ROOT
 				{
-				mAT_SIGN(); if (state.failed) return;
+				mSASS_AT_ROOT(); if (state.failed) return;
 
 				}
 				break;
 			case 87 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:923: AT_IDENT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:924: AT_SIGN
 				{
-				mAT_IDENT(); if (state.failed) return;
+				mAT_SIGN(); if (state.failed) return;
 
 				}
 				break;
 			case 88 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:932: SASS_VAR
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:932: AT_IDENT
 				{
-				mSASS_VAR(); if (state.failed) return;
+				mAT_IDENT(); if (state.failed) return;
 
 				}
 				break;
 			case 89 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:941: SASS_DEFAULT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:941: SASS_VAR
 				{
-				mSASS_DEFAULT(); if (state.failed) return;
+				mSASS_VAR(); if (state.failed) return;
 
 				}
 				break;
 			case 90 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:954: SASS_OPTIONAL
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:950: SASS_DEFAULT
 				{
-				mSASS_OPTIONAL(); if (state.failed) return;
+				mSASS_DEFAULT(); if (state.failed) return;
 
 				}
 				break;
 			case 91 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:968: SASS_GLOBAL
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:963: SASS_OPTIONAL
 				{
-				mSASS_GLOBAL(); if (state.failed) return;
+				mSASS_OPTIONAL(); if (state.failed) return;
 
 				}
 				break;
 			case 92 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:980: SASS_EXTEND_ONLY_SELECTOR
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:977: SASS_GLOBAL
 				{
-				mSASS_EXTEND_ONLY_SELECTOR(); if (state.failed) return;
+				mSASS_GLOBAL(); if (state.failed) return;
 
 				}
 				break;
 			case 93 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1006: NUMBER
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:989: SASS_EXTEND_ONLY_SELECTOR
 				{
-				mNUMBER(); if (state.failed) return;
+				mSASS_EXTEND_ONLY_SELECTOR(); if (state.failed) return;
 
 				}
 				break;
 			case 94 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1013: URI
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1015: NUMBER
 				{
-				mURI(); if (state.failed) return;
+				mNUMBER(); if (state.failed) return;
 
 				}
 				break;
 			case 95 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1017: MOZ_URL_PREFIX
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1022: URI
 				{
-				mMOZ_URL_PREFIX(); if (state.failed) return;
+				mURI(); if (state.failed) return;
 
 				}
 				break;
 			case 96 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1032: MOZ_DOMAIN
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1026: MOZ_URL_PREFIX
 				{
-				mMOZ_DOMAIN(); if (state.failed) return;
+				mMOZ_URL_PREFIX(); if (state.failed) return;
 
 				}
 				break;
 			case 97 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1043: MOZ_REGEXP
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1041: MOZ_DOMAIN
 				{
-				mMOZ_REGEXP(); if (state.failed) return;
+				mMOZ_DOMAIN(); if (state.failed) return;
 
 				}
 				break;
 			case 98 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1054: WS
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1052: MOZ_REGEXP
 				{
-				mWS(); if (state.failed) return;
+				mMOZ_REGEXP(); if (state.failed) return;
 
 				}
 				break;
 			case 99 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1057: NL
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1063: WS
 				{
-				mNL(); if (state.failed) return;
+				mWS(); if (state.failed) return;
 
 				}
 				break;
 			case 100 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1060: COMMENT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1066: NL
 				{
-				mCOMMENT(); if (state.failed) return;
+				mNL(); if (state.failed) return;
 
 				}
 				break;
 			case 101 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1068: LINE_COMMENT
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1069: COMMENT
+				{
+				mCOMMENT(); if (state.failed) return;
+
+				}
+				break;
+			case 102 :
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1077: LINE_COMMENT
 				{
 				mLINE_COMMENT(); if (state.failed) return;
 
@@ -10977,8 +11031,8 @@ public class Css3Lexer extends Lexer {
 
 	// $ANTLR start synpred1_Css3
 	public final void synpred1_Css3_fragment() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:26: ( '\\\\\\\"' )
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:27: '\\\\\\\"'
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:26: ( '\\\\\\\"' )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:27: '\\\\\\\"'
 		{
 		match("\\\""); if (state.failed) return;
 
@@ -10989,8 +11043,8 @@ public class Css3Lexer extends Lexer {
 
 	// $ANTLR start synpred2_Css3
 	public final void synpred2_Css3_fragment() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:47: ( '\\\\\\\\' )
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:48: '\\\\\\\\'
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:47: ( '\\\\\\\\' )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:48: '\\\\\\\\'
 		{
 		match("\\\\"); if (state.failed) return;
 
@@ -11001,20 +11055,20 @@ public class Css3Lexer extends Lexer {
 
 	// $ANTLR start synpred3_Css3
 	public final void synpred3_Css3_fragment() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:15: ( D P ( I | C ) )
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:16: D P ( I | C )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:15: ( D P ( I | C ) )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:16: D P ( I | C )
 		{
 		mD(); if (state.failed) return;
 
 		mP(); if (state.failed) return;
 
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:20: ( I | C )
-		int alt209=2;
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:20: ( I | C )
+		int alt210=2;
 		switch ( input.LA(1) ) {
 		case 'I':
 		case 'i':
 			{
-			alt209=1;
+			alt210=1;
 			}
 			break;
 		case '\\':
@@ -11023,25 +11077,25 @@ public class Css3Lexer extends Lexer {
 			case 'I':
 			case 'i':
 				{
-				alt209=1;
+				alt210=1;
 				}
 				break;
 			case '0':
 				{
-				int LA209_4 = input.LA(3);
-				if ( (LA209_4=='0') ) {
-					int LA209_6 = input.LA(4);
-					if ( (LA209_6=='0') ) {
-						int LA209_7 = input.LA(5);
-						if ( (LA209_7=='0') ) {
-							int LA209_8 = input.LA(6);
-							if ( (LA209_8=='4'||LA209_8=='6') ) {
-								int LA209_5 = input.LA(7);
-								if ( (LA209_5=='9') ) {
-									alt209=1;
+				int LA210_4 = input.LA(3);
+				if ( (LA210_4=='0') ) {
+					int LA210_6 = input.LA(4);
+					if ( (LA210_6=='0') ) {
+						int LA210_7 = input.LA(5);
+						if ( (LA210_7=='0') ) {
+							int LA210_8 = input.LA(6);
+							if ( (LA210_8=='4'||LA210_8=='6') ) {
+								int LA210_5 = input.LA(7);
+								if ( (LA210_5=='9') ) {
+									alt210=1;
 								}
-								else if ( (LA209_5=='3') ) {
-									alt209=2;
+								else if ( (LA210_5=='3') ) {
+									alt210=2;
 								}
 
 								else {
@@ -11052,7 +11106,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 209, 5, input);
+											new NoViableAltException("", 210, 5, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -11069,7 +11123,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 209, 8, input);
+										new NoViableAltException("", 210, 8, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -11077,13 +11131,13 @@ public class Css3Lexer extends Lexer {
 							}
 
 						}
-						else if ( (LA209_7=='4'||LA209_7=='6') ) {
-							int LA209_5 = input.LA(6);
-							if ( (LA209_5=='9') ) {
-								alt209=1;
+						else if ( (LA210_7=='4'||LA210_7=='6') ) {
+							int LA210_5 = input.LA(6);
+							if ( (LA210_5=='9') ) {
+								alt210=1;
 							}
-							else if ( (LA209_5=='3') ) {
-								alt209=2;
+							else if ( (LA210_5=='3') ) {
+								alt210=2;
 							}
 
 							else {
@@ -11094,7 +11148,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 209, 5, input);
+										new NoViableAltException("", 210, 5, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -11111,7 +11165,7 @@ public class Css3Lexer extends Lexer {
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 209, 7, input);
+									new NoViableAltException("", 210, 7, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -11119,13 +11173,13 @@ public class Css3Lexer extends Lexer {
 						}
 
 					}
-					else if ( (LA209_6=='4'||LA209_6=='6') ) {
-						int LA209_5 = input.LA(5);
-						if ( (LA209_5=='9') ) {
-							alt209=1;
+					else if ( (LA210_6=='4'||LA210_6=='6') ) {
+						int LA210_5 = input.LA(5);
+						if ( (LA210_5=='9') ) {
+							alt210=1;
 						}
-						else if ( (LA209_5=='3') ) {
-							alt209=2;
+						else if ( (LA210_5=='3') ) {
+							alt210=2;
 						}
 
 						else {
@@ -11136,7 +11190,7 @@ public class Css3Lexer extends Lexer {
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 209, 5, input);
+									new NoViableAltException("", 210, 5, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -11153,7 +11207,7 @@ public class Css3Lexer extends Lexer {
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 209, 6, input);
+								new NoViableAltException("", 210, 6, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -11161,13 +11215,13 @@ public class Css3Lexer extends Lexer {
 					}
 
 				}
-				else if ( (LA209_4=='4'||LA209_4=='6') ) {
-					int LA209_5 = input.LA(4);
-					if ( (LA209_5=='9') ) {
-						alt209=1;
+				else if ( (LA210_4=='4'||LA210_4=='6') ) {
+					int LA210_5 = input.LA(4);
+					if ( (LA210_5=='9') ) {
+						alt210=1;
 					}
-					else if ( (LA209_5=='3') ) {
-						alt209=2;
+					else if ( (LA210_5=='3') ) {
+						alt210=2;
 					}
 
 					else {
@@ -11178,7 +11232,7 @@ public class Css3Lexer extends Lexer {
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 209, 5, input);
+								new NoViableAltException("", 210, 5, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -11195,7 +11249,7 @@ public class Css3Lexer extends Lexer {
 							input.consume();
 						}
 						NoViableAltException nvae =
-							new NoViableAltException("", 209, 4, input);
+							new NoViableAltException("", 210, 4, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -11207,12 +11261,12 @@ public class Css3Lexer extends Lexer {
 			case '4':
 			case '6':
 				{
-				int LA209_5 = input.LA(3);
-				if ( (LA209_5=='9') ) {
-					alt209=1;
+				int LA210_5 = input.LA(3);
+				if ( (LA210_5=='9') ) {
+					alt210=1;
 				}
-				else if ( (LA209_5=='3') ) {
-					alt209=2;
+				else if ( (LA210_5=='3') ) {
+					alt210=2;
 				}
 
 				else {
@@ -11223,7 +11277,7 @@ public class Css3Lexer extends Lexer {
 							input.consume();
 						}
 						NoViableAltException nvae =
-							new NoViableAltException("", 209, 5, input);
+							new NoViableAltException("", 210, 5, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -11238,7 +11292,7 @@ public class Css3Lexer extends Lexer {
 				try {
 					input.consume();
 					NoViableAltException nvae =
-						new NoViableAltException("", 209, 2, input);
+						new NoViableAltException("", 210, 2, input);
 					throw nvae;
 				} finally {
 					input.rewind(nvaeMark);
@@ -11249,25 +11303,25 @@ public class Css3Lexer extends Lexer {
 		case 'C':
 		case 'c':
 			{
-			alt209=2;
+			alt210=2;
 			}
 			break;
 		default:
 			if (state.backtracking>0) {state.failed=true; return;}
 			NoViableAltException nvae =
-				new NoViableAltException("", 209, 0, input);
+				new NoViableAltException("", 210, 0, input);
 			throw nvae;
 		}
-		switch (alt209) {
+		switch (alt210) {
 			case 1 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:21: I
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:21: I
 				{
 				mI(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:23: C
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:23: C
 				{
 				mC(); if (state.failed) return;
 
@@ -11283,18 +11337,18 @@ public class Css3Lexer extends Lexer {
 
 	// $ANTLR start synpred4_Css3
 	public final void synpred4_Css3_fragment() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:15: ( E ( M | X ) )
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:16: E ( M | X )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:15: ( E ( M | X ) )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:16: E ( M | X )
 		{
 		mE(); if (state.failed) return;
 
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:18: ( M | X )
-		int alt210=2;
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:18: ( M | X )
+		int alt211=2;
 		switch ( input.LA(1) ) {
 		case 'M':
 		case 'm':
 			{
-			alt210=1;
+			alt211=1;
 			}
 			break;
 		case '\\':
@@ -11305,7 +11359,7 @@ public class Css3Lexer extends Lexer {
 			case 'M':
 			case 'm':
 				{
-				alt210=1;
+				alt211=1;
 				}
 				break;
 			case '0':
@@ -11319,12 +11373,12 @@ public class Css3Lexer extends Lexer {
 						switch ( input.LA(5) ) {
 						case '0':
 							{
-							int LA210_7 = input.LA(6);
-							if ( (LA210_7=='4'||LA210_7=='6') ) {
-								alt210=1;
+							int LA211_7 = input.LA(6);
+							if ( (LA211_7=='4'||LA211_7=='6') ) {
+								alt211=1;
 							}
-							else if ( (LA210_7=='5'||LA210_7=='7') ) {
-								alt210=2;
+							else if ( (LA211_7=='5'||LA211_7=='7') ) {
+								alt211=2;
 							}
 
 							else {
@@ -11335,7 +11389,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 210, 7, input);
+										new NoViableAltException("", 211, 7, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -11347,13 +11401,13 @@ public class Css3Lexer extends Lexer {
 						case '4':
 						case '6':
 							{
-							alt210=1;
+							alt211=1;
 							}
 							break;
 						case '5':
 						case '7':
 							{
-							alt210=2;
+							alt211=2;
 							}
 							break;
 						default:
@@ -11364,7 +11418,7 @@ public class Css3Lexer extends Lexer {
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 210, 6, input);
+									new NoViableAltException("", 211, 6, input);
 								throw nvae;
 							} finally {
 								input.rewind(nvaeMark);
@@ -11375,13 +11429,13 @@ public class Css3Lexer extends Lexer {
 					case '4':
 					case '6':
 						{
-						alt210=1;
+						alt211=1;
 						}
 						break;
 					case '5':
 					case '7':
 						{
-						alt210=2;
+						alt211=2;
 						}
 						break;
 					default:
@@ -11392,7 +11446,7 @@ public class Css3Lexer extends Lexer {
 								input.consume();
 							}
 							NoViableAltException nvae =
-								new NoViableAltException("", 210, 5, input);
+								new NoViableAltException("", 211, 5, input);
 							throw nvae;
 						} finally {
 							input.rewind(nvaeMark);
@@ -11403,13 +11457,13 @@ public class Css3Lexer extends Lexer {
 				case '4':
 				case '6':
 					{
-					alt210=1;
+					alt211=1;
 					}
 					break;
 				case '5':
 				case '7':
 					{
-					alt210=2;
+					alt211=2;
 					}
 					break;
 				default:
@@ -11420,7 +11474,7 @@ public class Css3Lexer extends Lexer {
 							input.consume();
 						}
 						NoViableAltException nvae =
-							new NoViableAltException("", 210, 4, input);
+							new NoViableAltException("", 211, 4, input);
 						throw nvae;
 					} finally {
 						input.rewind(nvaeMark);
@@ -11433,7 +11487,7 @@ public class Css3Lexer extends Lexer {
 			case 'X':
 			case 'x':
 				{
-				alt210=2;
+				alt211=2;
 				}
 				break;
 			default:
@@ -11442,7 +11496,7 @@ public class Css3Lexer extends Lexer {
 				try {
 					input.consume();
 					NoViableAltException nvae =
-						new NoViableAltException("", 210, 2, input);
+						new NoViableAltException("", 211, 2, input);
 					throw nvae;
 				} finally {
 					input.rewind(nvaeMark);
@@ -11453,25 +11507,25 @@ public class Css3Lexer extends Lexer {
 		case 'X':
 		case 'x':
 			{
-			alt210=2;
+			alt211=2;
 			}
 			break;
 		default:
 			if (state.backtracking>0) {state.failed=true; return;}
 			NoViableAltException nvae =
-				new NoViableAltException("", 210, 0, input);
+				new NoViableAltException("", 211, 0, input);
 			throw nvae;
 		}
-		switch (alt210) {
+		switch (alt211) {
 			case 1 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:19: M
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:19: M
 				{
 				mM(); if (state.failed) return;
 
 				}
 				break;
 			case 2 :
-				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:21: X
+				// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:21: X
 				{
 				mX(); if (state.failed) return;
 
@@ -11487,18 +11541,18 @@ public class Css3Lexer extends Lexer {
 
 	// $ANTLR start synpred5_Css3
 	public final void synpred5_Css3_fragment() throws RecognitionException {
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:15: ( P ( X | T | C ) )
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:16: P ( X | T | C )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:15: ( P ( X | T | C ) )
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:16: P ( X | T | C )
 		{
 		mP(); if (state.failed) return;
 
-		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:17: ( X | T | C )
-		int alt211=3;
+		// /home/matthias/src/incubator-netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:17: ( X | T | C )
+		int alt212=3;
 		switch ( input.LA(1) ) {
 		case 'X':
 		case 'x':
 			{
-			alt211=1;
+			alt212=1;
 			}
 			break;
 		case '\\':
@@ -11507,7 +11561,7 @@ public class Css3Lexer extends Lexer {
 			case 'X':
 			case 'x':
 				{
-				alt211=1;
+				alt212=1;
 				}
 				break;
 			case '0':
@@ -11521,14 +11575,14 @@ public class Css3Lexer extends Lexer {
 						switch ( input.LA(5) ) {
 						case '0':
 							{
-							int LA211_9 = input.LA(6);
-							if ( (LA211_9=='5'||LA211_9=='7') ) {
-								int LA211_6 = input.LA(7);
-								if ( (LA211_6=='8') ) {
-									alt211=1;
+							int LA212_9 = input.LA(6);
+							if ( (LA212_9=='5'||LA212_9=='7') ) {
+								int LA212_6 = input.LA(7);
+								if ( (LA212_6=='8') ) {
+									alt212=1;
 								}
-								else if ( (LA211_6=='4') ) {
-									alt211=2;
+								else if ( (LA212_6=='4') ) {
+									alt212=2;
 								}
 
 								else {
@@ -11539,7 +11593,7 @@ public class Css3Lexer extends Lexer {
 											input.consume();
 										}
 										NoViableAltException nvae =
-											new NoViableAltException("", 211, 6, input);
+											new NoViableAltException("", 212, 6, input);
 										throw nvae;
 									} finally {
 										input.rewind(nvaeMark);
@@ -11547,8 +11601,8 @@ public class Css3Lexer extends Lexer {
 								}
 
 							}
-							else if ( (LA211_9=='4'||LA211_9=='6') ) {
-								alt211=3;
+							else if ( (LA212_9=='4'||LA212_9=='6') ) {
+								alt212=3;
 							}
 
 							else {
@@ -11559,7 +11613,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 211, 9, input);
+										new NoViableAltException("", 212, 9, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -11571,12 +11625,12 @@ public class Css3Lexer extends Lexer {
 						case '5':
 						case '7':
 							{
-							int LA211_6 = input.LA(6);
-							if ( (LA211_6=='8') ) {
-								alt211=1;
+							int LA212_6 = input.LA(6);
+							if ( (LA212_6=='8') ) {
+								alt212=1;
 							}
-							else if ( (LA211_6=='4') ) {
-								alt211=2;
+							else if ( (LA212_6=='4') ) {
+								alt212=2;
 							}
 
 							else {
@@ -11587,7 +11641,7 @@ public class Css3Lexer extends Lexer {
 										input.consume();
 									}
 									NoViableAltException nvae =
-										new NoViableAltException("", 211, 6, input);
+										new NoViableAltException("", 212, 6, input);
 									throw nvae;
 								} finally {
 									input.rewind(nvaeMark);
@@ -11599,7 +11653,7 @@ public class Css3Lexer extends Lexer {
 						case '4':
 						case '6':
 							{
-							alt211=3;
+							alt212=3;
 							}
 							break;
 						default:
@@ -11610,7 +11664,7 @@ public class Css3Lexer extends Lexer {
 									input.consume();
 								}
 								NoViableAltException nvae =
-									new NoViableAltException("", 211, 8, input);
... 32515 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists