diff --git a/productMods/templates/visualization/person_level.jsp b/productMods/templates/visualization/person_level.jsp index d228a50b..59d7cc31 100644 --- a/productMods/templates/visualization/person_level.jsp +++ b/productMods/templates/visualization/person_level.jsp @@ -9,33 +9,36 @@ + + - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + @@ -48,250 +51,306 @@ - - - - - + + + + + + + + + -
- - - -
- - - <%-- Image --%> -
+ + + + + + +
+
+ + <%-- Label --%> +

- <%-- Label --%> -

- - <%-- Moniker--%> - + <%-- Moniker--%> + + +
+

Co-Investigator Network

+ View + 4 +
+ +
+ + + + +

Co-Author Network

- - -

Co-Investigator Network

- view -
- -

- Co-Author Network -

-
-
- -
+ + + (GraphML File) + + + + + + + Currently there are no ${authorsText} papers for + this author + in the VIVO database. + + + +
+ + Currently there are no papers for + + this author in the VIVO database. + + +
+ +
- - - - <%-- Sparkline --%> -

General Statistics

- - -
+ +
+
+ +
+
+

Profile

+
+ +
 
+ +
+ +
+
  Publication(s)
+
  Co-author(s)
+ + + +
Note: This information is based solely on publications which have been loaded into the VIVO system. + This may only be a small sample of the person's total work.
+
+
+
+ + <%-- Sparkline --%> +
+
${egoPubSparkline.sparklineContent}
- -
+ +
${uniqueCoauthorsSparkline.sparklineContent}
- - -
+
+ + + +
+ +

Tables

+ +
+

+ ${egoPubSparkline.table} +

+
+ + + +
+

+
+ +
+ +
+ +
+
+
+ + + + + + + + + +
+
+ + <%-- Label --%> +

+ + <%-- Moniker--%> + + +
+

Co-Author Network

+ View + 4 +
+ +
+ + + + +

Co-Investigator Network

+ + + (GraphML File) + + + + + + + Currently there are no ${authorsText} grants for + this investigator in the VIVO database. + + +
+ + Currently there are no ${authorsText} grants for + this investigator in the VIVO database. + + +
+
+ + +
+
+ +
+
+ +

Profile

+
+ +
 
+ +
+ +
+
  Grant(s)
+
  Co-PI(s)
+ + + +
Note: This information is based solely on grants which have been loaded into the VIVO system. + This may only be a small sample of the person's total work.
+
+
+
+ + <%-- Sparkline --%> +
+ +
${egoGrantSparkline.sparklineContent}
-
+
${uniqueCopisSparkline.sparklineContent}
- - - - - -

Co-Author Network

-
- -

Co-PI Network

-
-
- - - (GraphML File) - - - - - - - Currently there are no ${authorsText} papers for - this author in the VIVO database. - - - - - - Currently there are no papers for - this author in the VIVO database. - - +
-
- - - -
- - -
- -
- - -
+ -
-
-
- -
 
- -
- -
-
  Publication(s)
-
  Co-author(s)
- - - -
Note: This information is based solely on publications which have been loaded into the VIVO system. - This may only be a small sample of the person's total work.
-
-
- -
- -
-
-
- -
 
- -
- -
-
  Grant(s)
-
  Co-PI(s)
- - - -
Note: This information is based solely on publications which have been loaded into the VIVO system. - This may only be a small sample of the person's total work.
-
-
-
-
- -
- - - - - -
- -

Tables

- -
-

- ${egoPubSparkline.table} -

-
+
+ +

Tables

- -
-

+

+ ${egoGrantSparkline.table} +

+ + - +
+

+
+ +
+ +
-
- -
- - - - - -
- -

Tables

- -
-

- ${egoGrantSparkline.table} -

- - + +
-
-

