changeset 16:8400a7db1330

USASR-1307: update templates to groovydoc 2.3.6
author smith@nwoca.org
date Wed, 31 Dec 2014 22:35:45 +0000
parents e3c55e83c9a4
children 3741247de37a
files build.gradle src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css
diffstat 4 files changed, 3013 insertions(+), 835 deletions(-) [+]
line wrap: on
line diff
--- a/build.gradle	Fri Jan 17 18:16:29 2014 +0000
+++ b/build.gradle	Wed Dec 31 22:35:45 2014 +0000
@@ -1,5 +1,6 @@
 
-apply from: "${gradle.hasProperty('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation :'http://hg.ssdt-ohio.org/browse/public/develkit'}/init.gradle"
+def ssdtInit = GradleVersion.current() < GradleVersion.version('2.0') ? 'init' : 'init20'
+apply from: "${gradle.ext.has('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation : 'http://hg.ssdt-ohio.org/browse/public/develkit'}/${ssdtInit}.gradle"
 
 description = "SSDT Gradle Plugins"
 
@@ -14,7 +15,7 @@
 sourceCompatibility = 1.6
 
 dependencies {
-    groovy      localGroovy()
+    compile     localGroovy()
     compile     gradleApi()
     testCompile 'junit:junit:4.10'
 }
--- a/src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy	Fri Jan 17 18:16:29 2014 +0000
+++ b/src/main/groovy/org/ssdt_ohio/gradle/doc/tools/UserClassDocProxy.groovy	Wed Dec 31 22:35:45 2014 +0000
@@ -18,4 +18,6 @@
 
     }
 
+    def propertyMissing(String name) { getAdaptee()."$name" }
+    
 }
