/*
 * CSS customizations for JUnit
 */

@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,700|Open+Sans:300,300i,400,400i,700,700i');

body, .title {
    color:#333333;
}

body, div.block, .deprecationBlock, button {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
}

.title {
    font-weight: 300;
    font-size: 32px;
    margin-top: 0;
}

a:link, a:visited {
    text-decoration:none;
    color:#dc524a;
}

a[href]:hover, a[href]:focus {
    text-decoration:none;
    color:#b62b23;
}

pre, code, tt, dt code, table tr td dt code {
    font-family: "Fira Mono", monospace;
}

.bar {
    background-color:#25a162;
}

.top-nav {
    background-color:#25a162;
}

.bottom-nav {
    background-color:#25a162;
}

.sub-nav {
    background-color:#f5f5f5;
}

.top-nav a:hover, .bottom-nav a:hover {
    text-decoration:underline;
    color:inherit;
}

.nav-bar-cell1-rev {
    background-color:#fff;
    color:#dc524a;
    border-radius: 6px;
}

.index-nav {
    background-color:#eee;
}

body.class-declaration-page .summary h2,
body.class-declaration-page .details h2,
body.class-use-page  h2,
body.module-declaration-page  .block-list h2 {
    font-style: italic;
    padding:0;
    margin:15px 0;
}
body.class-declaration-page .summary h3,
body.class-declaration-page .details h3,
body.class-declaration-page .summary .inherited-list h2,
div.details ul.block-list ul.block-list ul.block-list li.block-list h4,
ul.block-list ul.block-list ul.block-list li.block-list h3 {
    background-color:#ddd;
    border:1px solid #ddd;
}

.constants-summary caption a:link, .constants-summary caption a:visited,
.use-summary caption a:link, .use-summary caption a:visited {
    color:#fff;
}

.overview-summary caption span, .member-summary caption span, .type-summary caption span,
.use-summary caption span, .constants-summary caption span, .deprecated-summary caption span,
.requires-summary caption span, .packages-summary caption span, .provides-summary caption span,
.uses-summary caption span,
.member-summary caption span.active-table-tab span, .packages-summary caption span.active-table-tab span,
.overview-summary caption span.active-table-tab span, .type-summary caption span.active-table-tab span,
div.table-tabs > button.active-table-tab
{
    background-color:#dc524a;
    color: #fff;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    /* Overrides the color of selection used in jQuery UI */
    background: #dc524a !important;
    color: #fff !important;
}

main a[href*="://"]::after,
main a[href*="://"]:hover::after,
main a[href*="://"]:focus::after {
    background-image:url('data:image/svg+xml; utf8, \
      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
        132-240 240 120 120 240-240 132 132V0z" fill="%23aaa"/>\
      </svg>');
}

.member-summary caption span.table-tab span, .packages-summary caption span.table-tab span,
.overview-summary caption span.table-tab span, .type-summary caption span.table-tab span,
.ui-autocomplete-category,
div.table-tabs > button.table-tab {
    background-color:#aaa;
    color: #fff;
}

th.col-first, th.col-second, th.col-last, th.col-constructor-name, th.col-deprecated-item-name, .constants-summary th,
.packages-summary th {
    background:#eee;
}

.table-sub-heading-color {
    background-color:#eee;
}

.alt-color, .alt-color th {
    background-color:#fff;
}

.row-color, .row-color th {
    background-color:#eee;
}

.block {
    margin:0 10px 5px 0;
}

th.col-first, th.col-second, th.col-last, th.col-constructor-name, th.col-deprecated-item-name, .constants-summary th,
.packages-summary th, .overview-summary td, .member-summary td, .type-summary td,
.use-summary td, .constants-summary td, .deprecated-summary td,
.requires-summary td, .packages-summary td, .provides-summary td, .uses-summary td {
    padding-left:7px;
}