-
- -
- -
- -
-
- - -
-
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java index 58b34c32..d31d190f 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coauthorship/CoAuthorshipVisCodeGenerator.java @@ -227,7 +227,7 @@ public class CoAuthorshipVisCodeGenerator { } - String sparklineDisplayOptions = "{width: 65, height: 30, showAxisLines: false, " + String sparklineDisplayOptions = "{width: 150, height: 30, showAxisLines: false, " + "showValueLabels: false, labelPosition: 'none'}"; if (providedVisContainerID != null) { @@ -397,7 +397,7 @@ public class CoAuthorshipVisCodeGenerator { + unknownYearCoauthors) + "');"); visualizationCode.append("var allSparksText = ''" - + "+ ' co-author(s) from '" + + "+ '

co-author(s)

from '" + "+ ' " + "" + minPubYearConsidered + " to " + currentYear + "" + " '" diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountQueryRunner.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountQueryRunner.java index b53f410a..3c01635c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountQueryRunner.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIGrantCountQueryRunner.java @@ -80,20 +80,100 @@ public class CoPIGrantCountQueryRunner implements QueryRunner { + " (str(?GrantEndDate) as ?" + QueryFieldLabels.GRANT_END_DATE + ") " + " (str(?CoPI) as ?" + QueryFieldLabels.CO_PI_URL + ") " + " (str(?CoPILabel) as ?" + QueryFieldLabels.CO_PI_LABEL + ") " - + "WHERE { " - + "<" + queryURI + "> rdfs:label ?PILabel ;" - + " core:hasCo-PrincipalInvestigatorRole ?Role . " - + "?Role core:roleIn ?Grant . " - + "?Grant rdfs:label ?GrantLabel ; " - + "core:startDate ?GrantStartDate ; " - + "core:endDate ?GrantEndDate ;" - + "core:relatedRole ?RelatedRole . " - + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " - + "?CoPI rdfs:label ?CoPILabel . " - + " }"; + + "WHERE " + + "{ " + + "<" + queryURI + "> rdfs:label ?PILabel . " + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:principalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:principalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + "} " + + + "} "; log.debug("COPI QUERY - " + sparqlQuery); + //System.out.println("\n\nCOPI QUERY - " + sparqlQuery + "\n\n"); + return sparqlQuery; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java index be931fd7..1758b95f 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/coprincipalinvestigator/CoPIVisCodeGenerator.java @@ -223,7 +223,7 @@ public class CoPIVisCodeGenerator { VOConstants.DEFAULT_GRANT_YEAR).size(); } - String sparklineDisplayOptions = "{width: 65, height: 30, showAxisLines: false, " + String sparklineDisplayOptions = "{width: 150, height: 30, showAxisLines: false, " + "showValueLabels: false, labelPosition: 'none'}"; if (providedVisContainerID != null) { @@ -391,7 +391,7 @@ public class CoPIVisCodeGenerator { + unknownYearGrants) + "');"); visualizationCode.append("var allSparksText = ''" - + "+ ' Co-Principal Investigator(s) '" + + "+ '

Co-Principal Investigator(s)