--- a/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html	Fri Jan 17 18:16:29 2014 +0000
+++ b/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/classDocName.html	Wed Dec 31 22:35:45 2014 +0000
@@ -1,651 +1,735 @@
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- **************************************************************** -->
-<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
-<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
-<!-- **************************************************************** -->
-<%
-        
-        
-    classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc)
-
-    def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "")
-    def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' }
-    def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) }
-    def visibleFields = classDoc.fields().findAll(isVisible)
-    def visibleProperties = classDoc.properties() // props visible be defn
-    def visibleMethods = classDoc.methods().findAll(isVisible)
-    def visibleConstructors = classDoc.constructors().findAll(isVisible)
-    def visibleNested = classDoc.innerClasses().findAll(isVisible)
-    boolean hasFields = !classDoc.isAnnotationType() && visibleFields
-    boolean hasProperties = !classDoc.isAnnotationType() && visibleProperties
-    boolean hasElements = classDoc.isAnnotationType() && visibleFields
-    boolean methodSummaryShown = visibleMethods
-    boolean fieldSummaryShown = hasFields
-    boolean hasEnumConstants = classDoc.enumConstants()
-    def dolink = { t, boolean b ->
-        boolean isArray = false
-        if (!t || t instanceof String) {
-            return (classDoc.getDocUrl(t, b)  -'java.util.' - 'java.lang.')
-        }
-        if (t instanceof org.codehaus.groovy.tools.groovydoc.ArrayClassDocWrapper) {
-            t = t.delegate
-            isArray = true
-        }
-        if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
-            if (t.fullPathName == 'def') return classDoc.getDocUrl("java.lang.Object def", b)
-            return "<a href='" + classDoc.relativeRootPath + t.fullPathName + ".html'>" + ( (b ? t.qualifiedTypeName() : t.name() ) - "java.lang." - "java.util." ) + "</a>" + (isArray ? "[]" : "")
-        }
-        return ( classDoc.getDocUrl(t.qualifiedTypeName(), b) - 'java.util.' - 'java.lang.' ) + (isArray ? "[]" : "")
-    }
-    def linkfull = { t -> dolink(t, true) }
-    def linkable = { t -> dolink(t, false) }
-    def modifiersWithIgnore = { t, boolean ignorePublic ->
-        (t.isPrivate()?"private&nbsp;":"") +
-        (t.isPublic() && !ignorePublic?"public&nbsp;":"") +
-        (t.isProtected()?"protected&nbsp;":"") +
-        (t.isStatic()?"static&nbsp;":"") +
-        (t.isFinal()?"final&nbsp;":"") +
-        (t.respondsTo('isAbstract') && t.isAbstract()?"abstract&nbsp;":"")
-    }
-    def modifiers = { t -> modifiersWithIgnore(t, classDoc.isGroovy()) }
-    def modifiersBrief = { t ->
-        (t.isPrivate()?"private&nbsp;":"") +
-        (t.isProtected()?"protected&nbsp;":"") +
-        (t.isStatic()?"static&nbsp;":"")
-    }
-    def annotations = { t, sepChar ->
-        t.annotations() ? t.annotations().collect {
-//        it.isTypeAvailable() ? '@'+linkable(it.type().name())+(it.description()-('@'+it.type().name())): it.description()
-            it.description()
-        }.join(sepChar) + sepChar : ''
-    }
-    def elementTypes = [
-        "required":"true",
-        "optional":"false"
-    ]
-    def isRequired = { f, v ->
-        def req = f.constantValueExpression() == null; req.toString() == v
-    }
-    def upcase = { n -> n[0].toUpperCase() + n[1..-1] }
-    def paramsOf = { n, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName()) + (param.vararg()?'... ':' ') + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") }
-    def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' }
-    def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' }
-%>
-<html>
-<head>
-<!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} -->
-<title>${title}</title>
-<meta name="date" content="${new Date().format('yyyy-MM-dd')}">
-<meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
-<link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon">
-<link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon">
-<link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style">
-<script type="text/javascript">
-function windowTitle()
-{
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="${title}";
-    }
-}
-</script>
-<noscript>
-</noscript>
-
-</head><body onload="windowTitle();" bgcolor="white">
-<hr>
-
-<!-- ========= START OF TOP NAVBAR ======= -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="${classDoc.relativeRootPath}overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <!--<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  -->
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="${classDoc.relativeRootPath}deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="${classDoc.relativeRootPath}index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="${classDoc.relativeRootPath}help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-<% if (props.header) { %><b>${props.header}</b><% } %>
-</EM></TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><!--<FONT SIZE="-2">
-&nbsp;<A HREF="${classDoc.relativeRootPath}groovy/lang/ExpandoMetaClass.ExpandoMetaProperty.html" title="class in groovy.lang"><B>PREV CLASS</B></A>&nbsp;
-
-&nbsp;<A HREF="${classDoc.relativeRootPath}groovy/lang/GroovyClassLoader.html" title="class in groovy.lang"><B>NEXT CLASS</B></A></FONT>--></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}.html" target="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="${classDoc.name()}.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
-&nbsp;<script type="text/javascript">
-  <!--
-  if(window==top) {
-    document.writeln('<A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A>');
-  }
-  //-->
-</script>
-<noscript>
-  <A HREF="${classDoc.relativeRootPath}allclasses-frame.html"><B>All Classes</B></A>
-</noscript>
-
-</FONT></TD>
-
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-SUMMARY:&nbsp;<%
-    if (classDoc.isAnnotationType()) {
-        def hasReq = classDoc.fields().any{ isRequired(it, "true") }
-        def hasOpt = classDoc.fields().any{ isRequired(it, "false") }
-        %><% if (hasReq) { %><A HREF="#required_element_summary"><% } %>REQUIRED<% if (hasReq) { %></A><% }
-        %> | <% if (hasOpt) { %><A HREF="#optional_element_summary"><% } %>OPTIONAL<% if (hasOpt) { %></A><% } %><%
-    } else {
-        if (visibleNested) { %><A HREF="#nested_summary"><% } %>NESTED<% if (visibleNested) { %></A><% }
-        if (classDoc.isEnum()) {
-            %>&nbsp;|&nbsp;<% if (hasEnumConstants) { %><A HREF="#enum_constant_summary"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A><% }
-        }
-        %>&nbsp;|&nbsp;<% if (hasFields) { %><A HREF="#field_summary"><% } %>FIELD<% if (hasFields) { %></A><% }
-        if (hasProperties) { %>&nbsp;|&nbsp;<A HREF="#property_summary">PROPERTY</A><% }
-        if (classDoc.isClass()) {
-            %>&nbsp;|&nbsp;<% if (visibleConstructors) { %><A HREF="#constructor_summary"><% } %>CONSTR<% if (visibleConstructors) { %></A><% }
-        }
-        %>&nbsp;|&nbsp;<% if (visibleMethods) { %><A HREF="#method_summary"><% } %>METHOD<% if (visibleMethods) { %></A><% }
-    }
-    %></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL:&nbsp;<%
-    if (classDoc.isAnnotationType()) {
-        if (hasElements) { %><A HREF="#element_detail"><% } %>ELEMENT<% if (hasElements) { %></A><% }
-    } else {
-        if (classDoc.isEnum()) {
-            if (hasEnumConstants) { %><A HREF="#enum_constant_detail"><% } %>ENUM CONSTANTS<% if (hasEnumConstants) { %></A>&nbsp;|&nbsp;<% }
-        }
-        if (hasFields) { %><A HREF="#field_detail"><% } %>FIELD<% if (hasFields) { %></A><% }
-        if (hasProperties) { %>&nbsp;|&nbsp;<A HREF="#prop_detail">PROPERTY</A><% }
-        if (classDoc.isClass()) {
-            %>&nbsp;|&nbsp;<% if (visibleConstructors) { %><A HREF="#constructor_detail"><% } %>CONSTR<% if (visibleConstructors) { %></A><% }
-        }
-        %>&nbsp;|&nbsp;<% if (visibleMethods) { %><A HREF="#method_detail"><% } %>METHOD<% if (visibleMethods) { %></A><% }
-    }
-    %></FONT></TD>
-</TR>
-</TABLE>
-<!-- ========= END OF TOP NAVBAR ========= -->
-
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<%
-def pkg = classDoc.containingPackage().nameWithDots()
-if (pkg != "DefaultPackage") {
-%>
-<FONT SIZE="-1">
-${pkg}</FONT>
-<BR>
-<% } %>
-<span CLASS="ClassTitleFont"> ${classDoc.typeDescription} ${classDoc.name()}</span></H2>
-<%
-def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses
-if (parents.size() >= 2) {
-    %><pre><%
-    parents.eachWithIndex { p, i ->
-        %>${(i > 0 ? "  " * i + "  " * (i - 1) + "<img src='" + classDoc.relativeRootPath + "inherit.gif'>" : "") + ( i == parents.size() - 1 ? p.qualifiedTypeName() : linkfull(p))}\n<%
-    }
-    %></pre><%
-}
-if (classDoc.isInterface()) {
-    Set interfaces = classDoc.parentInterfaces
-    interfaces -= classDoc
-    if (interfaces) {
-        %><dl><dt><b>All Superinterfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><%
-    }
-} else {
-    // TODO follow up the tree collecting interfaces seen?
-    def interfaces = classDoc.interfaces()
-    if (interfaces) {
-        %><dl><dt><b>All Implemented Interfaces:</b> </dt><dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd></dl><%
-    }
-}
-%><hr>
-<PRE>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()}
-<% if (classDoc.isInterface() && classDoc.interfaces()) {
-%>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')}
-<% } else if (classDoc.superclass()) {
-%>extends ${linkable(classDoc.superclass())}
-<% } %>
-</PRE>
-<% if (classDoc.commentText()) { %>
-<P>
-${classDoc.commentText()}
-</P>
-<hr>
-<% } %>
-
-<!-- =========== NESTED CLASS SUMMARY =========== -->
-
-<A NAME="nested_summary"><!-- --></A>
-<% if (visibleNested) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Nested Class Summary</B></FONT></TH>
-    </TR>
-    <% for (c in visibleNested) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-        <CODE>${modifiersBrief(c) + c.typeSourceDescription}</CODE></FONT></TD>
-        <TD>
-            <CODE>${linkable(c)}</CODE>
-            <BR>
-            <P>${c.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% } %>
-
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-
-<A NAME="enum_constant_summary"><!-- --></A>
-<% if (hasEnumConstants) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Enum Constant Summary</B></FONT></TH>
-    </TR>
-    <% for (ec in classDoc.enumConstants()) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD>
-            <CODE><B><A HREF="#${ec.name()}">${ec.name()}</A></B></CODE>
-            <BR>
-            <P>${ec.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% } %>
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<% if (hasFields) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Field Summary</B></FONT></TH>
-    </TR>
-    <% for (field in visibleFields) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-        <CODE>${modifiersBrief(field) + linkable(field.type())}</CODE></FONT></TD>
-        <TD>
-            <CODE><B><A HREF="#${field.name()}">${field.name()}</A></B></CODE>
-            <BR>
-            <P>${field.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% }
-    classes = []
-    if (classDoc.isInterface()) {
-        classes.addAll(classDoc.interfaces().toList())
-    } else {
-        if (classDoc.superclass()) classes += classDoc.superclass()
-        else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class)
-    }
-    visited = [classDoc] as Set
-    while (classes) {
-        Set nextLevel = []
-        classes.each { c ->
-            if (c.isInterface()) nextLevel.addAll(c.interfaces().toList())
-            else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass()
-            nextLevel -= visited
-            visited += nextLevel
-            def list = []
-            if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
-                list = c.fields().findAll(isVisible).collect { field ->
-                    "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>"
-                }
-            } else {
-                list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field ->
-                    // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>"
-                    field.name
-                }
-            }
-            if (list) {
-                if (!fieldSummaryShown) {
-                    fieldSummaryShown = true
-                    %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-                    <TR CLASS="TableHeadingColor">
-                    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont">
-                    <B>Field Summary</B></FONT></TH>
-                    </TR>
-                    </table>
-                    &nbsp;<%
-                }
-                %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-                <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2">
-                <b>Fields inherited from ${c.typeSourceDescription} ${linkable(c)}</b>
-                </th></tr>
-                <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr>
-                </table>
-                &nbsp;<%
-            }
-        }
-        classes = nextLevel
-    }
-%>
-
-<!-- =========== PROPERTY SUMMARY =========== -->
-
-<A NAME="property_summary"><!-- --></A>
-<% if (hasProperties) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Property Summary</B></FONT></TH>
-    </TR>
-    <% for (prop in visibleProperties) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-        <CODE>${modifiersBrief(prop) + linkable(prop.type())}</CODE></FONT></TD>
-        <TD>
-            <CODE><B><A HREF="#${prop.name()}">${prop.name()}</A></B></CODE>
-            <BR>
-            <P>${prop.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% } %>
-
-<!-- =========== ELEMENT SUMMARY =========== -->
-
-<% if (hasElements) { %>
-    <% elementTypes.each { k, v -> %>
-        <A NAME="${k}_element_summary"><!-- --></A>
-        <% if (visibleFields.any{ isRequired(it, v) }) {  %>
-            <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-            <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-            <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-            <B>${upcase(k)} Element Summary</B></FONT></TH>
-            </TR>
-            <% for (element in visibleFields) { %>
-                <% if (isRequired(element, v)) { %>
-                <TR BGCOLOR="white" CLASS="TableRowColor">
-                <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-                <CODE>${modifiersBrief(element) + element.type().typeName()}</CODE></FONT></TD>
-                <TD>
-                    <CODE><B><A HREF="#${element.name()}">${element.name()}</A></B></CODE>
-                    <BR>
-                    <P>${element.firstSentenceCommentText()}</P>
-                </TD>
-                </TR>
-                <% } %>
-            <% } %>
-            </TABLE>
-        <% } %>
-        &nbsp;
-    <% } %>
-<% } %>
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<% if (visibleConstructors) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#D5D5FF" CLASS="TableHeadingColor">
-    <TD COLSPAN=2><FONT SIZE="+2">
-    <B>Constructor Summary</B></FONT></TD>
-    </TR>
-    <% for (constructor in visibleConstructors) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD>
-            <CODE>${modifiersBrief(constructor)}<B><a href="#${nameFromParams(constructor)}">${constructor.name()}</a></B>(${paramsOf(constructor, true)})</CODE>
-            <BR>
-            <P>${constructor.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% } %>
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<% if (visibleMethods) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont">
-    <B>Method Summary</B></FONT></TH>
-    </TR>
-    <% for (method in visibleMethods) { %>
-        <TR BGCOLOR="white" CLASS="TableRowColor">
-        <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1" CLASS="ClassItemFont">
-            <CODE>${modifiersBrief(method)}${linkable(method.returnType())}</CODE></FONT>
-        </TD>
-        <TD>
-            <CODE><b><a href="#${nameFromParams(method)}">${method.name()}</a></b>(${paramsOf(method, true)})</CODE>
-            <BR>
-            <P>${method.firstSentenceCommentText()}</P>
-        </TD>
-        </TR>
-    <% } %>
-    </TABLE>
-    &nbsp;
-<% }
-    Set classes = []
-    if (classDoc.isInterface()) {
-        classes.addAll(classDoc.interfaces().toList())
-    } else {
-        if (classDoc.superclass()) classes += classDoc.superclass()
-        else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class)
-    }
-    Set visited = [classDoc] as Set
-    while (classes) {
-        Set nextLevel = []
-        classes.each { c ->
-            if (c.isInterface()) nextLevel.addAll(c.interfaces().toList())
-            else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass()
-            nextLevel -= visited
-            visited += nextLevel
-            def list = []
-            if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
-                list = c.methods().findAll(isVisible).collect { method ->
-                    "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>"
-                }
-            } else {
-                list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method ->
-                    linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name)
-                }
-            }
-            if (list) {
-                if (!methodSummaryShown) {
-                    methodSummaryShown = true
-                    %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-                    <TR CLASS="TableHeadingColor">
-                    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2" CLASS="ClassHeadingFont">
-                    <B>Method Summary</B></FONT></TH>
-                    </TR>
-                    </table>
-                    &nbsp;<%
-                }
-                %><table BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-                <tr CLASS="TableSubHeadingColor"><th ALIGN="left" COLSPAN="2">
-                <b>Methods inherited from ${c.typeSourceDescription} ${linkable(c)}</b>
-                </th></tr>
-                <tr class="TableRowColor"><td colspan='2'>${list.join(', ')}</td></tr>
-                </table>
-                &nbsp;<%
-            }
-        }
-        classes = nextLevel
-    }
-%>
-
-<P>
-
-<!-- ============ ENUM CONSTANT DETAIL ========== -->
-
-<A NAME="enum_constant_detail"><!-- --></A>
-<% if (hasEnumConstants) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-    <B>Enum Constant Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (ec in classDoc.enumConstants()) { %>
-        <A NAME="${ec.name()}"><!-- --></A><H3>${ec.name()}</H3>
-        <PRE>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <B>${ec.name()}</B></PRE>
-        <DL>
-        <DD>${ec.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- =========== FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<% if (hasFields) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Field Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (field in visibleFields) { %>
-        <A NAME="${field.name()}"><!-- --></A><H3>${field.name()}</H3>
-        <PRE>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <B>${field.name()}</B></PRE>
-        <DL>
-        <DD>${field.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- =========== PROPERTY DETAIL =========== -->
-
-<A NAME="prop_detail"><!-- --></A>
-<% if (hasProperties) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Property Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (prop in visibleProperties) { %>
-        <A NAME="${prop.name()}"><!-- --></A><H3>${prop.name()}</H3>
-        <PRE>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <B>${prop.name()}</B></PRE>
-        <DL>
-        <DD>${prop.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- =========== ELEMENT DETAIL =========== -->
-
-<A NAME="element_detail"><!-- --></A>
-<% if (hasElements) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
-    <B>Element Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (element in visibleFields) { %>
-        <A NAME="${element.name()}"><!-- --></A><H3>${element.name()}</H3>
-        <PRE>${modifiers(element) + linkable(element.type())} <B>${element.name()}</B></PRE>
-        <DL>
-        <DD>${element.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<% if (visibleConstructors) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-    <B>Constructor Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (constructor in visibleConstructors) { %>
-        <A NAME="${nameFromParams(constructor)}"><!-- --></A><H3>
-        ${constructor.name()}</H3>
-        <PRE>${annotations(constructor, '\n') + modifiers(constructor)}<B>${constructor.name()}</B>(${paramsOf(constructor, false)})</PRE>
-        <DL>
-        <DD>${constructor.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<% if (visibleMethods) { %>
-    <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
-    <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-    <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
-    <B>Method Detail</B></FONT></TH>
-    </TR>
-    </TABLE>
-    <% for (method in visibleMethods) { %>
-        <A NAME="${nameFromParams(method)}"><!-- --></A><H3>
-        ${method.name()}</H3>
-        <PRE>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <B>${method.name()}</B>(${paramsOf(method, false)})</PRE>
-        <DL>
-        <DD>${method.commentText()}
-        </DD>
-        <P>
-        </DL>
-        <HR>
-    <% } %>
-    &nbsp;
-<% } %>
-
-<!-- ========= END OF CLASS DATA ========= -->
-<p>${props['footer']?:""}</p>
-<hr>
-
-</body>
-</html>
+<!--
+  ~ Copyright (c) 2014.  Ohio Department of Education. - All Rights Reserved.
+  ~ Unauthorized copying of this file, in any medium, is strictly prohibited.
+  ~ Written by State Software Development Team (http://ssdt.oecn.k12.oh.us/)
+  -->
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- **************************************************************** -->
+<!-- *  PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
+<!-- *  i.e. only iterate & print data where possible. Thanks, Jez. * -->
+<!-- **************************************************************** -->
+<%
+
+    println "Generating for $classDoc (${classDoc.class})"
+    classDoc = new org.ssdt_ohio.gradle.doc.tools.UserClassDocProxy().wrap(classDoc)
+
+    def title = classDoc.name() + (props.docTitle ? " (${props.docTitle})" : "")
+    def isVisible = { it.isPublic() || (it.isProtected() && props.protectedScope == 'true') || (!it.isProtected() && !it.isPrivate() && props.packageScope == 'true') || props.privateScope == 'true' }
+    def isVisibleExt = { t -> java.lang.reflect.Modifier.isPublic(t.modifiers) || java.lang.reflect.Modifier.isProtected(t.modifiers) }
+    def visibleFields = classDoc.fields().findAll(isVisible)
+    def visibleProperties = classDoc.properties() // props visible be defn
+    def visibleMethods = classDoc.methods().findAll(isVisible)
+    def visibleConstructors = classDoc.constructors().findAll(isVisible)
+    def visibleNested = classDoc.innerClasses().findAll(isVisible)
+    boolean hasFields = !classDoc.isAnnotationType() && visibleFields
+    boolean hasProperties = !classDoc.isAnnotationType() && visibleProperties
+    boolean hasElements = classDoc.isAnnotationType() && visibleFields
+    boolean methodSummaryShown = visibleMethods
+    boolean fieldSummaryShown = hasFields
+    boolean hasEnumConstants = classDoc.enumConstants()
+    def dolink = { t, boolean b ->
+        boolean isArray = false
+        if (!t || t instanceof String) {
+            return (classDoc.getDocUrl(t, b)  -'java.util.' - 'java.lang.')
+        }
+        if (t instanceof org.codehaus.groovy.tools.groovydoc.ArrayClassDocWrapper) {
+            t = t.delegate
+            isArray = true
+        }
+        if (t instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
+            if (t.fullPathName == 'def') return classDoc.getDocUrl("java.lang.Object def", b)
+            return "<a href='" + classDoc.relativeRootPath + t.fullPathName + ".html'>" + ( (b ? t.qualifiedTypeName() : t.name() ) - "java.lang." - "java.util." ) + "</a>" + (isArray ? "[]" : "")
+        }
+        return ( classDoc.getDocUrl(t.qualifiedTypeName(), b) - 'java.util.' - 'java.lang.' ) + (isArray ? "[]" : "")
+    }
+    def linkfull = { t -> dolink(t, true) }
+    def linkable = { t -> dolink(t, false) }
+    def modifiersWithIgnore = { t, boolean ignorePublic ->
+        (t.isPrivate()?"private&nbsp;":"") +
+        (t.isPublic() && !ignorePublic?"public&nbsp;":"") +
+        (t.isProtected()?"protected&nbsp;":"") +
+        (t.isStatic()?"static&nbsp;":"") +
+        (t.isFinal()?"final&nbsp;":"") +
+        (t.respondsTo('isAbstract') && t.isAbstract()?"abstract&nbsp;":"")
+    }
+    def modifiers = { t -> modifiersWithIgnore(t, classDoc.isGroovy()) }
+    def modifiersBrief = { t ->
+        (t.isPrivate()?"private&nbsp;":"") +
+        (t.isProtected()?"protected&nbsp;":"") +
+        (t.isStatic()?"static&nbsp;":"")
+    }
+    def annotations = { t, sepChar ->
+        t.annotations() ? t.annotations().collect {
+//        it.isTypeAvailable() ? '@'+linkable(it.type().name())+(it.description()-('@'+it.type().name())): it.description()
+            it.description()
+        }.join(sepChar) + sepChar : ''
+    }
+    def elementTypes = [
+        "required":"true",
+        "optional":"false"
+    ]
+    def isRequired = { f, v ->
+        def req = f.constantValueExpression() == null; req.toString() == v
+    }
+    def upcase = { n -> n[0].toUpperCase() + n[1..-1] }
+    def paramsOf = { n, boolean brief -> n.parameters().collect{ param -> (brief?'':annotations(param, ' ')) + linkable(param.isTypeAvailable()?param.type():param.typeName()) + (param.vararg()?'... ':' ') + param.name() + (param.defaultValue() ? " = " + param.defaultValue():"") }.join(", ") }
+    def nameFromParams = { n -> n.name() + '(' + n.parameters().collect{ param -> param.isTypeAvailable()?param.type().qualifiedTypeName():param.typeName() }.join(', ') + ')' }
+    def nameFromJavaParams = { n -> n.name + '(' + n.parameterTypes.collect{ param -> param.name }.join(', ') + ')' }
+%>
+<html>
+<head>
+    <!-- Generated by groovydoc (${GroovySystem.version}) on ${new Date()} -->
+    <title>${title}</title>
+    <meta name="date" content="${new Date().format('yyyy-MM-dd')}">
+    <meta http-equiv="Content-Type" content="text/html; charset=${props.charset}">
+    <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="shortcut icon">
+    <link href="${classDoc.relativeRootPath}groovy.ico" type="image/x-icon" rel="icon">
+    <link rel="stylesheet" type="text/css" href="${classDoc.relativeRootPath}stylesheet.css" title="Style">
+
+<body class="center">
+<script type="text/javascript"><!--
+if (location.href.indexOf('is-external=true') == -1) {
+    parent.document.title="${title}";
+}
+//-->
+</script>
+<noscript>
+    <div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+    <!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+    <!--   -->
+</a>
+    <ul class="navList" title="Navigation">
+        <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li>
+        <li><a href="package-summary.html">Package</a></li>
+        <li class="navBarCell1Rev">Class</li>
+        <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li>
+        <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li>
+        <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li>
+    </ul>
+</div>
+
+<div class="subNav">
+    <div>
+        <ul class="navList">
+            <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li>
+            <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li>
+        </ul>
+    </div>
+    <div>
+        <ul class="subNavList">
+            <li>Summary:&nbsp;</li>
+            <%
+    if (classDoc.isAnnotationType()) {
+        def hasReq = classDoc.fields().any{ isRequired(it, "true") }
+        def hasOpt = classDoc.fields().any{ isRequired(it, "false") }
+        if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+    } else {
+        if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (classDoc.isEnum()) {
+            if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        }
+        if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (classDoc.isClass()) {
+            if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        }
+        if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+    }
+    %>
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            <%
+            if (classDoc.isAnnotationType()) {
+                if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+            } else {
+                if (classDoc.isEnum()) {
+                    if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                }
+                if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                if (classDoc.isClass()) {
+                    if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                }
+                if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+            }
+            %>
+        </ul>
+    </div>
+    <a name="skip-navbar_top">
+        <!--   -->
+    </a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<%
+def pkg = classDoc.containingPackage().nameWithDots()
+String classDesc = "${classDoc.isGroovy() ? "[Groovy]" : "[Java]"} ${classDoc.typeDescription} ${org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc.encodeAngleBrackets(classDoc.getNameWithTypeArgs())}"
+if (pkg != "DefaultPackage") {
+%>
+    <div class="subTitle">Package: <strong>${pkg}</strong></div>
+<%}%>
+    <h2 title="${classDesc}" class="title">${classDesc}</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<%
+def parents = classDoc.isInterface() ? classDoc.parentInterfaces : classDoc.parentClasses
+if (parents.size() >= 2) {
+    parents.eachWithIndex { p, i ->
+        %><li><%
+        if ( i == parents.size() - 1) {
+            out << p.qualifiedTypeName()
+        } else {
+            %><ul class="inheritance"><% linkfull(p) %></ul></li><%
+        }
+    }
+}
+%>
+</ul>
+<div class="description">
+    <ul class="blockList">
+        <li class="blockList">
+<%
+if (classDoc.isInterface()) {
+    Set interfaces = classDoc.parentInterfaces
+    interfaces -= classDoc
+    if (interfaces) {
+        %>
+            <dl>
+                <dt>All Superinterfaces:</dt>
+                <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd>
+            </dl><%
+    }
+} else {
+    // TODO follow up the tree collecting interfaces seen?
+    def interfaces = classDoc.interfaces()
+    if (interfaces) {
+        %>
+            <dl>
+                <dt>All Implemented Interfaces and Traits:</dt>
+                <dd>${interfaces.collect{ linkable(it) }.join(', ')}</dd>
+            </dl>
+            <!-- todo: direct known subclasses -->
+            <hr>
+            <br>
+<pre>${annotations(classDoc, '\n') + modifiers(classDoc) + classDoc.typeSourceDescription + ' ' + classDoc.name()}
+<% if (classDoc.isInterface() && classDoc.interfaces()) {
+%>extends ${classDoc.interfaces().collect{ linkable(it) }.join(', ')}
+<% } else if (classDoc.superclass()) {
+%>extends ${linkable(classDoc.superclass())}
+<% } %>
+</pre>
+<% } %>
+<% } %>
+<% if (classDoc.commentText()) { %>
+    <p>${classDoc.commentText()}</p>
+<% } %>
+          </li>
+    </ul>
+</div>
+
+<div class="summary">
+    <ul class="blockList">
+        <li class="blockList">
+        <!-- =========== NESTED CLASS SUMMARY =========== -->
+        <% if (visibleNested) { %>
+            <ul class="blockList">
+                <li class="blockList"><a name="nested_summary"><!--   --></a>
+                    <h3>Nested Class Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+                        <caption><span>Nested classes</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Modifiers</th>
+                            <th class="colLast" scope="col">Name</th>
+                            <th class="colLast" scope="col">Description</th>
+                        </tr>
+                        <% visibleNested.eachWithIndex { c, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code><strong>${modifiersBrief(c) + c.typeSourceDescription}</strong></code>&nbsp;</td>
+                            <td class="colLast"><code>${linkable(c)}</code></td>
+                            <td class="colLast">${c.firstSentenceCommentText()}</code></td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+                </li>
+            </ul>
+        <% } %>
+
+        <!-- =========== ENUM CONSTANT SUMMARY =========== -->
+        <% if (hasEnumConstants) { %>
+            <ul class="blockList">
+                <li class="blockList"><a name="enum_constant_summary"><!--   --></a>
+                    <h3>Enum Constants Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table">
+                        <caption><span>Enum constants classes</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Enum constant</th>
+                            <th class="colLast" scope="col">Description</th>
+                        </tr>
+                        <% classDoc.enumConstants().eachWithIndex { ec, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code><strong><a href="#${ec.name()}">${ec.name()}</a></strong></code></td>
+                            <td class="colLast">${ec.firstSentenceCommentText()}</td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+                </li>
+            </ul>
+        <% } %>
+        <!-- =========== FIELD SUMMARY =========== -->
+        <%
+        def buffer = new StringBuilder()
+        classes = []
+        if (classDoc.isInterface()) {
+            classes.addAll(classDoc.interfaces().toList())
+        } else {
+            if (classDoc.superclass()) classes += classDoc.superclass()
+            else classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class)
+        }
+        visited = [classDoc] as Set
+        while (classes) {
+            Set nextLevel = []
+            classes.eachWithIndex { c,i ->
+                if (c.isInterface()) nextLevel.addAll(c.interfaces().toList())
+                else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass()
+                nextLevel -= visited
+                visited += nextLevel
+                def list = []
+                if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
+                    list = c.fields().findAll(isVisible).collect { field ->
+                        "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>"
+                    }
+                } else {
+                    list = c.externalClass().fields.findAll{ isVisibleExt(it) }.collect { field ->
+                        // "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${field.name()}'>${field.name()}</a>"
+                        field.name
+                    }
+                }
+                if (list) {
+                    buffer << """                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><strong><code>${c.typeSourceDescription} ${linkable(c)}</code></strong></td>
+                            <td class="colLast"><code>${list.join(', ')}</code></td>
+                        </tr>
+"""
+                }
+            }
+            classes = nextLevel
+        }
+
+
+        if (hasFields || buffer.length()>0) { %>
+            <ul class="blockList"><%
+                if (hasFields) { %>
+                <li class="blockList"><a name="field_summary"><!--   --></a>
+                    <h3>Field Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum constants summary table">
+                        <caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Modifiers</th>
+                            <th class="colLast" scope="col">Name</th>
+                            <th class="colLast" scope="col">Description</th>
+                        </tr>
+                        <% visibleFields.eachWithIndex { field, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code><strong>${modifiersBrief(field) + linkable(field.type())}</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a href="#${field.name()}">${field.name()}</a></code></td>
+                            <td class="colLast">${field.firstSentenceCommentText()}</code></td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+                </li>
+                <% } // if (hasFields)
+                if ((buffer.length())>0) { %>
+                <li class="blockList"><a name="field_summary"><!--   --></a>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited fields summary table">
+                        <caption><span>Inherited fields</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Fields inherited from class</th>
+                            <th class="colLast" scope="col">Fields</th>
+                        </tr>
+                        ${buffer}
+                    </table>
+                    </ul>
+                </li>
+                <% } // if buffer %>
+            </ul>
+        <% } // if hasFields or buffer %>
+
+        <!-- =========== PROPERTY SUMMARY =========== -->
+        <% if (hasProperties) { %>
+         <ul class="blockList">
+                <li class="blockList"><a name="property_summary"><!--   --></a>
+                    <h3>Properties Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Properties Summary table, listing nested classes, and an explanation">
+                        <caption><span>Properties</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Type</th>
+                            <th class="colLast" scope="col">Name and description</th>
+                        </tr>
+                        <% visibleProperties.eachWithIndex { prop, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code><strong>${modifiersBrief(prop) + linkable(prop.type())}</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a href="#${prop.name()}"></a>${prop.name()}</code><br>${prop.firstSentenceCommentText()}</td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+                </li>
+            </ul>
+        <% } %>
+
+        <!-- =========== ELEMENT SUMMARY =========== -->
+        <% if (hasElements) { %>
+        <ul class="blockList"><a name="element_summary"><!--   --></a>
+                <li class="blockList">
+                    <h3>Element Summary</h3>
+                    <% elementTypes.each { k, v ->
+                    %><a name="${k}_element_summary"><!--   --></a><%
+                        if (visibleFields.any{ isRequired(it, v) }) {  %>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="${upcase(k)} Element Summary table">
+                        <caption><span>${upcase(k)} Element Summary</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Type</th>
+                            <th class="colLast" scope="col">Name and Description</th>
+                        </tr>
+                        <% visibleFields.findAll {isRequired(it, v)}.eachWithIndex { element, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code><strong>${modifiersBrief(element) + linkable(element.type())}</strong></code>&nbsp;</td>
+                            <td class="colLast"><code><a href="#${element.name()}">${element.name()}</a></code><br>${element.firstSentenceCommentText()}</td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+                   <% }
+                   } //elementTypes.each %>
+                </li>
+        </ul>
+        <% } %>
+
+        <% if (visibleConstructors) { %>
+        <!-- ======== CONSTRUCTOR SUMMARY ======== -->
+        <ul class="blockList">
+                <li class="blockList"><a name="constructor_summary"><!--   --></a>
+                    <h3>Constructor Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructors Summary table">
+                        <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Constructor and description</th>
+                        </tr>
+                        <% visibleConstructors.eachWithIndex { constructor, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst">
+                                <code>${modifiersBrief(constructor)}<a href="#${nameFromParams(constructor)}">${constructor.name()}</a></strong>
+                                (${paramsOf(constructor, true)})</code><br>${constructor.firstSentenceCommentText()}</td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+              </li>
+        </ul>
+        <% } %>
+
+        <%
+        buffer = new StringBuilder()
+        Set classes = []
+        if (classDoc.isInterface()) {
+            classes.addAll(classDoc.interfaces().toList())
+        } else {
+            if (classDoc.superclass()) classes += classDoc.superclass()
+            else if (!classDoc.isTrait()) classes += new org.codehaus.groovy.tools.groovydoc.ExternalGroovyClassDoc(Object.class)
+        }
+        Set visited = [classDoc] as Set
+        while (classes) {
+            Set nextLevel = []
+            classes.eachWithIndex { c,i ->
+                if (c.isInterface()) nextLevel.addAll(c.interfaces().toList())
+                else if (c.superclass() && c.qualifiedTypeName() != 'java.lang.Object') nextLevel += c.superclass()
+                nextLevel -= visited
+                visited += nextLevel
+                def list = []
+                if (c instanceof org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDoc) {
+                    list = c.methods().findAll(isVisible).collect { method ->
+                        "<a href='${classDoc.relativeRootPath}${c.fullPathName}.html#${nameFromParams(method)}'>${method.name()}</a>"
+                    }
+                } else {
+                    list = c.externalClass().methods.findAll{ isVisibleExt(it) }.collect { method ->
+                        linkable(c.externalClass().name + "#" + nameFromJavaParams(method) + " " + method.name)
+                    }
+                }
+                if (list) {
+                    buffer << """
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code>${c.typeSourceDescription} ${linkable(c)}</strong></code></td>
+                            <td class="colLast"><code>${list.join(', ')}</code></td>
+                        </tr>"""
+                }
+            }
+            classes = nextLevel
+        }
+
+        if (visibleMethods || buffer.length()>0) { %>
+        <!-- ========== METHOD SUMMARY =========== -->
+        <ul class="blockList">
+            <% if (visibleMethods) { %>
+            <li class="blockList"><a name="method_summary"><!--   --></a>
+                    <h3>Methods Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Methods Summary table">
+                        <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Type</th>
+                            <th class="colLast" scope="col">Name and description</th>
+                        </tr>
+                        <% visibleMethods.eachWithIndex { method, i -> %>
+                        <tr class="${i%2==0?'altColor':'rowColor'}">
+                            <td class="colFirst"><code>${modifiersBrief(method)}${linkable(method.returnType())}</strong></code></td>
+                            <td class="colLast"><code><strong><a href="#${nameFromParams(method)}">${method.name()}</a></strong>(${paramsOf(method, true)})</code><br>${method.firstSentenceCommentText()}</td>
+                        </tr>
+                        <% } %>
+                    </table>
+                   </ul>
+              </li>
+            <% } // if (visibleMethods)
+            if (buffer.length()>0) {
+                %>
+            <li class="blockList"><a name="method_summary"><!--   --></a>
+                    <h3>Inherited Methods Summary</h3>
+                    <ul class="blockList">
+                    <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Inherited Methods Summary table">
+                        <caption><span>Inherited Methods</span><span class="tabEnd">&nbsp;</span></caption>
+                        <tr>
+                            <th class="colFirst" scope="col">Methods inherited from class</th>
+                            <th class="colLast" scope="col">Name</th>
+                        </tr>
+                        ${buffer}
+                    </table>
+                   </ul>
+              </li>
+                <%
+            } // if buffer.length%>
+        </ul>
+        <% } %>
+    </li>
+    </ul>
+</div>
+
+<div class="details">
+    <ul class="blockList">
+        <li class="blockList">
+           <% if (hasEnumConstants) { %>
+            <!-- ============ ENUM CONSTANT DETAIL ========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="enum_constant_detail">
+                    <!--   -->
+                </a>
+                    <h3>Enum Constant Detail</h3>
+                    <% for (ec in classDoc.enumConstants()) { %>
+                        <a name="${ec.name()}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${modifiers(ec) + '<a href="' + classDoc.relativeRootPath + classDoc.fullPathName + '.html">' + classDoc.name() + '</a>'} <strong>${ec.name()}</strong></h4>
+                                <p>${ec.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+
+            <% if (hasFields) { %>
+            <!-- =========== FIELD DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="field_detail">
+                    <!--   -->
+                </a>
+                    <h3>Field Detail</h3>
+                    <% visibleFields.each { field -> %>
+                        <a name="${field.name()}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${annotations(field, '\n') + modifiersWithIgnore(field, false) + linkable(field.type())} <strong>${field.name()}</strong></h4>
+                                <p>${field.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+
+            <% if (hasProperties) { %>
+            <!-- =========== PROPERTY DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="prop_detail">
+                    <!--   -->
+                </a>
+                    <h3>Property Detail</h3>
+                    <% visibleProperties.each { prop -> %>
+                        <a name="${prop.name()}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${annotations(prop, '\n') + modifiers(prop) + linkable(prop.type())} <strong>${prop.name()}</strong></h4>
+                                <p>${prop.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+
+            <% if (hasElements) { %>
+            <!-- =========== ELEMENT DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="element_detail">
+                    <!--   -->
+                </a>
+                    <h3>Element Detail</h3>
+                    <% visibleFields.each { element -> %>
+                        <a name="${element.name()}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${modifiers(element) + linkable(element.type())} <strong>${element.name()}</strong></h4>
+                                <p>${element.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+
+            <% if (visibleConstructors) { %>
+            <!-- =========== CONSTRUCTOR DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="constructor_detail">
+                    <!--   -->
+                </a>
+                    <h3>Constructor Detail</h3>
+                    <% visibleConstructors.each { constructor -> %>
+                        <a name="${nameFromParams(constructor)}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${annotations(constructor, '\n') + modifiers(constructor)}<strong>${constructor.name()}</strong>(${paramsOf(constructor, false)})</h4>
+                                <p>${constructor.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+
+
+            <% if (visibleMethods) { %>
+            <!-- =========== METHOD DETAIL =========== -->
+            <ul class="blockList">
+                <li class="blockList"><a name="method_detail">
+                    <!--   -->
+                </a>
+                    <h3>Method Detail</h3>
+                    <% visibleMethods.each { method -> %>
+                        <a name="${nameFromParams(method)}"><!-- --></a>
+                        <ul class="blockListLast">
+                            <li class="blockList">
+                                <h4>${annotations(method, '\n') + modifiers(method)}${linkable(method.returnType())} <strong>${method.name()}</strong>(${paramsOf(method, false)})</h4>
+                                <p>${method.commentText()}</p>
+                            </li>
+                        </ul>
+                    <% } %>
+                </li>
+            </ul>
+            <% } %>
+        </li>
+    </ul>
+</div>
+
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+    <!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+    <!--   -->
+</a>
+    <ul class="navList" title="Navigation">
+        <li><a href="${classDoc.relativeRootPath}overview-summary.html">Overview</a></li>
+        <li><a href="package-summary.html">Package</a></li>
+        <li class="navBarCell1Rev">Class</li>
+        <li><a href="${classDoc.relativeRootPath}deprecated-list.html">Deprecated</a></li>
+        <li><a href="${classDoc.relativeRootPath}index-all.html">Index</a></li>
+        <li><a href="${classDoc.relativeRootPath}help-doc.html">Help</a></li>
+    </ul>
+</div>
+
+<div class="subNav">
+    <div>
+        <ul class="navList">
+            <li><a href="${classDoc.relativeRootPath}index.html?${classDoc.fullPathName}" target="_top">Frames</a></li>
+            <li><a href="${classDoc.name()}.html" target="_top">No Frames</a></li>
+        </ul>
+    </div>
+    <div>
+        <ul class="subNavList">
+            <li>Summary:&nbsp;</li>
+            <%
+    if (classDoc.isAnnotationType()) {
+        def hasReq = classDoc.fields().any{ isRequired(it, "true") }
+        def hasOpt = classDoc.fields().any{ isRequired(it, "false") }
+        if (hasReq) { %><li><a href="#required_element_summary"><% } %>Required<% if (hasReq) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (hasOpt) { %><li><a href="#optional_element_summary"><% } %>Optional<% if (hasOpt) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+    } else {
+        if (visibleNested) { %><li><a href="#nested_summary"><% } %>Nested<% if (visibleNested) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (classDoc.isEnum()) {
+            if (hasEnumConstants) { %><li><a href="#enum_constant_summary"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        }
+        if (hasFields) { %><li><a href="#field_summary"><% } %>Field<% if (hasFields) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (hasProperties) { %><li><a href="#property_summary">Property</a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        if (classDoc.isClass()) {
+            if (visibleConstructors) { %><li><a href="#constructor_summary"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+        }
+        if (visibleMethods) { %><li><a href="#method_summary"><% } %>Method<% if (visibleMethods) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+    }
+    %>
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            <%
+            if (classDoc.isAnnotationType()) {
+                if (hasElements) { %><li><a href="#element_detail"><% } %>Element<% if (hasElements) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+            } else {
+                if (classDoc.isEnum()) {
+                    if (hasEnumConstants) { %><li><a href="#enum_constant_detail"><% } %>Enum constants<% if (hasEnumConstants) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                }
+                if (hasFields) { %><li><a href="#field_detail"><% } %>Field<% if (hasFields) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                if (hasProperties) { %><li><a href="#prop_detail">Property</a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                if (classDoc.isClass()) {
+                    if (visibleConstructors) { %><li><a href="#constructor_detail"><% } %>Constructor<% if (visibleConstructors) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+                }
+                if (visibleMethods) { %><li><a href="#method_detail"><% } %>Method<% if (visibleMethods) { %></a></li><% } %>&nbsp;&nbsp;&nbsp;<% 
+            }
+            %>
+        </ul>
+    </div>
+    <% if (props.footer) { %><p>${props.footer}</p><% } %>
+    <a name="skip-navbar_bottom">
+        <!--   -->
+    </a>
+    </div>
+</div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
--- a/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css	Fri Jan 17 18:16:29 2014 +0000
+++ b/src/main/resources/org/ssdt_ohio/gradle/userdoc/templates/stylesheet.css	Wed Dec 31 22:35:45 2014 +0000
@@ -1,215 +1,2306 @@
-.code, pre
-{
-        border: 1px dashed #6699CC;
-        background-color: #F4F4F4;
-        padding: 5px;
+@charset "${props.charset}";
+
+/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+    display: block
+}
+
+audio, canvas, video {
+    display: inline-block
+}
+
+audio:not([controls]) {
+    display: none;
+    height: 0
+}
+
+[hidden] {
+    display: none
+}
+
+html {
+    font-family: sans-serif;
+    -webkit-text-size-adjust: 100%;
+    -ms-text-size-adjust: 100%
+}
+
+body {
+    margin: 0
+}
+
+a:focus {
+    outline: thin dotted
+}
+
+a:active, a:hover {
+    outline: 0
+}
+
+h1 {
+    font-size: 2em;
+    margin: .67em 0
+}
+
+abbr[title] {
+    border-bottom: 1px dotted
+}
+
+b, strong {
+    font-weight: bold
+}
+
+dfn {
+    font-style: italic
+}
+
+hr {
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    height: 0
+}
+
+mark {
+    background: #ff0;
+    color: #000
+}
+
+code, kbd, pre, samp {
+    font-family: monospace, serif;
+    font-size: 1em
+}
+
+pre {
+    white-space: pre-wrap
+}
+
+q {
+    quotes: "\201C" "\201D" "\2018" "\2019"
+}
+
+small {
+    font-size: 80%
+}
+
+sub, sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline
+}
+
+sup {
+    top: -0.5em
+}
+
+sub {
+    bottom: -0.25em
+}
+
+img {
+    border: 0
+}
+
+svg:not(:root) {
+    overflow: hidden
+}
+
+figure {
+    margin: 0
+}
+
+fieldset {
+    border: 1px solid #c0c0c0;
+    margin: 0 2px;
+    padding: .35em .625em .75em
+}
+
+legend {
+    border: 0;
+    padding: 0
+}
+
+button, input, select, textarea {
+    font-family: inherit;
+    font-size: 100%;
+    margin: 0
 }
 
-body
-{
-        font-size: 10pt;
-        font-family: 'Lucida Grande',verdana,arial,helvetica,sans-serif;
-        background-color: #fff;
-        color: #333;
+button, input {
+    line-height: normal
+}
+
+button, select {
+    text-transform: none
+}
+
+button, html input[type="button"], input[type="reset"], input[type="submit"] {
+    -webkit-appearance: button;
+    cursor: pointer
+}
+
+button[disabled], html input[disabled] {
+    cursor: default
+}
+
+input[type="checkbox"], input[type="radio"] {
+    box-sizing: border-box;
+    padding: 0
+}
+
+input[type="search"] {
+    -webkit-appearance: textfield;
+    -moz-box-sizing: content-box;
+    -webkit-box-sizing: content-box;
+    box-sizing: content-box
+}
+
+input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none
+}
+
+button::-moz-focus-inner, input::-moz-focus-inner {
+    border: 0;
+    padding: 0
+}
+
+textarea {
+    overflow: auto;
+    vertical-align: top
+}
+
+table {
+    border-collapse: collapse;
+    border-spacing: 0
+}
+
+@-ms-viewport {
+    width: device-width
+}
+
+@media screen and (max-width: 400px) {
+    @-ms-viewport {
+        width: 320px
+    }
+}
+
+.hidden {
+    display: none !important;
+    visibility: hidden !important
 }
- 
-/* Link colors */
-a
-{
-        color:#569D2F;
-        text-decoration:none;
+
+.visible-xs {
+    display: none !important
+}
+
+tr.visible-xs {
+    display: none !important
+}
+
+th.visible-xs, td.visible-xs {
+    display: none !important
+}
+
+@media (max-width: 767px) {
+    .visible-xs {
+        display: block !important
+    }
+
+    tr.visible-xs {
+        display: table-row !important
+    }
+
+    th.visible-xs, td.visible-xs {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .visible-xs.visible-sm {
+        display: block !important
+    }
+
+    tr.visible-xs.visible-sm {
+        display: table-row !important
+    }
+
+    th.visible-xs.visible-sm, td.visible-xs.visible-sm {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .visible-xs.visible-md {
+        display: block !important
+    }
+
+    tr.visible-xs.visible-md {
+        display: table-row !important
+    }
+
+    th.visible-xs.visible-md, td.visible-xs.visible-md {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 1200px) {
+    .visible-xs.visible-lg {
+        display: block !important
+    }
+
+    tr.visible-xs.visible-lg {
+        display: table-row !important
+    }
+
+    th.visible-xs.visible-lg, td.visible-xs.visible-lg {
+        display: table-cell !important
+    }
 }
- 
-a:hover
-{
-        text-decoration:underline;
+
+.visible-sm {
+    display: none !important
+}
+
+tr.visible-sm {
+    display: none !important
+}
+
+th.visible-sm, td.visible-sm {
+    display: none !important
+}
+
+@media (max-width: 767px) {
+    .visible-sm.visible-xs {
+        display: block !important
+    }
+
+    tr.visible-sm.visible-xs {
+        display: table-row !important
+    }
+
+    th.visible-sm.visible-xs, td.visible-sm.visible-xs {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .visible-sm {
+        display: block !important
+    }
+
+    tr.visible-sm {
+        display: table-row !important
+    }
+
+    th.visible-sm, td.visible-sm {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .visible-sm.visible-md {
+        display: block !important
+    }
+
+    tr.visible-sm.visible-md {
+        display: table-row !important
+    }
+
+    th.visible-sm.visible-md, td.visible-sm.visible-md {
+        display: table-cell !important
+    }
 }
- 
-/* Headings */
-h1
-{
-     background: url(tapestry.png) no-repeat;
-        font-size:28px;
-        color:#007c00;
-        padding: 2.0em;
+
+@media (min-width: 1200px) {
+    .visible-sm.visible-lg {
+        display: block !important
+    }
+
+    tr.visible-sm.visible-lg {
+        display: table-row !important
+    }
+
+    th.visible-sm.visible-lg, td.visible-sm.visible-lg {
+        display: table-cell !important
+    }
+}
+
+.visible-md {
+    display: none !important
+}
+
+tr.visible-md {
+    display: none !important
+}
+
+th.visible-md, td.visible-md {
+    display: none !important
+}
+
+@media (max-width: 767px) {
+    .visible-md.visible-xs {
+        display: block !important
+    }
+
+    tr.visible-md.visible-xs {
+        display: table-row !important
+    }
+
+    th.visible-md.visible-xs, td.visible-md.visible-xs {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .visible-md.visible-sm {
+        display: block !important
+    }
+
+    tr.visible-md.visible-sm {
+        display: table-row !important
+    }
+
+    th.visible-md.visible-sm, td.visible-md.visible-sm {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .visible-md {
+        display: block !important
+    }
+
+    tr.visible-md {
+        display: table-row !important
+    }
+
+    th.visible-md, td.visible-md {
+        display: table-cell !important
+    }
 }
-h1,h2,h3 {
-        color: #569D2F;
+
+@media (min-width: 1200px) {
+    .visible-md.visible-lg {
+        display: block !important
+    }
+
+    tr.visible-md.visible-lg {
+        display: table-row !important
+    }
+
+    th.visible-md.visible-lg, td.visible-md.visible-lg {
+        display: table-cell !important
+    }
+}
+
+.visible-lg {
+    display: none !important
+}
+
+tr.visible-lg {
+    display: none !important
+}
+
+th.visible-lg, td.visible-lg {
+    display: none !important
 }
 
-wbr:after
-{
-        content: "\00200B";  /* IE fix */
+@media (max-width: 767px) {
+    .visible-lg.visible-xs {
+        display: block !important
+    }
+
+    tr.visible-lg.visible-xs {
+        display: table-row !important
+    }
+
+    th.visible-lg.visible-xs, td.visible-lg.visible-xs {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .visible-lg.visible-sm {
+        display: block !important
+    }
+
+    tr.visible-lg.visible-sm {
+        display: table-row !important
+    }
+
+    th.visible-lg.visible-sm, td.visible-lg.visible-sm {
+        display: table-cell !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .visible-lg.visible-md {
+        display: block !important
+    }
+
+    tr.visible-lg.visible-md {
+        display: table-row !important
+    }
+
+    th.visible-lg.visible-md, td.visible-lg.visible-md {
+        display: table-cell !important
+    }
 }
 
-/* Table colors */
-
-table
-{
-		background: #fff;
-        border-collapse: collapse;
+@media (min-width: 1200px) {
+    .visible-lg {
+        display: block !important
+    }
+
+    tr.visible-lg {
+        display: table-row !important
+    }
+
+    th.visible-lg, td.visible-lg {
+        display: table-cell !important
+    }
+}
+
+.hidden-xs {
+    display: block !important
+}
+
+tr.hidden-xs {
+    display: table-row !important
+}
+
+th.hidden-xs, td.hidden-xs {
+    display: table-cell !important
+}
+
+@media (max-width: 767px) {
+    .hidden-xs {
+        display: none !important
+    }
+
+    tr.hidden-xs {
+        display: none !important
+    }
+
+    th.hidden-xs, td.hidden-xs {
+        display: none !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .hidden-xs.hidden-sm {
+        display: none !important
+    }
+
+    tr.hidden-xs.hidden-sm {
+        display: none !important
+    }
+
+    th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm {
+        display: none !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .hidden-xs.hidden-md {
+        display: none !important
+    }
+
+    tr.hidden-xs.hidden-md {
+        display: none !important
+    }
+
+    th.hidden-xs.hidden-md, td.hidden-xs.hidden-md {
+        display: none !important
+    }
 }
- 
-td
-{
-        border: 1px dotted #ccc;
-        background: #F4F4F4;
+
+@media (min-width: 1200px) {
+    .hidden-xs.hidden-lg {
+        display: none !important
+    }
+
+    tr.hidden-xs.hidden-lg {
+        display: none !important
+    }
+
+    th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg {
+        display: none !important
+    }
+}
+
+.hidden-sm {
+    display: block !important
+}
+
+tr.hidden-sm {
+    display: table-row !important
+}
+
+th.hidden-sm, td.hidden-sm {
+    display: table-cell !important
+}
+
+@media (max-width: 767px) {
+    .hidden-sm.hidden-xs {
+        display: none !important
+    }
+
+    tr.hidden-sm.hidden-xs {
+        display: none !important
+    }
+
+    th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs {
+        display: none !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .hidden-sm {
+        display: none !important
+    }
+
+    tr.hidden-sm {
+        display: none !important
+    }
+
+    th.hidden-sm, td.hidden-sm {
+        display: none !important
+    }
+}
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .hidden-sm.hidden-md {
+        display: none !important
+    }
+
+    tr.hidden-sm.hidden-md {
+        display: none !important
+    }
+
+    th.hidden-sm.hidden-md, td.hidden-sm.hidden-md {
+        display: none !important
+    }
+}
+
+@media (min-width: 1200px) {
+    .hidden-sm.hidden-lg {
+        display: none !important
+    }
+
+    tr.hidden-sm.hidden-lg {
+        display: none !important
+    }
+
+    th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg {
+        display: none !important
+    }
+}
+
+.hidden-md {
+    display: block !important
+}
+
+tr.hidden-md {
+    display: table-row !important
+}
+
+th.hidden-md, td.hidden-md {
+    display: table-cell !important
+}
+
+@media (max-width: 767px) {
+    .hidden-md.hidden-xs {
+        display: none !important
+    }
+
+    tr.hidden-md.hidden-xs {
+        display: none !important
+    }
+
+    th.hidden-md.hidden-xs, td.hidden-md.hidden-xs {
+        display: none !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .hidden-md.hidden-sm {
+        display: none !important
+    }
+
+    tr.hidden-md.hidden-sm {
+        display: none !important
+    }
+
+    th.hidden-md.hidden-sm, td.hidden-md.hidden-sm {
+        display: none !important
+    }
 }
- 
-th
-{
-        border:none;
-        background-color: #569D2F;
-    color: white;
-    text-align: left;
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .hidden-md {
+        display: none !important
+    }
+
+    tr.hidden-md {
+        display: none !important
+    }
+
+    th.hidden-md, td.hidden-md {
+        display: none !important
+    }
+}
+
+@media (min-width: 1200px) {
+    .hidden-md.hidden-lg {
+        display: none !important
+    }
+
+    tr.hidden-md.hidden-lg {
+        display: none !important
+    }
+
+    th.hidden-md.hidden-lg, td.hidden-md.hidden-lg {
+        display: none !important
+    }
+}
+
+.hidden-lg {
+    display: block !important
+}
+
+tr.hidden-lg {
+    display: table-row !important
+}
+
+th.hidden-lg, td.hidden-lg {
+    display: table-cell !important
+}
+
+@media (max-width: 767px) {
+    .hidden-lg.hidden-xs {
+        display: none !important
+    }
+
+    tr.hidden-lg.hidden-xs {
+        display: none !important
+    }
+
+    th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs {
+        display: none !important
+    }
+}
+
+@media (min-width: 768px) and (max-width: 991px) {
+    .hidden-lg.hidden-sm {
+        display: none !important
+    }
+
+    tr.hidden-lg.hidden-sm {
+        display: none !important
+    }
+
+    th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm {
+        display: none !important
+    }
 }
- 
-.TableHeadingColor th
-{
-        background-color: #569D2F;
-        background-repeat: repeat-x;
-        color:#fff;
-        font-size:14px;
-        height:26px;
+
+@media (min-width: 992px) and (max-width: 1199px) {
+    .hidden-lg.hidden-md {
+        display: none !important
+    }
+
+    tr.hidden-lg.hidden-md {
+        display: none !important
+    }
+
+    th.hidden-lg.hidden-md, td.hidden-lg.hidden-md {
+        display: none !important
+    }
+}
+
+@media (min-width: 1200px) {
+    .hidden-lg {
+        display: none !important
+    }
+
+    tr.hidden-lg {
+        display: none !important
+    }
+
+    th.hidden-lg, td.hidden-lg {
+        display: none !important
+    }
+}
+
+.visible-print {
+    display: none !important
+}
+
+tr.visible-print {
+    display: none !important
+}
+
+th.visible-print, td.visible-print {
+    display: none !important
+}
+
+@media print {
+    .visible-print {
+        display: block !important
+    }
+
+    tr.visible-print {
+        display: table-row !important
+    }
+
+    th.visible-print, td.visible-print {
+        display: table-cell !important
+    }
+
+    .hidden-print {
+        display: none !important
+    }
+
+    tr.hidden-print {
+        display: none !important
+    }
+
+    th.hidden-print, td.hidden-print {
+        display: none !important
+    }
+}
+
+.container {
+    margin-right: auto;
+    margin-left: auto;
+    padding-left: 15px;
+    padding-right: 15px
 }
-.TableHeadingColor th font[size="+2"] 
-{ 
-        font-size: 10pt; 
+
+.container:before, .container:after {
+    content: " ";
+    display: table
+}
+
+.container:after {
+    clear: both
+}
+
+.row-fluid {
+    margin-left: -15px;
+    margin-right: -15px
+}
+
+.row-fluid:before, .row-fluid:after {
+    content: " ";
+    display: table
+}
+
+.row-fluid:after {
+    clear: both
+}
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+    position: relative;
+    min-height: 1px;
+    padding-left: 15px;
+    padding-right: 15px
+}
+
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 {
+    float: left
+}
+
+.col-xs-1 {
+    width: 8.333333333333332%
 }
-table.parameters tbody th 
-{
-        background: #F4F4F4;
-        color: #333;
-        border: 1px dotted #ccc;
-        font-weight: normal;
+
+.col-xs-2 {
+    width: 16.666666666666664%
+}
+
+.col-xs-3 {
+    width: 25%
+}
+
+.col-xs-4 {
+    width: 33.33333333333333%
+}
+
+.col-xs-5 {
+    width: 41.66666666666667%
+}
+
+.col-xs-6 {
+    width: 50%
+}
+
+.col-xs-7 {
+    width: 58.333333333333336%
+}
+
+.col-xs-8 {
+    width: 66.66666666666666%
+}
+
+.col-xs-9 {
+    width: 75%
+}
+
+.col-xs-10 {
+    width: 83.33333333333334%
+}
+
+.col-xs-11 {
+    width: 91.66666666666666%
+}
+
+.col-xs-12 {
+    width: 100%
 }
-table.parameters thead tr.columnHeaders th 
-{
-	   background: #e6e6e6; 
-	   color: #6e6e6e; 
-       border-left: 1px dotted #999;
-       border-right: 1px dotted #999;
-}
-body > dt > b 
-{ 
-        display: block; 
-        padding: 0.3em 0 0 0.3em; 
-        margin-top: 1em; 
-        background: #569D2F; 
-        color: #fff; 
-        border: 1px solid black;
-        font-size: 14px; 
-        height: 26px; 
+
+@media (min-width: 768px) {
+    .container {
+        max-width: 750px
+    }
+
+    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 {
+        float: left
+    }
+
+    .col-sm-1 {
+        width: 8.333333333333332%
+    }
+
+    .col-sm-2 {
+        width: 16.666666666666664%
+    }
+
+    .col-sm-3 {
+        width: 25%
+    }
+
+    .col-sm-4 {
+        width: 33.33333333333333%
+    }
+
+    .col-sm-5 {
+        width: 41.66666666666667%
+    }
+
+    .col-sm-6 {
+        width: 50%
+    }
+
+    .col-sm-7 {
+        width: 58.333333333333336%
+    }
+
+    .col-sm-8 {
+        width: 66.66666666666666%
+    }
+
+    .col-sm-9 {
+        width: 75%
+    }
+
+    .col-sm-10 {
+        width: 83.33333333333334%
+    }
+
+    .col-sm-11 {
+        width: 91.66666666666666%
+    }
+
+    .col-sm-12 {
+        width: 100%
+    }
+
+    .col-sm-push-1 {
+        left: 8.333333333333332%
+    }
+
+    .col-sm-push-2 {
+        left: 16.666666666666664%
+    }
+
+    .col-sm-push-3 {
+        left: 25%
+    }
+
+    .col-sm-push-4 {
+        left: 33.33333333333333%
+    }
+
+    .col-sm-push-5 {
+        left: 41.66666666666667%
+    }
+
+    .col-sm-push-6 {
+        left: 50%
+    }
+
+    .col-sm-push-7 {
+        left: 58.333333333333336%
+    }
+
+    .col-sm-push-8 {
+        left: 66.66666666666666%
+    }
+
+    .col-sm-push-9 {
+        left: 75%
+    }
+
+    .col-sm-push-10 {
+        left: 83.33333333333334%
+    }
+
+    .col-sm-push-11 {
+        left: 91.66666666666666%
+    }
+
+    .col-sm-pull-1 {
+        right: 8.333333333333332%
+    }
+
+    .col-sm-pull-2 {
+        right: 16.666666666666664%
+    }
+
+    .col-sm-pull-3 {
+        right: 25%
+    }
+
+    .col-sm-pull-4 {
+        right: 33.33333333333333%
+    }
+
+    .col-sm-pull-5 {
+        right: 41.66666666666667%
+    }
+
+    .col-sm-pull-6 {
+        right: 50%
+    }
+
+    .col-sm-pull-7 {
+        right: 58.333333333333336%
+    }
+
+    .col-sm-pull-8 {
+        right: 66.66666666666666%
+    }
+
+    .col-sm-pull-9 {
+        right: 75%
+    }
+
+    .col-sm-pull-10 {
+        right: 83.33333333333334%
+    }
+
+    .col-sm-pull-11 {
+        right: 91.66666666666666%
+    }
+
+    .col-sm-offset-1 {
+        margin-left: 8.333333333333332%
+    }
+
+    .col-sm-offset-2 {
+        margin-left: 16.666666666666664%
+    }
+
+    .col-sm-offset-3 {
+        margin-left: 25%
+    }
+
+    .col-sm-offset-4 {
+        margin-left: 33.33333333333333%
+    }
+
+    .col-sm-offset-5 {
+        margin-left: 41.66666666666667%
+    }
+
+    .col-sm-offset-6 {
+        margin-left: 50%
+    }
+
+    .col-sm-offset-7 {
+        margin-left: 58.333333333333336%
+    }
+
+    .col-sm-offset-8 {
+        margin-left: 66.66666666666666%
+    }
+
+    .col-sm-offset-9 {
+        margin-left: 75%
+    }
+
+    .col-sm-offset-10 {
+        margin-left: 83.33333333333334%
+    }
+
+    .col-sm-offset-11 {
+        margin-left: 91.66666666666666%
+    }
 }
 
-.TableSubHeadingColor  
-{
-        background: #f7ffee;
- 
-}
-.TableSubHeadingColor a
-{
-        color: white;
-        text-decoration: underline;
-}
-.TableSubHeadingColor a:hover
-{
-        color: white;
-        text-decoration: underline;
-}
-
-.TableRowColor         
-{
-        background: #fff;
+@media (min-width: 992px) {
+    .container {
+        max-width: 970px
+    }
+
+    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 {
+        float: left
+    }
+
+    .col-md-1 {
+        width: 8.333333333333332%
+    }
+
+    .col-md-2 {
+        width: 16.666666666666664%
+    }
+
+    .col-md-3 {
+        width: 25%
+    }
+
+    .col-md-4 {
+        width: 33.33333333333333%
+    }
+
+    .col-md-5 {
+        width: 41.66666666666667%
+    }
+
+    .col-md-6 {
+        width: 50%
+    }
+
+    .col-md-7 {
+        width: 58.333333333333336%
+    }
+
+    .col-md-8 {
+        width: 66.66666666666666%
+    }
+
+    .col-md-9 {
+        width: 75%
+    }
+
+    .col-md-10 {
+        width: 83.33333333333334%
+    }
+
+    .col-md-11 {
+        width: 91.66666666666666%
+    }
+
+    .col-md-12 {
+        width: 100%
+    }
+
+    .col-md-push-0 {
+        left: auto
+    }
+
+    .col-md-push-1 {
+        left: 8.333333333333332%
+    }
+
+    .col-md-push-2 {
+        left: 16.666666666666664%
+    }
+
+    .col-md-push-3 {
+        left: 25%
+    }
+
+    .col-md-push-4 {
+        left: 33.33333333333333%
+    }
+
+    .col-md-push-5 {
+        left: 41.66666666666667%
+    }
+
+    .col-md-push-6 {
+        left: 50%
+    }
+
+    .col-md-push-7 {
+        left: 58.333333333333336%
+    }
+
+    .col-md-push-8 {
+        left: 66.66666666666666%
+    }
+
+    .col-md-push-9 {
+        left: 75%
+    }
+
+    .col-md-push-10 {
+        left: 83.33333333333334%
+    }
+
+    .col-md-push-11 {
+        left: 91.66666666666666%
+    }
+
+    .col-md-pull-0 {
+        right: auto
+    }
+
+    .col-md-pull-1 {
+        right: 8.333333333333332%
+    }
+
+    .col-md-pull-2 {
+        right: 16.666666666666664%
+    }
+
+    .col-md-pull-3 {
+        right: 25%
+    }
+
+    .col-md-pull-4 {
+        right: 33.33333333333333%
+    }
+
+    .col-md-pull-5 {
+        right: 41.66666666666667%
+    }
+
+    .col-md-pull-6 {
+        right: 50%
+    }
+
+    .col-md-pull-7 {
+        right: 58.333333333333336%
+    }
+
+    .col-md-pull-8 {
+        right: 66.66666666666666%
+    }
+
+    .col-md-pull-9 {
+        right: 75%
+    }
+
+    .col-md-pull-10 {
+        right: 83.33333333333334%
+    }
+
+    .col-md-pull-11 {
+        right: 91.66666666666666%
+    }
+
+    .col-md-offset-0 {
+        margin-left: 0
+    }
+
+    .col-md-offset-1 {
+        margin-left: 8.333333333333332%
+    }
+
+    .col-md-offset-2 {
+        margin-left: 16.666666666666664%
+    }
+
+    .col-md-offset-3 {
+        margin-left: 25%
+    }
+
+    .col-md-offset-4 {
+        margin-left: 33.33333333333333%
+    }
+
+    .col-md-offset-5 {
+        margin-left: 41.66666666666667%
+    }
+
+    .col-md-offset-6 {
+        margin-left: 50%
+    }
+
+    .col-md-offset-7 {
+        margin-left: 58.333333333333336%
+    }
+
+    .col-md-offset-8 {
+        margin-left: 66.66666666666666%
+    }
+
+    .col-md-offset-9 {
+        margin-left: 75%
+    }
+
+    .col-md-offset-10 {
+        margin-left: 83.33333333333334%
+    }
+
+    .col-md-offset-11 {
+        margin-left: 91.66666666666666%
+    }
 }
- 
-.TableRowColor a      
-{
-        border-bottom:none;
-        color:#569D2F;
-        font-weight:normal;
-}
- 
-tr.TableRowColor:hover
-{
-        background:#eef2e1;
+
+@media (min-width: 1200px) {
+    .container {
+        max-width: 1170px
+    }
+
+    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 {
+        float: left
+    }
+
+    .col-lg-1 {
+        width: 8.333333333333332%
+    }
+
+    .col-lg-2 {
+        width: 16.666666666666664%
+    }
+
+    .col-lg-3 {
+        width: 25%
+    }
+
+    .col-lg-4 {
+        width: 33.33333333333333%
+    }
+
+    .col-lg-5 {
+        width: 41.66666666666667%
+    }
+
+    .col-lg-6 {
+        width: 50%
+    }
+
+    .col-lg-7 {
+        width: 58.333333333333336%
+    }
+
+    .col-lg-8 {
+        width: 66.66666666666666%
+    }
+
+    .col-lg-9 {
+        width: 75%
+    }
+
+    .col-lg-10 {
+        width: 83.33333333333334%
+    }
+
+    .col-lg-11 {
+        width: 91.66666666666666%
+    }
+
+    .col-lg-12 {
+        width: 100%
+    }
+
+    .col-lg-push-0 {
+        left: auto
+    }
+
+    .col-lg-push-1 {
+        left: 8.333333333333332%
+    }
+
+    .col-lg-push-2 {
+        left: 16.666666666666664%
+    }
+
+    .col-lg-push-3 {
+        left: 25%
+    }
+
+    .col-lg-push-4 {
+        left: 33.33333333333333%
+    }
+
+    .col-lg-push-5 {
+        left: 41.66666666666667%
+    }
+
+    .col-lg-push-6 {
+        left: 50%
+    }
+
+    .col-lg-push-7 {
+        left: 58.333333333333336%
+    }
+
+    .col-lg-push-8 {
+        left: 66.66666666666666%
+    }
+
+    .col-lg-push-9 {
+        left: 75%
+    }
+
+    .col-lg-push-10 {
+        left: 83.33333333333334%
+    }
+
+    .col-lg-push-11 {
+        left: 91.66666666666666%
+    }
+
+    .col-lg-pull-0 {
+        right: auto
+    }
+
+    .col-lg-pull-1 {
+        right: 8.333333333333332%
+    }
+
+    .col-lg-pull-2 {
+        right: 16.666666666666664%
+    }
+
+    .col-lg-pull-3 {
+        right: 25%
+    }
+
+    .col-lg-pull-4 {
+        right: 33.33333333333333%
+    }
+
+    .col-lg-pull-5 {
+        right: 41.66666666666667%
+    }
+
+    .col-lg-pull-6 {
+        right: 50%
+    }
+
+    .col-lg-pull-7 {
+        right: 58.333333333333336%
+    }
+
+    .col-lg-pull-8 {
+        right: 66.66666666666666%
+    }
+
+    .col-lg-pull-9 {
+        right: 75%
+    }
+
+    .col-lg-pull-10 {
+        right: 83.33333333333334%
+    }
+
+    .col-lg-pull-11 {
+        right: 91.66666666666666%
+    }
+
+    .col-lg-offset-0 {
+        margin-left: 0
+    }
+
+    .col-lg-offset-1 {
+        margin-left: 8.333333333333332%
+    }
+
+    .col-lg-offset-2 {
+        margin-left: 16.666666666666664%
+    }
+
+    .col-lg-offset-3 {
+        margin-left: 25%
+    }
+
+    .col-lg-offset-4 {
+        margin-left: 33.33333333333333%
+    }
+
+    .col-lg-offset-5 {
+        margin-left: 41.66666666666667%
+    }
+
+    .col-lg-offset-6 {
+        margin-left: 50%
+    }
+
+    .col-lg-offset-7 {
+        margin-left: 58.333333333333336%
+    }
+
+    .col-lg-offset-8 {
+        margin-left: 66.66666666666666%
+    }
+
+    .col-lg-offset-9 {
+        margin-left: 75%
+    }
+
+    .col-lg-offset-10 {
+        margin-left: 83.33333333333334%
+    }
+
+    .col-lg-offset-11 {
+        margin-left: 91.66666666666666%
+    }
 }
- 
- 
-/* Font used in left-hand frame lists */
-.FrameTitleFont   
-{
-        font-size: 120%;
-        font-weight:bold;
+
+.btn {
+    display: inline-block;
+    padding: 6px 12px;
+    margin-bottom: 0;
+    font-size: 14px;
+    font-weight: normal;
+    line-height: 1.428571429;
+    text-align: center;
+    vertical-align: middle;
+    cursor: pointer;
+    border: 1px solid transparent;
+    border-radius: 0;
+    white-space: nowrap;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    -o-user-select: none;
+    user-select: none
+}
+
+.btn:focus {
+    outline: thin dotted #333;
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px
+}
+
+.btn:hover, .btn:focus {
+    color: #333;
+    text-decoration: none
+}
+
+.btn:active, .btn.active {
+    outline: 0;
+    background-image: none
+}
+
+.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
+    cursor: not-allowed;
+    pointer-events: none;
+    opacity: .65;
+    filter: alpha(opacity=65);
+    -webkit-box-shadow: none;
+    box-shadow: none
+}
+
+.btn-default {
+    color: #333;
+    background-color: #fff;
+    border-color: #ccc
+}
+
+.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
+    color: #333;
+    background-color: #ebebeb;
+    border-color: #adadad
+}
+
+.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
+    background-image: none
+}
+
+.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active {
+    background-color: #fff;
+    border-color: #ccc
+}
+
+.btn-primary {
+    color: #fff;
+    background-color: #428bca;
+    border-color: #357ebd
+}
+
+.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
+    color: #fff;
+    background-color: #3276b1;
+    border-color: #285e8e
+}
+
+.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
+    background-image: none
+}
+
+.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
+    background-color: #428bca;
+    border-color: #357ebd
+}
+
+.btn-warning {
+    color: #fff;
+    background-color: #f0ad4e;
+    border-color: #eea236
+}
+
+.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
+    color: #fff;
+    background-color: #ed9c28;
+    border-color: #d58512
+}
+
+.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
+    background-image: none
+}
+
+.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active {
+    background-color: #f0ad4e;
+    border-color: #eea236
 }
- 
-.FrameTitleFont a   
-{  
-        color: #333;
+
+.btn-danger {
+    color: #fff;
+    background-color: #d9534f;
+    border-color: #d43f3a
+}
+
+.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
+    color: #fff;
+    background-color: #d2322d;
+    border-color: #ac2925
+}
+
+.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
+    background-image: none
+}
+
+.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active {
+    background-color: #d9534f;
+    border-color: #d43f3a
+}
+
+.btn-success {
+    color: #fff;
+    background-color: #5cb85c;
+    border-color: #4cae4c
+}
+
+.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
+    color: #fff;
+    background-color: #47a447;
+    border-color: #398439
+}
+
+.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
+    background-image: none
+}
+
+.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active {
+    background-color: #5cb85c;
+    border-color: #4cae4c
+}
+
+.btn-info {
+    color: #fff;
+    background-color: #5bc0de;
+    border-color: #46b8da
+}
+
+.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
+    color: #fff;
+    background-color: #39b3d7;
+    border-color: #269abc
+}
+
+.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
+    background-image: none
 }
- 
-.FrameHeadingFont
-{
-        font-weight: bold;
-        font-size:95%;
+
+.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
+    background-color: #5bc0de;
+    border-color: #46b8da
+}
+
+.btn-link {
+    color: #428bca;
+    font-weight: normal;
+    cursor: pointer;
+    border-radius: 0
+}
+
+.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
+    background-color: transparent;
+    -webkit-box-shadow: none;
+    box-shadow: none
+}
+
+.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
+    border-color: transparent
+}
+
+.btn-link:hover, .btn-link:focus {
+    color: #2a6496;
+    text-decoration: underline;
+    background-color: transparent
+}
+
+.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus {
+    color: #999;
+    text-decoration: none
+}
+
+.btn-lg {
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.33;
+    border-radius: 6px
+}
+
+.btn-sm, .btn-xs {
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+.btn-xs {
+    padding: 1px 5px
+}
+
+.btn-block {
+    display: block;
+    width: 100%;
+    padding-left: 0;
+    padding-right: 0
 }
- 
-.FrameItemFont    
-{
-        line-height:130%;
-        font-size: 95%;
+
+.btn-block + .btn-block {
+    margin-top: 5px
+}
+
+input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
+    width: 100%
+}
+
+.btn-default .caret {
+    border-top-color: #333
+}
+
+.btn-primary .caret, .btn-success .caret, .btn-warning .caret, .btn-danger .caret, .btn-info .caret {
+    border-top-color: #fff
+}
+
+.dropup .btn-default .caret {
+    border-bottom-color: #333
+}
+
+.dropup .btn-primary .caret, .dropup .btn-success .caret, .dropup .btn-warning .caret, .dropup .btn-danger .caret, .dropup .btn-info .caret {
+    border-bottom-color: #fff
+}
+
+.btn-group, .btn-group-vertical {
+    position: relative;
+    display: inline-block;
+    vertical-align: middle
+}
+
+.btn-group > .btn, .btn-group-vertical > .btn {
+    position: relative;
+    float: left
+}
+
+.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active {
+    z-index: 2
+}
+
+.btn-group > .btn:focus, .btn-group-vertical > .btn:focus {
+    outline: 0
+}
+
+.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
+    margin-left: -1px
+}
+
+.btn-toolbar:before, .btn-toolbar:after {
+    content: " ";
+    display: table
+}
+
+.btn-toolbar:after {
+    clear: both
+}
+
+.btn-toolbar .btn-group {
+    float: left
+}
+
+.btn-toolbar > .btn + .btn, .btn-toolbar > .btn-group + .btn, .btn-toolbar > .btn + .btn-group, .btn-toolbar > .btn-group + .btn-group {
+    margin-left: 5px
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+    border-radius: 0
+}
+
+.btn-group > .btn:first-child {
+    margin-left: 0
 }
- 
-.FrameItemFont a
-{
-        color:#333;
+
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0
+}
+
+.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0
+}
+
+.btn-group > .btn-group {
+    float: left
+}
+
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+    border-radius: 0
+}
+
+.btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle {
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0
+}
+
+.btn-group > .btn-group:last-child > .btn:first-child {
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0
+}
+
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+    outline: 0
+}
+
+.btn-group-xs > .btn {
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px;
+    padding: 1px 5px
+}
+
+.btn-group-sm > .btn {
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+.btn-group-lg > .btn {
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.33;
+    border-radius: 6px
+}
+
+.btn-group > .btn + .dropdown-toggle {
+    padding-left: 8px;
+    padding-right: 8px
+}
+
+.btn-group > .btn-lg + .dropdown-toggle {
+    padding-left: 12px;
+    padding-right: 12px
+}
+
+.btn-group.open .dropdown-toggle {
+    background: #f2f2f2
+}
+
+.btn .caret {
+    margin-left: 0
+}
+
+.btn-lg .caret {
+    border-width: 5px 5px 0;
+    border-bottom-width: 0
+}
+
+.dropup .btn-lg .caret {
+    border-width: 0 5px 5px
 }
- 
-.FrameItemFont a:hover
-{
-        color:#249901;
-        border-bottom:none;
-        text-decoration:underline;
+
+.btn-group-vertical > .btn, .btn-group-vertical > .btn-group {
+    display: block;
+    float: none;
+    width: 100%;
+    max-width: 100%
+}
+
+.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
+    content: " ";
+    display: table
+}
+
+.btn-group-vertical > .btn-group:after {
+    clear: both
+}
+
+.btn-group-vertical > .btn-group > .btn {
+    float: none
+}
+
+.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
+    margin-top: -1px;
+    margin-left: 0
+}
+
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+    border-radius: 0
+}
+
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+    border-bottom-left-radius: 0;
+    border-top-right-radius: 0;
+    border-top-left-radius: 0
+}
+
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+    border-radius: 0
+}
+
+.btn-group-vertical > .btn-group:first-child > .btn:last-child, .btn-group-vertical > .btn-group:first-child > .dropdown-toggle {
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group-vertical > .btn-group:last-child > .btn:first-child {
+    border-top-right-radius: 0;
+    border-top-left-radius: 0
+}
+
+.btn-group-justified {
+    display: table;
+    width: 100%;
+    table-layout: fixed;
+    border-collapse: separate
+}
+
+.btn-group-justified .btn {
+    float: none;
+    display: table-cell;
+    width: 1%
+}
+
+[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] {
+    display: none
 }
- 
-/* Navigation bar fonts and colors */
-.NavBarCell1    
-{
-        background-color:#fff;
-        border:none;
+
+.caret {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-left: 2px;
+    vertical-align: middle;
+    border-top: 4px solid #000;
+    border-right: 4px solid transparent;
+    border-left: 4px solid transparent;
+    border-bottom: 0 dotted;
+    content: ""
+}
+
+.dropdown {
+    position: relative
+}
+
+.dropdown-toggle:focus {
+    outline: 0
+}
+
+.dropdown-menu {
+    position: absolute;
+    top: 100%;
+    left: 0;
+    z-index: 1000;
+    display: none;
+    float: left;
+    min-width: 160px;
+    padding: 5px 0;
+    margin: 2px 0 0;
+    list-style: none;
+    font-size: 14px;
+    background-color: #fff;
+    border: 1px solid #ccc;
+    border: 1px solid rgba(0, 0, 0, 0.15);
+    border-radius: 0;
+    background-clip: padding-box
+}
+
+.dropdown-menu.pull-right {
+    right: 0;
+    left: auto
+}
+
+.dropdown-menu .divider {
+    height: 1px;
+    margin: 9px 0;
+    overflow: hidden;
+    background-color: #e5e5e5
+}
+
+.dropdown-menu > li > a {
+    font-size: 14px;
+    text-decoration: none;
+    display: block;
+    padding: 5px 20px;
+    clear: both;
+    font-weight: normal;
+    line-height: 1.428571429;
+    color: #333;
+    white-space: nowrap
+}
+
+.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
+    text-decoration: none;
+    color: #fff;
+    background-color: #428bca
+}
+
+.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
+    color: #fff;
+    text-decoration: none;
+    outline: 0;
+    background-color: #428bca
+}
+
+.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+    color: #999
+}
+
+.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
+    text-decoration: none;
+    background-color: transparent;
+    background-image: none;
+    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+    cursor: not-allowed
 }
- 
-.NavBarCell1Rev
-{
-        background-color:#e3faa5;
-        border:1px solid #9ad00c;
-        padding:0;
-        margin:0;
+
+.open > .dropdown-menu {
+    display: block
+}
+
+.open > a {
+    outline: 0
+}
+
+.dropdown-header {
+    display: block;
+    padding: 3px 20px;
+    font-size: 12px;
+    line-height: 1.428571429;
+    color: #999
+}
+
+.dropdown-backdrop {
+    position: fixed;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    top: 0;
+    z-index: 990
+}
+
+.pull-right > .dropdown-menu {
+    right: 0;
+    left: auto
+}
+
+.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
+    border-top: 0 dotted;
+    border-bottom: 4px solid #000;
+    content: ""
+}
+
+.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 1px
+}
+
+@media (min-width: 768px) {
+    .navbar-right .dropdown-menu {
+        right: 0;
+        left: auto
+    }
+}
+
+body, html {
+    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+    margin: 0;
+    background: #ededed;
+    color: #343437;
+    line-height: 2em;
+    font-weight: 300;
+    font-size: .95em
+}
+
+h1 {
+    font-size: 2.5em;
+    margin: .8em 0
+}
+
+body.center {
+    padding: 0 30px;
+    background: #FFF;
+    font-size: 1em
+}
+
+ul li {
+    list-style-type: disc
 }
- 
-.NavBarCell1 a  
-{
-        color:#333;
-        text-decoration:none;
+
+a {
+    color: #4290ad;
+    text-decoration: none;
+    font-weight: normal
+}
+
+a:hover {
+    text-decoration: underline
+}
+
+h1, h2, h3 {
+    font-weight: 300;
+    line-height: 1.2em
+}
+
+.topNav, .bottomNav {
+    background: #f2f2f2;
+    margin: 0 -30px;
+    margin-bottom: 20px
+}
+
+.topNav:before, .bottomNav:before, .topNav:after, .bottomNav:after {
+    content: " ";
+    display: table
+}
+
+.topNav:after, .bottomNav:after {
+    clear: both
+}
+
+.topNav ul.navList, .bottomNav ul.navList {
+    padding: 10px 20px;
+    margin: 0;
+    list-style-type: none
+}
+
+.topNav ul.navList li, .bottomNav ul.navList li {
+    display: inline;
+    padding: 0 10px
+}
+
+.topNav ul.navList li.navBarCell1Rev, .bottomNav ul.navList li.navBarCell1Rev {
+    font-weight: bold
+}
+
+.bottomNav {
+    margin-top: 30px;
+    margin-bottom: 0
+}
+
+.aboutLanguage {
+    color: #BBB;
+    background: white;
+    text-align: center;
+    padding: 20px 0
+}
+
+.subNav {
+    padding-bottom: 10px;
+    margin-bottom: 10px;
+    border-bottom: 1px solid #EEE
+}
+
+.subNav:before, .subNav:after {
+    content: " ";
+    display: table
+}
+
+.subNav:after {
+    clear: both
+}
+
+.subNav div:before, .subNav div:after {
+    content: " ";
+    display: table
+}
+
+.subNav div:after {
+    clear: both
 }
- 
-.NavBarFont1Rev
-{
- 
+
+.subNav ul.navList, .subNav ul {
+    font-size: .9em;
+    margin: 0;
+    padding: 00;
+    float: left;
+    list-style-type: none
+}
+
+.subNav ul.navList li, .subNav ul li {
+    padding: 0 5px;
+    display: inline
+}
+
+table.overviewSummary, .contentContainer ul li table {
+    width: 100%;
+    margin: 20px 0
+}
+
+table.overviewSummary caption, .contentContainer ul li table caption {
+    text-align: left;
+    font-weight: 100;
+    font-size: 1em;
+    float: left;
+    padding: 0 10px;
+    margin-top: 10px;
+    background: #db4800;
+    color: white
+}
+
+table.overviewSummary tr th, .contentContainer ul li table tr th {
+    padding: 10px;
+    font-weight: bold;
+    font-size: 1em;
+    text-align: left
 }
- 
-.NavBarCell2
-{
-        border:none;
+
+table.overviewSummary tr td, .contentContainer ul li table tr td {
+    vertical-align: top;
+    font-size: .9em;
+    padding: 5px 10px;
+    border-top: 1px solid #EEE
+}
+
+table.overviewSummary tbody > tr:nth-child(odd) > td, .contentContainer ul li table tbody > tr:nth-child(odd) > td {
+    background-color: #f9f9f9
+}
+
+body.left {
+    padding-top: 10px
+}
+
+body.left h1, body.left h2 {
+    display: inline;
+    text-align: left;
+    font-weight: 100;
+    font-size: 1em;
+    margin: 0 10px;
+    padding: 3px 10px;
+    margin-top: 10px;
+    background: #db4800;
+    color: white;
+    line-height: 40px
+}
+
+body.left .indexHeader {
+    margin: 0;
+    padding: 0 15px;
+    font-size: .9em
+}
+
+body.left ul {
+    list-style-type: none;
+    margin: 0;
+    padding: 0
 }
- 
-.NavBarCell2 a    
-{
-        color:#569D2F;
-        font-size:90%;
+
+body.left ul li {
+    margin: 0;
+    padding: 0
+}
+
+body.left ul li a {
+    display: block;
+    padding: 0 15px;
+    text-decoration: none
+}
+
+body.left ul li a:hover {
+    text-decoration: underline
+}
+
+.contentContainer .header ul, .contentContainer ul.blockList {
+    padding: 0
+}
+
+.contentContainer .header ul > li, .contentContainer ul.blockList > li {
+    list-style-type: none
+}
+
+.contentContainer ul.inheritance {
+    margin-left: 0;
+    padding-left: 0
+}
+
+.contentContainer ul.inheritance li {
+    list-style-type: none
+}
+
+.contentContainer ul.inheritance ul.inheritance {
+    padding-left: 20px
 }
- 
-.NavBarCell3    
-{
-        border:none;
+
+.contentContainer hr {
+    border: 0 none;
+    border-top: 1px solid #EEE;
+    margin-top: 30px;
+    margin-botom: 0
+}
+
+ul.blockList ul.blockList, ul.blockList ul.blockListLast {
+    border: 1px solid #EEE;
+    margin: 20px 0;
+    padding: 0 20px
+}
+
+ul.blockList ul.blockList h4, ul.blockList ul.blockListLast h4, ul.blockList ul.blockList h3, ul.blockList ul.blockListLast h3 {
+    font-size: 1em;
+    font-weight: bold;
+    line-height: 2em;
+    text-indent: 10px;
+    border-bottom: 1px solid #EEE;
+    margin: 0 -20px;
+    padding: 5px 0;
+    background: #f2f2f2
 }
+
+ul.blockList ul.blockList li, ul.blockList ul.blockListLast li {
+    list-style-type: none
+}
+
+ul.horizontal {
+    list-style-type: none;
+    padding: 0;
+    margin: 0;
+    font-size: .9em
+}
+
+ul.horizontal li {
+    display: inline
+}
+
+span.strong {
+    font-weight: bold
+}
+
+a span.strong {
+    font-weight: normal
+}
\ No newline at end of file