ソースを参照

update the creation of torqueScript html documentation via doxygen.
* updates to consoleDoc.cc
* output global script functions as "groups" instead of a "namespace".
* this helps create an organization that isn't hacking the "namespace" C++ concept
* a new doxygen "layout" file
* uses "groups" instead of "namespace" to get global functions organized well
* for classes, uses the term "methods" and "fields" in place of "public attributes" and other default C++ what-not
* a new css files.
* based on doxygen default but with much less bold text. :)
* keeps all the unnecessary configuration in tact. it doesn't hurt and it will be easier to diff with future doxygen defaults

Charlie Patterson 12 年 前
コミット
f7f45a99df

+ 32 - 8
engine/source/console/consoleDoc.cc

@@ -167,7 +167,7 @@ void printClassHeader(const char* usage, const char * className, const char * su
    if(superClassName)
    if(superClassName)
       Con::printf("class  %s : public %s {", className, superClassName ? superClassName : "");
       Con::printf("class  %s : public %s {", className, superClassName ? superClassName : "");
    else if(!className)
    else if(!className)
-      Con::printf("namespace Global {");
+   { /* nothing to print */ }
    else
    else
       Con::printf("class  %s {", className);
       Con::printf("class  %s {", className);
 
 
@@ -180,10 +180,30 @@ void printClassMethod(const bool isVirtual, const char *retType, const char *met
 {
 {
    if(usage && usage[0] != ';' && usage[0] != 0)
    if(usage && usage[0] != ';' && usage[0] != 0)
       Con::printf("   /*! %s */", usage);
       Con::printf("   /*! %s */", usage);
-   Con::printf("   %s%s %s(%s) {}", isVirtual ? "virtual " : "", retType, methodName, args);
+
+   // no longer want to see "virtual" attribute for each "built-in" function.
+   // (they are all built-in if you dump before loading scripts.)
+   Con::printf("   %s%s %s(%s) {}", /* isVirtual */ false ? "virtual " : "", retType, methodName, args);
 }
 }
 
 
+// a doxygen "group" or "module" declaration to organize collections arbitrarily
+// (doxygen uses the terms "group" and "module" interchangeably)
 void printGroupStart(const char * aName, const char * aDocs)
 void printGroupStart(const char * aName, const char * aDocs)
+{
+   Con::printf("");
+   Con::printf("   /*! @defgroup %s", aName);
+
+   if(aDocs)
+   {
+      Con::printf("   ");
+      Con::printf("   %s", aDocs);
+   }
+
+   Con::printf("   @{ */");
+}
+
+// a doxygen "member group" declaration, for use within a class to organize methods and variables
+void printMemberGroupStart(const char * aName, const char * aDocs)
 {
 {
    Con::printf("");
    Con::printf("");
    Con::printf("   /*! @name %s", aName);
    Con::printf("   /*! @name %s", aName);
@@ -215,12 +235,20 @@ void printClassMember(const bool isDeprec, const char * aType, const char * aNam
    Con::printf("   %s %s;", isDeprec ? "deprecated" : aType, aName);
    Con::printf("   %s %s;", isDeprec ? "deprecated" : aType, aName);
 }
 }
 
 
+// see printGroupStart
 void printGroupEnd()
 void printGroupEnd()
 {
 {
    Con::printf("   /// @}");
    Con::printf("   /// @}");
    Con::printf("");
    Con::printf("");
 }
 }
 
 
+// see printMemberGroupStart
+void printMemberGroupEnd()
+{
+   Con::printf("   /// @}");
+   Con::printf("");
+}
+
 void printClassFooter()
 void printClassFooter()
 {
 {
    Con::printf("};");
    Con::printf("};");
@@ -472,10 +500,10 @@ void Namespace::dumpClasses( bool dumpScript, bool dumpEngine )
             switch((*fieldList)[j].type)
             switch((*fieldList)[j].type)
             {
             {
             case AbstractClassRep::StartGroupFieldType:
             case AbstractClassRep::StartGroupFieldType:
-               printGroupStart((*fieldList)[j].pGroupname, (*fieldList)[j].pFieldDocs);
+               printMemberGroupStart((*fieldList)[j].pGroupname, (*fieldList)[j].pFieldDocs);
                break;
                break;
             case AbstractClassRep::EndGroupFieldType:
             case AbstractClassRep::EndGroupFieldType:
-               printGroupEnd();
+               printMemberGroupEnd();
                break;
                break;
             default:
             default:
             case AbstractClassRep::DepricatedFieldType:
             case AbstractClassRep::DepricatedFieldType:
@@ -600,13 +628,9 @@ void Namespace::dumpFunctions( bool dumpScript, bool dumpEngine )
    // Get the global namespace.
    // Get the global namespace.
    Namespace* g = find(NULL); //->mParent;
    Namespace* g = find(NULL); //->mParent;
 
 
-   printClassHeader(NULL, NULL,NULL, false);
-
    while(g) 
    while(g) 
    {
    {
       printNamespaceEntries(g, dumpScript, dumpEngine );
       printNamespaceEntries(g, dumpScript, dumpEngine );
       g = g->mParent;
       g = g->mParent;
    }
    }
-
-   printClassFooter();
 }
 }

+ 42 - 13
tools/documentation/scriptRefLayout.xml

@@ -1,14 +1,39 @@
 <doxygenlayout version="1.0">
 <doxygenlayout version="1.0">
+  <!-- Generated by doxygen 1.8.3.1 -->
   <!-- Navigation index tabs for HTML output -->
   <!-- Navigation index tabs for HTML output -->
   <navindex>
   <navindex>
-    <tab type="namespaces" visible="yes" title="Global Script">
-      <tab type="namespaces" visible="yes" title="Functions"/>
-    </tab>  
-	<tab type="classes" visible="yes" title="Types">
+    <tab type="mainpage" visible="yes" title=""/>
+    <tab type="pages" visible="yes" title="" intro=""/>
+
+    <!--
+		TorqueScript has lots of (non-class) functions, in categories such as "audio", "math", etc.
+	    To output these in categories, use a group/module per category.
+		  * Use @defGroup per category, such as "audio", "math", etc.
+		Then change the module page name from "modules" to "TorqueScript Functions".
+
+		Each module will really be a category of functions, so each group link goes to a page representing
+		a category of the functions.
+
+		Note: "module" or "group" as defined by doxygen is just a grouping mechanism (both words are interchanged 
+		in the manual).  "Modules" are not a language feature like "namespace" or "class".
+		This will be our only use of module/group concept for TorqueScript documentation.
+		Note: global functions won't even show up without being wrapped in a group/module or other trick, anyway.
+	-->
+    <tab type="modules" visible="yes" title="TorqueScript Functions" intro="A reference of all (non-class) functions, grouped by category."/>
+    <tab type="namespaces" visible="yes" title="">
+      <tab type="namespacelist" visible="yes" title="" intro=""/>
+      <tab type="namespacemembers" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="classes" visible="yes" title="">
       <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="A-Z"/>
       <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="A-Z"/>
       <tab type="hierarchy" visible="$CLASS_HIERARCHY_INDEX" title="Hierarchy"/>
       <tab type="hierarchy" visible="$CLASS_HIERARCHY_INDEX" title="Hierarchy"/>
-	</tab>
-  </navindex>  
+    </tab>
+    <tab type="files" visible="yes" title="">
+      <tab type="filelist" visible="yes" title="" intro=""/>
+      <tab type="globals" visible="yes" title="" intro=""/>
+    </tab>
+    <tab type="examples" visible="yes" title="" intro=""/>  
+  </navindex>
 
 
   <!-- Layout definition for a class page -->
   <!-- Layout definition for a class page -->
   <class>
   <class>
@@ -16,15 +41,14 @@
     <includes visible="$SHOW_INCLUDE_FILES"/>
     <includes visible="$SHOW_INCLUDE_FILES"/>
     <inheritancegraph visible="$CLASS_GRAPH"/>
     <inheritancegraph visible="$CLASS_GRAPH"/>
     <collaborationgraph visible="$COLLABORATION_GRAPH"/>
     <collaborationgraph visible="$COLLABORATION_GRAPH"/>
-    <allmemberslink visible="yes"/>
     <memberdecl>
     <memberdecl>
       <nestedclasses visible="yes" title=""/>
       <nestedclasses visible="yes" title=""/>
       <publictypes title=""/>
       <publictypes title=""/>
       <publicslots title=""/>
       <publicslots title=""/>
       <signals title=""/>
       <signals title=""/>
-      <publicmethods title=""/>
+      <publicmethods title="Methods"/>
       <publicstaticmethods title=""/>
       <publicstaticmethods title=""/>
-      <publicattributes title=""/>
+      <publicattributes title="Fields"/>
       <publicstaticattributes title=""/>
       <publicstaticattributes title=""/>
       <protectedtypes title=""/>
       <protectedtypes title=""/>
       <protectedslots title=""/>
       <protectedslots title=""/>
@@ -51,15 +75,17 @@
     </memberdecl>
     </memberdecl>
     <detaileddescription title=""/>
     <detaileddescription title=""/>
     <memberdef>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <enums title=""/>
       <constructors title=""/>
       <constructors title=""/>
-      <functions title=""/>
+      <functions title="Methods"/>
       <related title=""/>
       <related title=""/>
       <variables title=""/>
       <variables title=""/>
       <properties title=""/>
       <properties title=""/>
       <events title=""/>
       <events title=""/>
     </memberdef>
     </memberdef>
+    <allmemberslink visible="yes"/>
     <usedfiles visible="$SHOW_USED_FILES"/>
     <usedfiles visible="$SHOW_USED_FILES"/>
     <authorsection visible="yes"/>
     <authorsection visible="yes"/>
   </class>
   </class>
@@ -78,6 +104,7 @@
     </memberdecl>
     </memberdecl>
     <detaileddescription title=""/>
     <detaileddescription title=""/>
     <memberdef>
     <memberdef>
+      <inlineclasses title=""/>
       <typedefs title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <enums title=""/>
       <functions title=""/>
       <functions title=""/>
@@ -105,6 +132,7 @@
     </memberdecl>
     </memberdecl>
     <detaileddescription title=""/>
     <detaileddescription title=""/>
     <memberdef>
     <memberdef>
+      <inlineclasses title=""/>
       <defines title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <enums title=""/>
@@ -119,11 +147,11 @@
     <briefdescription visible="yes"/>
     <briefdescription visible="yes"/>
     <groupgraph visible="$GROUP_GRAPHS"/>
     <groupgraph visible="$GROUP_GRAPHS"/>
     <memberdecl>
     <memberdecl>
-      <classes visible="yes" title=""/>
-      <namespaces visible="yes" title=""/>
-      <dirs visible="yes" title=""/>
       <nestedgroups visible="yes" title=""/>
       <nestedgroups visible="yes" title=""/>
+      <dirs visible="yes" title=""/>
       <files visible="yes" title=""/>
       <files visible="yes" title=""/>
+      <namespaces visible="yes" title=""/>
+      <classes visible="yes" title=""/>
       <defines title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <enums title=""/>
@@ -142,6 +170,7 @@
     <detaileddescription title=""/>
     <detaileddescription title=""/>
     <memberdef>
     <memberdef>
       <pagedocs/>
       <pagedocs/>
+      <inlineclasses title=""/>
       <defines title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <typedefs title=""/>
       <enums title=""/>
       <enums title=""/>

+ 1184 - 540
tools/documentation/torquedoc.css

@@ -1,540 +1,1184 @@
-/*The standard CSS for doxygen*/
-BODY, TABLE, DIV, P, DL
-{
-	font-family: Verdana, "Helvetica Neue", Arial, Helvetica, sans-serif;
-	font-size: 9pt;
-	/*[empty]background-color:;*/
-}
-
-TABLE.header
-{
-	background-color: #251F3D;
-	padding: 0;
-	border: 0;
-	margin: 0;
-	border-spacing: 0;
-}
-TD.headermenu
-{
-	background-color: #3D3755;
-	border-width: 0;
-	padding: 4px;
-	margin: 0 0 0 0;
-}
-
-DIV.contents
-{
-	padding-left: 20px;
-	padding-right: 20px;
-}
-
-.contents TABLE
-{
-/*A little spacing at the top of tables.*/
-	margin-top: 6px;
-	border-spacing: 0;
-}
-/*@group Heading Levels*/
-H1
-{
-	text-align: center;
-	font-size: 150%;
-}
-H2
-{
-	margin-top: 8px;
-	font-size: 120%;
-}
-H3
-{
-	font-size: 100%;
-}
-DT
-{
-	font-weight: bold;
-	margin-bottom: 7px;
-}
-DIV.multicol
-{
-/*-moz-column-gap: 1em*/
-	-webkit-column-gap: 1em;
-/*-moz-column-count: 3*/
-	-webkit-column-count: 3;
-}
-P.startli, P.startdd
-{
-	margin-top: 2px;
-}
-P.endli
-{
-	margin-bottom: 0px;
-}
-P.enddd
-{
-	margin-bottom: 4px;
-}
-/*@end*/
-CAPTION
-{
-	font-weight: bold;
-}
-SPAN.legend
-{
-	font-size: 70%;
-	text-align: center;
-}
-DIV.qindex, DIV.navtab
-{
-	background-color: #E8EEF2;
-	border: 1px solid #84B0C7;
-	text-align: center;
-	margin: 2px;
-	padding: 2px;
-}
-DIV.qindex, DIV.navpath
-{
-	width: 100%;
-	line-height: 140%;
-}
-DIV.navtab
-{
-	margin-right: 15px;
-}
-/*@group Link Styling*/
-A
-{
-	color: #0063B5;
-	font-weight: normal;
-	text-decoration: none;
-}
-.contents A:visited
-{
-	color: #1B77C5;
-}
-A:hover
-{
-	color: #3399CC;
-	text-decoration: underline;
-}
-
-A.qindex
-{
-	color: #CBCBCB;
-	font-weight: normal;
-	text-decoration: none;
-}
-A:hover.qindex
-{
-	color: #FFFFFF;
-}
-
-A.qindexHL
-{
-	font-weight: bold;
-	background-color: #6666CC;
-	color: #FFFFFF;
-	border: 1px double #9295C2;
-}
-.contents A.qindexHL:visited
-{
-	color: #FFFFFF;
-}
-A.el
-{
-	font-weight: normal;
-}
-A.elRef
-{
-}
-A.code
-{
-}
-A.codeRef
-{
-}
-
-/* Disable links within headers... these are usually just anchors */
-H1 A
-{
-	font-weight: bold;
-	color: #000000;
-}
-H1 A:hover
-{
-	color: #000000;
-	text-decoration: none;
-}
-H2 A
-{
-	font-weight: bold;
-	color: #000000;
-}
-H2 A:hover
-{
-	color: #000000;
-	text-decoration: none;
-}
-H3 A
-{
-	font-weight: bold;
-	color: #000000;
-}
-H3 A:hover
-{
-	color: #000000;
-	text-decoration: none;
-}
-
-/*@end*/
-DL.el
-{
-	margin-left: -1cm;
-}
-.fragment
-{
-	font-family: monospace, fixed;
-	font-size: 105%;
-}
-PRE.fragment
-{
-	border: 1px solid #CCCCCC;
-	background-color: #F5F5F5;
-	padding: 4px 6px;
-	margin: 4px 8px 4px 2px;
-}
-DIV.ah
-{
-	background-color: #000000;
-	font-weight: bold;
-	color: #FFFFFF;
-	margin-bottom: 3px;
-	margin-top: 3px;
-}
-DIV.groupHeader
-{
-	margin-left: 16px;
-	margin-top: 12px;
-	margin-bottom: 6px;
-	font-weight: bold;
-}
-DIV.groupText
-{
-	margin-left: 16px;
-	font-style: italic;
-}
-BODY
-{
-	background: #FFFFFF;
-	color: #000000;
-	margin-right: 0;
-	margin-left: 0;
-	margin-top: 0;
-}
-TD.indexkey
-{
-	background-color: #F2F1F0;
-	border-top: 1px solid #CCCCCC;
-	margin: 2px 2px 0px 0;
-	padding: 2px 10px;
-}
-TD.indexvalue
-{
-	background-color: #F2F1F0;
-	border-top: 1px solid #CCCCCC;
-	padding: 2px 10px;
-	margin: 2px 2px 2px 0;
-}
-.memlist TD
-{
-	background-color: #F2F1F0;
-	border-top: 1px solid #CCC;
-	padding: 4px 2px 4px 8px;
-}
-P.formulaDsp
-{
-	text-align: center;
-}
-IMG.formulaDsp
-{
-}
-IMG.formulaInl
-{
-	vertical-align: middle;
-}
-DIV.center
-{
-	text-align: center;
-	margin-top: 0px;
-	margin-bottom: 0px;
-	padding: 0px;
-}
-DIV.center IMG
-{
-	border: 0px solid #000000;
-}
-IMG.footer
-{
-	border: 0px solid #000000;
-	vertical-align: middle;
-}
-/*@group Code Colorization*/
-SPAN.keyword
-{
-	color: #008000;
-}
-SPAN.keywordtype
-{
-	color: #604020;
-}
-SPAN.keywordflow
-{
-	color: #E08000;
-}
-SPAN.comment
-{
-	color: #800000;
-}
-SPAN.preprocessor
-{
-	color: #806020;
-}
-SPAN.stringliteral
-{
-	color: #002080;
-}
-SPAN.charliteral
-{
-	color: #008080;
-}
-SPAN.vhdldigit
-{
-	color: #FF00FF;
-}
-SPAN.vhdlchar
-{
-	color: #000000;
-}
-SPAN.vhdlkeyword
-{
-	color: #700070;
-}
-SPAN.vhdllogic
-{
-	color: #FF0000;
-}
-/*@end*/
-.search
-{
-	color: #003399;
-	font-weight: bold;
-}
-FORM.search
-{
-	margin-bottom: 0px;
-	margin-top: 0px;
-}
-INPUT.search
-{
-	font-size: 75%;
-	color: #000080;
-	font-weight: normal;
-	background-color: #E8EEF2;
-}
-TD.tiny
-{
-	font-size: 75%;
-}
-.dirtab
-{
-	padding: 4px;
-	border-collapse: collapse;
-	border: 1px solid #84B0C7;
-}
-TH.dirtab
-{
-	background: #E8EEF2;
-	font-weight: bold;
-}
-HR
-{
-	height: 1px;
-	border: 0;
-	background: #666666;
-}
-/*@group Member Descriptions*/
-.mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams
-{
-	background-color: #F2F1F0;
-	border: none;
-	margin: 4px;
-	padding: 1px 2px 2px 8px;
-}
-.mdescLeft, .mdescRight
-{
-	padding: 0px 8px 4px;
-	color: #555;
-}
-.memItemLeft, .memItemRight, .memTemplParams
-{
-	border-top: 1px solid #CCC;
-	padding: 4px;
-}
-.memItemLeft, .memTemplItemLeft
-{
-	white-space: nowrap;
-}
-.memTemplParams
-{
-	color: #606060;
-	white-space: nowrap;
-}
-/*@end
-@group Member Details
-Styles for detailed member documentation*/
-.memtemplate
-{
-	font-size: 80%;
-	color: #606060;
-	font-weight: normal;
-	margin-left: 3px;
-}
-.memnav
-{
-	background-color: #E8EEF2;
-	border: 1px solid #84B0C7;
-	text-align: center;
-	margin: 2px;
-	margin-right: 15px;
-	padding: 2px;
-}
-.memitem
-{
-	padding: 0;
-	margin-bottom: 10px;
-}
-.memname
-{
-	color: #000066;
-	white-space: nowrap;
-	font-weight: normal;
-}
-.memproto
-{
-	border-top: 1px solid #CCCCCC;
-}
-.memproto
-{
-	padding: 5px;
-	background-color: #F2F1F0;
-	font-weight: normal;
-}
-.memdoc
-{
-	padding: 5px 10px;
-}
-.paramkey
-{
-	text-align: right;
-}
-.paramtype
-{
-	white-space: nowrap;
-}
-.paramname
-{
-	white-space: nowrap;
-}
-.paramname EM
-{
-	font-style: normal;
-}
-/*@end
-@group Directory (tree)
-for the tree view*/
-.ftvtree
-{
-	font-family: sans-serif;
-	margin: 0.5em;
-}
-/*these are for tree view when used as main index*/
-.directory
-{
-	font-size: 9pt;
-	font-weight: bold;
-}
-.directory H3
-{
-	margin: 0px;
-	margin-top: 1em;
-	font-size: 11pt;
-}
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice.  Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-
-
-.directory h3.swap {
-height: 61px;
-background-repeat: no-repeat;
-background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
-display: none;
-}
-*/
-.directory>H3
-{
-	margin-top: 0;
-}
-.directory P
-{
-	margin: 0px;
-	white-space: nowrap;
-}
-.directory DIV
-{
-	display: none;
-	margin: 0px;
-}
-.directory IMG
-{
-	vertical-align: -30%;
-}
-/*these are for tree view when not used as main index*/
-.directory-alt
-{
-	font-size: 100%;
-	font-weight: bold;
-}
-.directory-alt H3
-{
-	margin: 0px;
-	margin-top: 1em;
-	font-size: 11pt;
-}
-.directory-alt>H3
-{
-	margin-top: 0;
-}
-.directory-alt P
-{
-	margin: 0px;
-	white-space: nowrap;
-}
-.directory-alt DIV
-{
-	display: none;
-	margin: 0px;
-}
-.directory-alt IMG
-{
-	vertical-align: -30%;
-}
-/*@end*/
-ADDRESS
-{
-	font-style: normal;
-	color: #333;
-}
+/* The standard CSS for doxygen 1.8.3.1 */
+
+body, table, div, p, dl {
+	font: 400 14px/19px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+	margin-top: 2px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #ffffff;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: normal;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+        padding: 4px;
+        margin: 4px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+div.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: bold;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        -moz-border-radius-topleft: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+        -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #8080C0;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname {
+        font-style: italic;
+        vertical-align: top;
+}
+        
+.params .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 5px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 2px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+        padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.note
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00D000;
+}
+
+dl.deprecated
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #505050;
+}
+
+dl.todo
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00C0E0;
+}
+
+dl.test
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #3030E0;
+}
+
+dl.bug
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+}
+
+dl.citelist dd {
+        margin:2px 0;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 20px 10px 10px;
+        width: 200px;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+