'" + "+ ' from " + "" + "" + minGrantYearConsidered + " to " + currentYear + "" diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/coprincipalinvestigator/CoPIGrantCountQueryRunner.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/coprincipalinvestigator/CoPIGrantCountQueryRunner.java index 446bd544..1ebc15b7 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/coprincipalinvestigator/CoPIGrantCountQueryRunner.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/coprincipalinvestigator/CoPIGrantCountQueryRunner.java @@ -80,22 +80,103 @@ public class CoPIGrantCountQueryRunner implements QueryRunner { + " (str(?GrantEndDate) as ?" + QueryFieldLabels.GRANT_END_DATE + ") " + " (str(?CoPI) as ?" + QueryFieldLabels.CO_PI_URL + ") " + " (str(?CoPILabel) as ?" + QueryFieldLabels.CO_PI_LABEL + ") " - + "WHERE { " - + "<" + queryURI + "> rdfs:label ?PILabel ;" - + " core:hasCo-PrincipalInvestigatorRole ?Role . " - + "?Role core:roleIn ?Grant . " - + "?Grant rdfs:label ?GrantLabel ; " - + "core:startDate ?GrantStartDate ; " - + "core:endDate ?GrantEndDate ;" - + "core:relatedRole ?RelatedRole . " - + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " - + "?CoPI rdfs:label ?CoPILabel . " - + " }"; + + "WHERE " + + "{ " + + "<" + queryURI + "> rdfs:label ?PILabel . " + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:principalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:principalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel ; " + + + "core:relatedRole ?RelatedRole . " + + + "?RelatedRole core:co-PrincipalInvestigatorRoleOf ?CoPI . " + + + "?CoPI rdfs:label ?CoPILabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + "} " + + + "} "; log.debug("COPI QUERY - " + sparqlQuery); + //System.out.println("\n\nCOPI QUERY - " + sparqlQuery + "\n\n"); + return sparqlQuery; } + private ResultSet executeQuery(String queryText, DataSource dataSource) { diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/persongrantcount/PersonGrantCountQueryRunner.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/persongrantcount/PersonGrantCountQueryRunner.java index aab9ecac..1516bc1a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/persongrantcount/PersonGrantCountQueryRunner.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/freemarker/persongrantcount/PersonGrantCountQueryRunner.java @@ -120,16 +120,49 @@ public class PersonGrantCountQueryRunner implements QueryRunner>{ private String getSparqlQuery(String queryURI){ String sparqlQuery = QueryConstants.getSparqlPrefixQuery() + + SPARQL_QUERY_COMMON_SELECT_CLAUSE + + "(str(<" + queryURI + ">) as ?PILit) " - + "WHERE {" - + "<" + queryURI + "> rdfs:label ?PILabel;" - + "core:hasCo-PrincipalInvestigatorRole ?Role ." - + "?Role core:roleIn ?Grant ." - + "?Grant rdfs:label ?GrantLabel ; core:startDate ?GrantStartDate ; core:endDate ?GrantEndDate ." - + "}"; + + + "WHERE " + + "{ " + + "<" + queryURI + "> rdfs:label ?PILabel . " + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + + "} " + + + + "} "; log.debug("SPARQL query for person grant count -> \n"+ sparqlQuery); + return sparqlQuery; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountQueryRunner.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountQueryRunner.java index 56a1f938..389210c5 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountQueryRunner.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountQueryRunner.java @@ -119,16 +119,49 @@ public class PersonGrantCountQueryRunner implements QueryRunner>{ private String getSparqlQuery(String queryURI){ String sparqlQuery = QueryConstants.getSparqlPrefixQuery() + + SPARQL_QUERY_COMMON_SELECT_CLAUSE + + "(str(<" + queryURI + ">) as ?PILit) " - + "WHERE {" - + "<" + queryURI + "> rdfs:label ?PILabel;" - + "core:hasCo-PrincipalInvestigatorRole ?Role ." - + "?Role core:roleIn ?Grant ." - + "?Grant rdfs:label ?GrantLabel ; core:startDate ?GrantStartDate ; core:endDate ?GrantEndDate ." - + "}"; + + + "WHERE " + + "{ " + + "<" + queryURI + "> rdfs:label ?PILabel . " + + "{ " + + + "<" + queryURI + "> core:hasCo-PrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + "} " + + + "UNION " + + + "{ " + + + "<" + queryURI + "> core:hasPrincipalInvestigatorRole ?Role . " + + + "?Role core:roleIn ?Grant . " + + + "?Grant rdfs:label ?GrantLabel . " + + + "OPTIONAL { ?Grant core:startDate ?GrantStartDate } . " + + + "OPTIONAL { ?Grant core:endDate ?GrantEndDate } . " + + + + "} " + + + + "} "; log.debug("SPARQL query for person grant count -> \n"+ sparqlQuery); + return sparqlQuery; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java index 23d35a0f..cbbd9491 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/persongrantcount/PersonGrantCountVisCodeGenerator.java @@ -225,7 +225,7 @@ public class PersonGrantCountVisCodeGenerator { .get(VOConstants.DEFAULT_GRANT_YEAR); } - String sparklineDisplayOptions = "{width: 65, height: 30, showAxisLines: false, " + String sparklineDisplayOptions = "{width: 150, height: 30, showAxisLines: false, " + "showValueLabels: false, labelPosition: 'none'}"; if (providedVisContainerID != null) { @@ -391,7 +391,7 @@ public class PersonGrantCountVisCodeGenerator { + unknownYearGrants) + "');"); visualizationCode.append("var allSparksText = ''" - + "+ ' grant(s) '" + + "+ '

grant(s)

'" + "+ ' from " + "" + "" + minGrantYearConsidered + " to " + currentYear + "" diff --git a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java index f4aa9ae1..efa2df0f 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/PersonPublicationCountVisCodeGenerator.java @@ -240,7 +240,7 @@ public class PersonPublicationCountVisCodeGenerator { .get(VOConstants.DEFAULT_PUBLICATION_YEAR); } - String sparklineDisplayOptions = "{width: 65, height: 30, showAxisLines: false, " + String sparklineDisplayOptions = "{width: 150, height: 30, showAxisLines: false, " + "showValueLabels: false, labelPosition: 'none'}"; if (providedVisContainerID != null) { @@ -410,7 +410,7 @@ public class PersonPublicationCountVisCodeGenerator { + unknownYearPublications) + "');"); visualizationCode.append("var allSparksText = ''" - + "+ ' publication(s) '" + + "+ '

publication(s)

'" + "+ ' from " + "" + "" + minPubYearConsidered + " to " + currentYear + "" diff --git a/themes/wilma/css/visualization/personlevel/coauthor_style.css b/themes/wilma/css/visualization/personlevel/coauthor_style.css index d9eea52f..f078cad9 100644 --- a/themes/wilma/css/visualization/personlevel/coauthor_style.css +++ b/themes/wilma/css/visualization/personlevel/coauthor_style.css @@ -21,10 +21,19 @@ padding-left: 16px; height: 840px; } + +#dataPanel { + margin-top: 50px; + width: 25%; + background-color: #f7f9f9; +/* height: 80%; */ + padding-left: 10px; + padding-bottom: 30px; +} + #dataPanel div { font-family: Arial, Helvetica, sans-serif; font-size: 11px; - color: #000; } #dataPanel .italicize { font-style: italic; @@ -42,5 +51,32 @@ /* container override from liquid.css */ .container { - width: inherit; -} \ No newline at end of file + width: inherit; +} + +#incomplete-data{ + width: 75%; + margin : auto; + line-height: 150%; + color: #595b5b; +} + +.fileDownloadPlaceHolder{ + margin-left: 20px; +} + +#profileTitle{ + + padding: 10px; + padding-left: 5%; + background-color: #2A2A2A; + color: white; + width: 50%; + margin-left: -10px; + margin-top: -10px; +} + +#table_heading{ + margin-bottom:20px; + width: 80%; +} diff --git a/themes/wilma/css/visualization/personlevel/page.css b/themes/wilma/css/visualization/personlevel/page.css index 6c0e1a47..3622611b 100644 --- a/themes/wilma/css/visualization/personlevel/page.css +++ b/themes/wilma/css/visualization/personlevel/page.css @@ -14,15 +14,18 @@ a.no_href_styles { padding-left:10px; padding-top:10px; background: #fff; + margin-left: 35%; + clear: right; } .vis-tables { - width: 33%; - padding: 5px; - margin: 5px; +/* width: 33%; */ + padding: 10px; + margin: 10px; background-color: #FFF; border: 1px solid #ddebf1; - float: left; + float:left; + font-size: 0.8em; } p.datatable { @@ -95,6 +98,21 @@ p.datatable { color: #121b3c; padding-top: 10px; margin-bottom: 0.3em; + float:left; +} + +.toggle_visualization{ + +/* + margin-bottom: 0.3em; + clear:left; + float:right; + width: 150px; +*/ + text-align: left; + margin-left: 78%; + margin-top: -8%; + max-width: 250px; } .sub_headings a { @@ -136,4 +154,4 @@ table.sparkline_wrapper_table td, th { #coauthorships_table th { vertical-align: top; -} \ No newline at end of file +}