/* * Say hello to BetterJDocs! * * This theme was specifically made to replace the old JavaDocs' Interface with a much * needed improved version of its design & layout while being limited only to CSS. * * Below you can configure the color palette to your liking. * If you like the dark mode and only want to change the primary * colors, I suggest not changing the background colors. */ :root { /* Mostly used on links & buttons */ --primary-color: #4186f5; /* Used in fields, parameters, types, etc. */ --secondary-color: #ffffff; /* Used specifically for descriptions and text */ --description-color: #949494; /* Hover color for links */ --hover-color: #76a6f4; /* Color for Top Navigation and Cards */ --bg-900-color: #121212; /* Color used in the body's background */ --bg-800-color: #171717; /* Mostly used for the odd row in tables */ --bg-700-color: #1c1c1c; /* Mostly used for the even row in tables and used for the searchbar */ --bg-600-color: #212121; } /* * Javadoc style sheet starts here. * Please be aware that modifying anything below this point may break the theme. * Do it at your own risk! * * PS: This is a modification of the default stylesheet from the regular JavaDocs. */ body { background-color: var(--bg-800-color); color: var(--description-color); font-family: "monospace", Arial, Helvetica, sans-serif; font-size: 14px; margin: 0; padding: 0; height: 100%; width: 100%; } iframe { margin: 0; padding: 0; height: 100%; width: 100%; overflow-y: scroll; border: none; } a:link, a:visited { text-decoration: none; color: var(--primary-color); } a[href]:hover, a[href]:focus { text-decoration: none; color: var(--hover-color); } a[name] { color: #353833; } pre { font-family: monospace; font-size: 14px; } h1 { font-size: 20px; } h2 { font-size: 18px; } h3 { font-size: 16px; } h4 { font-size: 15px; } h5 { font-size: 14px; } h6 { font-size: 13px; } ul { list-style-type: disc; } code, tt { font-family: monospace; } :not(h1, h2, h3, h4, h5, h6) > code, :not(h1, h2, h3, h4, h5, h6) > tt { font-size: 14px; padding-top: 4px; margin-top: 8px; line-height: 1.4em; color: var(--secondary-color); font-weight: bold; } dt code { font-family: monospace; font-size: 14px; padding-top: 4px; } .summary-table dt code { font-family: monospace; font-size: 14px; vertical-align: middle; padding-top: 4px; } sup { font-size: 8px; } button { font-family: monospace, Arial, Helvetica, sans-serif; font-size: 14px; } /* * Styles for HTML generated by javadoc. * * These are style classes that are used by the standard doclet to generate HTML documentation. */ /* * Styles for document title and copyright. */ .clear { clear: both; height: 0; overflow: hidden; } .about-language { float: right; padding: 0 21px 8px 8px; font-size: 11px; margin-top: -9px; height: 2.9em; } .legal-copy { margin-left: 0.5em; } .tab { background-color: #0066ff; color: var(--secondary-color); padding: 8px; width: 5em; font-weight: bold; } /* * Styles for navigation bar. */ ::-webkit-scrollbar { width: 10px; height: 8px; background: transparent; } /* Track */ ::-webkit-scrollbar-track { border-radius: 1px; } /* Handle */ ::-webkit-scrollbar-thumb { background: #3D3D3D; border-radius: 2px; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: var(--description-color); } @media screen { .flex-box { position: fixed; display: flex; flex-direction: column; height: 100%; width: 100%; } .flex-header { flex: 0 0 auto; } .flex-content { flex: 1 1 auto; overflow-y: auto; } } #navbar-top-firstrow { margin-block: 0.75rem; overflow-x: auto; } .top-nav { background-color: var(--bg-900-color); color: var(--secondary-color); float: left; padding: 0; width: 100%; clear: right; min-height: 2.8em; overflow: hidden; font-size: 12px; padding-top: 6px; } .sub-nav { background-color: var(--bg-800-color); width: 100%; align-items: center; overflow: hidden; font-size: 12px; margin-bottom: 1rem; } .sub-nav div { clear: left; float: left; padding: 0 0 5px 6px; text-transform: uppercase; } .sub-nav .nav-list { padding-top: 5px; } ul.nav-list { display: flex; justify-content: left; margin: auto; margin-inline: 0.8rem; padding: 0; } ul.sub-nav-list { float: left; margin: 0.9rem 25px 0 0.85rem; padding: 0; color: var(--description-color); } ul.nav-list li { list-style: none; float: left; padding: 5px 6px; text-transform: uppercase; color: var(--description-color); } #navbar-toggle-button { display: none; } ul.nav-list li:first-child { color: var(--secondary-color); font-weight: bold; } .sub-nav .nav-list-search { margin: 0 0 0 0; padding: 5px 6px; color: #171717; clear: none; float: right; } .nav-list-search label { color: #171717; display: none; } ul.sub-nav-list li { list-style: none; float: left; padding-top: 10px; } .top-nav a:link, .top-nav a:active, .top-nav a:visited { color: var(--description-color); text-decoration: none; text-transform: uppercase; } .top-nav a:hover { text-decoration: none; color: var(--hover-color); text-transform: uppercase; } .nav-bar-cell1-rev { color: var(--secondary-color) !important; margin: auto 5px; background-color: var(--primary-color); border-radius: 5px; margin-bottom: 8px; } .skip-nav { position: absolute; top: auto; left: -9999px; overflow: hidden; } /* * Hide navigation links and search box in print layout */ @media print { ul.nav-list, div.sub-nav { display: none; } } /* * Styles for page header and footer. */ .title { color: var(--secondary-color); margin: 10px 0; } main > .sub-title, .page-search-info, #result-container { margin: 5px 0 0 0; font-size: 13px; color: var(--description-color); background-color: var(--bg-900-color); border: solid 1px transparent; margin-top: 0.5rem; padding-inline: 0.65rem; margin-bottom: 0.5rem; border-radius: 5px; padding-block: 1px; } #search-redirect { top: 0; left: 0; height: 15px; width: 15px; background-color: transparent; } #search-redirect::after { content: ""; display: none; } .sub-title > h2, h3 { color: var(--secondary-color); } .header ul { margin: 0 0 15px 0; padding: 0; } .header ul li, .footer ul li { list-style: none; font-size: 13px; } /* * Styles for headings. */ 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; color: var(--secondary-color); padding: 0; } .constructor-summary > h2, .method-summary > h2 { margin: 10px 0 0 0; } body.class-declaration-page .summary h3, body.class-declaration-page .details h3, body.class-declaration-page .summary .inherited-list h2 { background-color: var(--bg-700-color); border: solid 1px transparent; border-radius: 5px 5px 0 0; margin: 0 0 6px -8px; padding: 7px 8px; } /* * Styles for page layout containers. */ main { clear: both; padding: 0px 20px; position: relative; } main > hr { display: none; } .index > dt { color: var(--description-color); } .notes { margin-bottom: 0; } .class-description > dl.notes > dt:first-child { margin-top: -1rem; } dl.notes > dt { font-family: monospace, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: var(--description-color); } dl.notes > dd { margin: 5px 10px 0 0; font-size: 14px; font-family: monospace, Georgia, "Times New Roman", Times, serif; } dl.name-value > dt { margin-left: 1px; font-size: 1.1em; display: inline; font-weight: bold; } dl.name-value > dd { margin: 0 0 0 1px; font-size: 1.1em; display: inline; } /* * Styles for lists. */ li.circle { list-style: circle; color: var(--description-color); } ul.horizontal li { display: inline; font-size: 0.9em; } div.inheritance { margin: 0; padding: 0; color: var(--description-color); } div.inheritance div.inheritance { margin-left: 2em; margin-bottom: 1rem; } ul.block-list, ul.details-list, ul.member-list, ul.summary-list { margin-top: 10px; padding: 0; } ul.block-list > li, ul.details-list > li, ul.member-list > li, ul.summary-list > li { list-style: none; margin-bottom: 15px; line-height: 1.4; background-color: var(--bg-800-color); } ul.member-list > li:last-child { margin-bottom: 0; } .summary-table dl, .summary-table dl dt, .summary-table dl dd { margin-top: 0; } ul.see-list, ul.see-list-long { padding-left: 0; list-style: none; } ul.see-list li { display: inline; } ul.see-list li:not(:last-child):after, ul.see-list-long li:not(:last-child):after { content: ", "; white-space: pre-wrap; } /* * Styles for tables. */ .summary-table, .details-table { width: 100%; padding: 0; border: solid 1px transparent; border-radius: 5px; } footer > hr { display: none; text-align: center; } .three-column-summary > div:nth-child(4) { border-top-left-radius: 5px; } .three-column-summary > div:nth-child(6) { border-top-right-radius: 5px; } .three-column-summary > div:nth-last-child(3) { border-bottom-left-radius: 5px; } .three-column-summary > div:nth-last-child(1) { border-bottom-right-radius: 5px; } .two-column-summary > div:nth-child(3) { border-top-left-radius: 5px; } .two-column-summary > div:nth-child(4) { border-top-right-radius: 5px; } .two-column-summary > div:nth-last-child(2) { border-bottom-left-radius: 5px; } .two-column-summary > div:nth-last-child(1) { border-bottom-right-radius: 5px; } .caption { color: var(--description-color); font-weight: bold; clear: none; overflow: hidden; padding: 0; padding-left: 1px; margin: 0; white-space: pre; } .caption a:link, .caption a:visited { color: #1f389c; } .caption a:hover, .caption a:active { color: var(--hover-color); } .caption span { white-space: nowrap; padding-top: 5px; padding-bottom: 7px; display: inline-block; border: none; font-size: 1rem; padding-left: 0; background: transparent; } div.table-tabs { padding: 1rem 0 1rem 1px; margin: 0; } #page-search-expand { display: none; } #result-container > .table-tabs:last-child { padding-block: 0px; } div.table-tabs > button { border: none; cursor: pointer; padding: 5px 12px 7px 12px; } div.table-tabs > button.active-table-tab { background: var(--primary-color); color: var(--secondary-color); font-weight: bold; border: solid 1px var(--primary-color); } div.table-tabs > button.table-tab { background: transparent; color: var(--primary-color); border-block: solid 1px var(--primary-color); border-left: solid 1px var(--primary-color); } div.table-tabs > button:first-child { border-radius: 5px 0 0 5px; } div.table-tabs > button:last-child { border-inline: solid 1px var(--primary-color); border-radius: 0 5px 5px 0; } .two-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax( 15%, auto ); } .four-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax( 10%, max-content ) minmax(10%, auto); } @media screen and (max-width: 600px) { .two-column-summary { display: grid; grid-template-columns: 1fr; } ul.nav-list { justify-content: center; } } @media screen and (max-width: 800px) { .three-column-summary { display: grid; grid-template-columns: minmax(10%, max-content) minmax(25%, auto); } .three-column-summary .col-last { grid-column-end: span 2; } } @media screen and (max-width: 1000px) { .four-column-summary { display: grid; grid-template-columns: minmax(15%, max-content) minmax(15%, auto); } } #ui-id-1 { border: solid 1px transparent; top: 7rem !important; border-radius: 5px; margin-top: -0.5rem !important; overflow-x: hidden; overflow-y: auto } .ui-state-active { background-color: transparent !important; border: solid 1px transparent !important; margin: 0 !important; } .ui-menu-item-wrapper { padding-left: 8px !important; padding-block: 6px !important; } .ui-menu-item-wrapper:hover, .ui-menu-item-wrapper:active { background: transparent !important; border: solid 1px transparent !important; } .summary-table > div, .details-table > div { text-align: left; padding: 0.85rem 3px 0.85rem 0.65rem; border-bottom: solid 1px transparent; vertical-align: middle; } .col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { vertical-align: middle; padding-right: 0; padding-block: 0px; } .table-header { background: #dee3e9; font-weight: bold; display: none; } .col-first, .col-first { font-size: 13px; } .col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { font-size: 13px; } .col-first, .col-second, .col-constructor-name { vertical-align: middle; overflow: auto; } .col-last { white-space: normal; } .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-first a:link, .col-first a:visited, .col-second a:link, .col-second a:visited, .col-constructor-name a:link, .col-constructor-name a:visited, .col-summary-item-name a:link, .col-summary-item-name a:visited, .constant-values-container a:link, .constant-values-container a:visited, .all-classes-container a:link, .all-classes-container a:visited, .all-packages-container a:link, .all-packages-container a:visited { font-weight: bold; } .table-sub-heading-color { background-color: #eeeeff; } .even-row-color, .even-row-color .table-header { background-color: var(--bg-600-color); color: grey; } .odd-row-color, .odd-row-color .table-header { background-color: var(--bg-700-color); color: grey; } /* * Styles for contents. */ .deprecated-content { margin: 0; padding: 10px 0; } div.block { font-size: 14px; font-family: monospace, Georgia, "Times New Roman", Times, serif; } .col-last div { padding-top: 0; } .col-last a { padding-bottom: 3px; } a.external-link:hover::after { background-image: url('data:image/svg+xml; utf8, \ \ \ ') !important; } .external-link { color: var(--primary-color); } .type-signature { font-size: 15px; } .class-description .type-signature { margin-top: 0.1rem; background-color: var(--bg-600-color); padding: 0.5rem; border: solid 1px transparent; border-radius: 5px; margin-right: 0.5rem; } .module-signature, .package-signature, .type-signature, .member-signature { font-family: monospace; color: var(--secondary-color); font-size: 13px; margin: 14px 0; white-space: pre-wrap; } .module-signature, .package-signature, .type-signature { margin-top: -5px; } .member-signature .type-parameters-long, .member-signature .parameters, .member-signature .exceptions { display: inline-block; vertical-align: top; white-space: pre; } .member-signature .type-parameters { white-space: normal; } /* * Styles for formatting effect. */ .source-line-no { color: green; padding: 0 30px 0 0; } h1.hidden { visibility: hidden; overflow: hidden; font-size: 10px; } .block { display: block; margin: 0 10px 0 0; color: var(--description-color); } .class-description > .block { margin-bottom: 5px; } .hierarchy > h2 { color: var(--secondary-color); } .block > a { color: var(--primary-color); } .deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, .module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, .package-hierarchy-label, .type-name-link, .search-tag-link, .preview-label { font-weight: bold; color: var(--description-color); } .package-label-in-type { color:var(--description-color) } .type-name-label { color: var(--description-color); font-weight: bold; text-decoration: underline; } .deprecation-comment, .help-footnote, .preview-comment { font-style: italic; color: var(--description-color); } .deprecation-block { font-size: 14px; font-family: monospace, Georgia, "Times New Roman", Times, serif; border-style: solid; border-width: thin; border-radius: 10px; padding: 10px; margin-bottom: 10px; margin-right: 10px; display: inline-block; } .preview-block { font-size: 14px; font-family: monospace, Georgia, "Times New Roman", Times, serif; border-style: solid; border-width: thin; border-radius: 10px; padding: 10px; margin-bottom: 10px; margin-right: 10px; display: inline-block; } div.block div.deprecation-comment { font-style: normal; } /* * Styles specific to HTML5 elements. */ main, nav, header, footer, section { display: block; } /* * Styles for javadoc search. */ .ui-autocomplete-category { font-weight: bold; font-size: 15px; padding: 7px 0 7px 10px; background-color: var(--bg-700-color); color: var(--secondary-color); border-block: solid 1px transparent; } .ui-autocomplete-category:first-child, .ui-autocomplete-category:last-child { border-top: none; } .ui-autocomplete { max-height: 85%; max-width: 65%; overflow-y: scroll; overflow-x: scroll; white-space: nowrap; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } ul.ui-autocomplete { position: fixed; z-index: 999999; background-color: var(--bg-600-color); } ul.ui-autocomplete li { float: left; clear: both; width: 100%; } .ui-autocomplete .result-item { font-size: inherit; color: var(--primary-color); } .ui-autocomplete .result-item:hover { color: var(--hover-color); } .ui-autocomplete .result-highlight { font-weight: bold; color: var(--secondary-color); } #search-input, #page-search-input { background-color: var(--bg-600-color); border: solid 1px var(--bg-600-color); border-radius: 5px; height: 1.85rem; color: var(--description-color); padding-left: 8px; margin-left: 20px; width: 60vh; margin-top: 0.5rem; position: relative; max-width: 600px; } #page-search-input { margin-left: 0; margin-top: 0; margin-bottom: 10px; width: 85%; padding-right: 15px; } #reset-button, #page-search-reset { background-color: transparent; background-image: url("resources/x.png"); background-position: center; background-repeat: no-repeat; background-size: 12px; border: 0 none; width: 16px; height: 16px; position: relative; left: -32px; top: -0.3rem; font-size: 0px; } .watermark { color: var(--description-color); } .search-tag-desc-result { font-style: italic; font-size: 11px; } .search-tag-holder-result { font-style: italic; font-size: 12px; } .search-tag-result:target { background-color: yellow; } .module-graph span { display: none; position: absolute; } .module-graph:hover span { display: block; margin: -100px 0 0 100px; z-index: 1; } .inherited-list { margin-top: 10px; } section.class-description { background-color: var(--bg-900-color); border: solid 1px transparent; border-radius: 5px; padding: 0.65rem 0 0 0.5rem; line-height: 1.4; } section.class-description > hr { display: none; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0px 10px 0.7rem 10px; border: solid 1px transparent; margin-top: 1rem; background-color: var(--bg-900-color); border-radius: 5px; } .inherited-list, section[class$="-details"] .detail { padding: 0 0 5px 8px; background-color: var(--bg-600-color); border: solid 1px transparent; border-radius: 5px; } .vertical-separator { padding: 0 5px; } ul.help-section-list { margin: 0; } ul.help-subtoc > li { display: inline-block; padding-right: 5px; font-size: smaller; } ul.help-subtoc > li::before { content: "\2022"; padding-right: 2px; } span.help-note { font-style: italic; } /* * Indicator icon for external links. */ main a[href*="://"]::after { content: ""; display: inline-block; background-image: url('data:image/svg+xml; utf8, \ \ \ '); background-size: 100% 100%; width: 7px; height: 7px; margin-left: 2px; margin-bottom: 4px; } main a[href*="://"]:hover::after, main a[href*="://"]:focus::after { background-image: url('data:image/svg+xml; utf8, \ \ \ '); } /* * Styles for user-provided tables. * * borderless: * No borders, vertical margins, styled caption. * This style is provided for use with existing doc comments. * In general, borderless tables should not be used for layout purposes. * * plain: * Plain borders around table and cells, vertical margins, styled caption. * Best for small tables or for complex tables for tables with cells that span * rows and columns, when the "striped" style does not work well. * * striped: * Borders around the table and vertical borders between cells, striped rows, * vertical margins, styled caption. * Best for tables that have a header row, and a body containing a series of simple rows. */ table.borderless, table.plain, table.striped { margin-top: 10px; margin-bottom: 10px; } table.borderless > caption, table.plain > caption, table.striped > caption { font-weight: bold; font-size: smaller; } table.borderless th, table.borderless td, table.plain th, table.plain td, table.striped th, table.striped td { padding: 2px 5px; } table.borderless, table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { border: none; } table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { background-color: transparent; } table.plain { border-collapse: collapse; border: solid 1px transparent; } table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { background-color: transparent; } table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { border: solid 1px transparent; } table.striped { border-collapse: collapse; border: solid 1px transparent; } table.striped > thead { background-color: #e3e3e3; } table.striped > thead > tr > th, table.striped > thead > tr > td { border: solid 1px transparent; } table.striped > tbody > tr:nth-child(even) { background-color: #eee; } table.striped > tbody > tr:nth-child(odd) { background-color: #fff; } table.striped > tbody > tr > th, table.striped > tbody > tr > td { border-left: solid 1px transparent; border-right: solid 1px transparent; } table.striped > tbody > tr > th { font-weight: normal; } /** * Tweak font sizes and paddings for small screens. */ @media screen and (max-width: 1050px) { #search-input, #ui-id-1 { width: 50vh; } } @media screen and (max-width: 800px) { #search-input, #ui-id-1 { width: 30vh; } #ui-id-1 { margin-top: 1rem !important; } .top-nav, .bottom-nav { font-size: 11px; padding-top: 6px; } .sub-nav { font-size: 11px; } .about-language { padding-right: 16px; } ul.nav-list li, .sub-nav .nav-list-search { padding: 6px; } ul.sub-nav-list li { padding-top: 5px; } main { padding: 10px; } .summary section[class$="-summary"], .details section[class$="-details"], .class-uses .detail, .serialized-class-details { padding: 0 8px 5px 8px; } body { -webkit-text-size-adjust: none; } } @media screen and (max-width: 500px) { .top-nav, .bottom-nav { font-size: 10px; } .sub-nav { font-size: 10px; } .about-language { font-size: 10px; padding-right: 12px; } }