// ==UserScript==
// @name Hackage Haddock Restyler
// @description Switches all Haddock docs on Hackage to an updated, Retina-friendly edition of the old ocean.css for superior information density.
// @version 1.1
// @grant none
// @match https://hackage.haskell.org/*
// @namespace https://greasyfork.org/users/833386
// ==/UserScript==
[...document.head.querySelectorAll('link[rel="stylesheet"][title]')].forEach(s => {
// ocean.css comes from the Hackage package <https://github.com/haskell/hackage>, which is under a BSD 2-clause license and (c) Simon Marlow & contributors.
s.href = 'data:text/css;charset=UTF-8,' + encodeURIComponent(`
:root {
--img-plus: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAAAAABzpdGLAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/vCI/CkAAAAkSURBVBjTY2jCAAxYhf6hAPxCTEzUEWKCA3xC1LSRGD8SEV4Ar2ngCfYXGRoAAAAASUVORK5CYII=');
--img-minus: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAAAAABzpdGLAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/vCI/CkAAAAeSURBVBjTY2jCAAxYhf6hAPoIMcEBPiF6u4uI8AIANU7vyXuMqdQAAAAASUVORK5CYII=');
--img-hslogo: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAgCAYAAACGhPFEAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw1AUhU9TpUUrDnYQcchQnSwUFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg+APi5uak6CIl3pcUWsT44PE+znvncN+9gNCoMs3qSgCabpuZVFLM5VfE0Ct6EQYQREJmljErSWn4rq97BPh5F+dZ/u/+XH1qwWJAQCSeYYZpE68TT23aBud94igryyrxOfGYSQUSP3Jd8fiNc8llgWdGzWxmjjhKLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXWqpP/MFLQl5e4TnsYKSxgERJEKKihgipsxOnUSbGQofukj3/I9UvkUshVASPHPDagQXb94DP43VurODHuJUWSQPeL43yMAKFdoFl3nO9jx2me0MCegSu97d9oANOfpNfbWuwI6N8GLq7bmrIHXO4Ag0+GbMquFKQtFIvA+xmNKQ8M3AI9q17fWvc4fQCy1Kv0DXBwCIyWKHvN59/hzr79+6bVvx8bYnKEhh9QxwAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB+ULCAAMBeTmguwAAANuSURBVFjDzZhNaBNBFMfbJJZai0hVvJdaingQS6mCKF7Eq6D0IoheLFRR8eBFwYOgIIgfZ0GqFfTgB5qv5nMTSWISPJlEvEiiIU0T06pJSDYf6//BBkrIzjTNbpqFOc2b2f+8+c3Me6+vWq2+kCSpJrX+VtF/Np/P6ywWy3mfz1cOh8NSq+b1elfNZvORvm58lUrlYL1e/6ogWkLfZ9hMGI3GIbvd/i4YDLYUHQqFJIfD4YXdds1FFwoFfa1Wuwh9fxR0V9H/pFwuD5tMpglBEH4peTsQCFStVustCNdpLhyCRiDsOQOTDDCZyWazhMmc3+8XGZhksbhD3cJkioOJbw0mHziYCLDbobnoYrFImMxC318F3RX0Py6VStvgyf3AJNlLmCxwMDmTSqW4mHg8HsJkuluYTAOFKAOTT7AZlzExEg4MTJxduU2AiQHevgR9/xR0i+h/gF0hTA7Aoyklb2MnKsDkRmNujDNg/ECnTQmTnfDoSyVM0JcGJqcTiQRhcpXEMTDJYHGTuVyuH2OOY/hTtPlOGg+TbxxMxrD9w8DEysHERnawH8U4Qerw42FyBTZ5Bib3cZsMkSfh0TQHk+uRSEQPb5+C8CVNRNMniuJu/OAVOVbB20skIhqN6kkUB5M0LY4WSYulRWsiWsbkMMR9Z2Ai0LbT9gODRQ4mizImYxjn1Uy0jMk12BYYmNyDB7fKmCyzMKGDG4/Hddihkxj3DOIX2m3rugaByR4Yf2R4OwkRJ3AgdfQS4kWsKQnHS5qiqxKBmg4LHdxI67powgR2JnqcaG7E6nrVRauJxxpMRGByWX4TRjH+oap4qHUQW2CSpMCLAjAKxCgg67krr7lRaAtM3hMmFPJiLn9PPS4cTOYymQzdJjOYc7kj0Wo9443Dx8FkH6VzlNatBxPNAyakX79dLldUSbiMyVssfpBCXsz9qO2ASYvQlEoLJF7JjkoTWPxsLBbrh+gtbYemKicBDkoCKO2C+NuUhjEw+UmYbCjdontQxXRrqjE3hI84nU4fB5M3hMlmJrY3mxNbYHIUmKxwMLnQUyUEGZM7nNgkDqeM91SxRsYkwMCkbrPZXsNuQM2yWMf1DmByjAqWDExKcM45FhaT3S5AypjcZWHidrt/wEl7W06wWaVeCN8FTL4wYhPCZB52huax/wHTGtaZ0Db8KgAAAABJRU5ErkJggg==');
--img-synopsis: url('data:image/png;base64,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PSJodHRwOi8vaXB0Yy5vcmcvc3RkL0lwdGM0eG1wRXh0LzIwMDgtMDItMjkvIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6cGx1cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6MDNhMjU5YjctMGU0YS00ODU0LTlmZTgtNTEzOGEyYzM4ZmJjIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcxMDlhMDU2LTU4NjctNGFkNC05ZWE5LTIxOTE2OTdjODI3YSIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBhMzU4MGJmLTk1YmItNDdhMC05MTFjLTJiY2YzNzIzM2FhZCIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTWFjIE9TIgogICBHSU1QOlRpbWVTdGFtcD0iMTYzNjMzNTUzNzEzOTc3MyIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjIyIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgIDxpcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvblNob3duPgogICA8aXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgIDxpcHRjRXh0OlJlZ2lzdHJ5SWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpSZWdpc3RyeUlkPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDQ5NDE5Yi1iYTUxLTRiMDQtOWYzMi05NmY4M2MzYjJmMGQiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTWFjIE9TKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0xMS0wN1QxNzozODo1Ny0wODowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgIDxwbHVzOkltYWdlU3VwcGxpZXI+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFnZVN1cHBsaWVyPgogICA8cGx1czpJbWFnZUNyZWF0b3I+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFnZUNyZWF0b3I+CiAgIDxwbHVzOkNvcHlyaWdodE93bmVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6Q29weXJpZ2h0T3duZXI+CiAgIDxwbHVzOkxpY2Vuc29yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6TGljZW5zb3I+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg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');
}
/* @group Fundamentals */
* { margin: 0; padding: 0 }
/* Is this portable? */
html {
background-color: white;
width: 100%;
height: 100%;
}
body {
background: white;
color: black;
text-align: left;
min-height: 100%;
position: relative;
}
p {
margin: 0.8em 0;
}
ul, ol {
margin: 0.8em 0 0.8em 2em;
}
dl {
margin: 0.8em 0;
}
dt {
font-weight: bold;
}
dd {
margin-left: 2em;
}
a { text-decoration: none; }
a[href]:link { color: rgb(196,69,29); }
a[href]:visited { color: rgb(171,105,84); }
a[href]:hover { text-decoration:underline; }
a[href].def:link, a[href].def:visited { color: black; }
a[href].def:hover { color: rgb(78, 98, 114); }
/* @end */
/* @group Show and hide with JS */
body.js-enabled .hide-when-js-enabled {
display: none;
}
/* @end */
/* @group Fonts & Sizes */
/* Basic technique & IE workarounds from YUI 3
For reasons, see:
http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css
*/
body {
font:13px/1.4 sans-serif;
*font-size:small; /* for IE */
*font:x-small; /* for IE in quirks mode */
}
h1 { font-size: 146.5%; /* 19pt */ }
h2 { font-size: 131%; /* 17pt */ }
h3 { font-size: 116%; /* 15pt */ }
h4 { font-size: 100%; /* 13pt */ }
h5 { font-size: 100%; /* 13pt */ }
select, input, button, textarea {
font:99% sans-serif;
}
table {
font-size:inherit;
font:100%;
}
pre, code, kbd, samp, tt, .src {
font-family:monospace;
*font-size:108%;
line-height: 124%;
}
.links, .link {
font-size: 85%; /* 11pt */
}
#module-header .caption {
font-size: 182%; /* 24pt */
}
#module-header .caption sup {
font-size: 70%;
font-weight: normal;
}
.info {
font-size: 85%; /* 11pt */
}
#table-of-contents, #synopsis {
/* font-size: 85%; /* 11pt */
}
/* @end */
/* @group Common */
.caption, h1, h2, h3, h4, h5, h6, summary {
font-weight: bold;
color: rgb(78,98,114);
margin: 0.8em 0 0.4em;
}
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
margin-top: 2em;
}
h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {
margin-top: inherit;
}
ul.links {
list-style: none;
text-align: left;
float: right;
display: inline-table;
margin: 0 0 0 1em;
}
ul.links li {
display: inline;
border-left: 1px solid #d5d5d5;
white-space: nowrap;
padding: 0;
}
ul.links li a {
padding: 0.2em 0.5em;
}
.hide { display: none; }
.show { display: inherit; }
.clear { clear: both; }
.collapser {
background-image: var(--img-minus);
}
.expander {
background-image: var(--img-plus);
}
.collapser, .expander {
padding-left: 14px;
margin-left: -14px;
cursor: pointer;
background-repeat: no-repeat;
background-size: 9px 9px;
background-position: left center;
}
p.caption.collapser,
p.caption.expander {
background-position: 0 0.4em;
}
.instance.collapser, .instance.expander {
margin-left: 0px;
min-width: 9px;
min-height: 9px;
}
summary {
cursor: pointer;
outline: none;
list-style-image: var(--img-plus);
list-style-position: outside;
}
details[open] > summary {
list-style-image: var(--img-minus);
}
pre {
padding: 0.25em;
margin: 0.8em 0;
background: rgb(229,237,244);
overflow: auto;
border-bottom: 0.25em solid white;
/* white border adds some space below the box to compensate
for visual extra space that paragraphs have between baseline
and the bounding box */
}
.src {
background: #f0f0f0;
padding: 0.2em 0.5em;
}
.keyword { font-weight: normal; }
.def { font-weight: bold; }
@media print {
#footer { display: none; }
}
/* @end */
/* @group Page Structure */
#content {
margin: 0 auto;
padding: 0 2em 6em;
}
#package-header {
background: rgb(41,56,69);
border-top: 5px solid rgb(78,98,114);
color: #ddd;
padding: 0.2em;
position: relative;
text-align: left;
}
#package-header .caption {
background-image: var(--img-hslogo);
background-repeat: no-repeat;
background-size: 22.5px 16px;
background-position: 0em;
color: white;
margin: 0 2em;
font-weight: normal;
font-style: normal;
padding-left: 2em;
}
#package-header a:link, #package-header a:visited { color: white; }
#package-header a:hover { background: rgb(78,98,114); }
#module-header .caption {
color: rgb(78,98,114);
font-weight: bold;
border-bottom: 1px solid #ddd;
}
table.info {
float: right;
padding: 0.5em 1em;
border: 1px solid #ddd;
color: rgb(78,98,114);
background-color: #fff;
max-width: 40%;
border-spacing: 0;
position: relative;
top: -0.5em;
margin: 0 0 0 2em;
}
.info th {
padding: 0 1em 0 0;
}
div#style-menu-holder {
position: relative;
z-index: 2;
display: inline;
}
#style-menu {
position: absolute;
z-index: 1;
overflow: visible;
background: #374c5e;
margin: 0;
text-align: center;
right: 0;
padding: 0;
top: 1.25em;
}
#style-menu li {
display: list-item;
border-style: none;
margin: 0;
padding: 0;
color: #000;
list-style-type: none;
}
#style-menu li + li {
border-top: 1px solid #919191;
}
#style-menu a {
width: 6em;
padding: 3px;
display: block;
}
#footer {
background: #ddd;
border-top: 1px solid #aaa;
padding: 0.5em 0;
color: #666;
text-align: center;
position: absolute;
bottom: 0;
width: 100%;
height: 3em;
}
/* @end */
/* @group Front Matter */
#table-of-contents {
float: right;
clear: right;
background: #faf9dc;
border: 1px solid #d8d7ad;
padding: 0.5em 1em;
max-width: 20em;
margin: 0.5em 0 1em 1em;
}
#table-of-contents .caption {
text-align: center;
margin: 0;
}
#table-of-contents ul {
list-style: none;
margin: 0;
}
#table-of-contents ul ul {
margin-left: 2em;
}
#description .caption {
display: none;
}
#synopsis {
display: block;
position: fixed;
right: 0;
height: 80%;
top: 10%;
padding: 0;
max-width: 75%;
/* Ensure that synopsis covers everything (including MathJAX markup) */
z-index: 1;
}
#synopsis summary {
display: block;
float: left;
width: 29px;
color: rgba(255,255,255,0);
height: 110px;
margin: 0;
font-size: 1px;
padding: 0;
background: var(--img-synopsis) no-repeat 0px -8px;
background-size: 128px 104px;
}
#synopsis details[open] > summary {
background: var(--img-synopsis) no-repeat -64px -8px;
background-size: 128px 104px;
}
#synopsis ul {
height: 100%;
overflow: auto;
padding: 0.5em;
margin: 0;
}
#synopsis ul ul {
overflow: hidden;
}
#synopsis ul,
#synopsis ul li.src {
background-color: #faf9dc;
white-space: nowrap;
list-style: none;
margin-left: 0;
}
/* @end */
/* @group Main Content */
#interface div.top { margin: 2em 0; }
#interface h1 + div.top,
#interface h2 + div.top,
#interface h3 + div.top,
#interface h4 + div.top,
#interface h5 + div.top {
margin-top: 1em;
}
#interface .src .selflink,
#interface .src .link {
float: right;
color: #919191;
background: #f0f0f0;
padding: 0 0.5em 0.2em;
margin: 0 -0.5em 0 0;
-moz-user-select: none;
}
#interface .src .selflink {
border-left: 1px solid #919191;
margin: 0 -0.5em 0 0.5em;
}
#interface span.fixity {
color: #919191;
border-left: 1px solid #919191;
padding: 0.2em 0.5em 0.2em 0.5em;
margin: 0 -1em 0 1em;
}
#interface span.rightedge {
border-left: 1px solid #919191;
padding: 0.2em 0 0.2em 0;
margin: 0 0 0 1em;
}
#interface table { border-spacing: 2px; }
#interface td {
vertical-align: top;
padding-left: 0.5em;
}
#interface td.doc p {
margin: 0;
}
#interface td.doc p + p {
margin-top: 0.8em;
}
.doc table {
border-collapse: collapse;
border-spacing: 0px;
}
.doc th,
.doc td {
padding: 5px;
border: 1px solid #ddd;
}
.doc th {
background-color: #f0f0f0;
}
.clearfix:after {
clear: both;
content: " ";
display: block;
height: 0;
visibility: hidden;
}
.subs.fields ul {
list-style: none;
display: table;
margin: 0;
}
.subs.fields ul li {
display: table-row;
}
.subs ul li dfn {
display: table-cell;
font-style: normal;
font-weight: bold;
margin: 1px 0;
white-space: nowrap;
}
.subs ul li > .doc {
display: table-cell;
padding-left: 0.5em;
margin-bottom: 0.5em;
}
.subs ul li > .doc p {
margin: 0;
}
/* Render short-style data instances */
.inst ul {
height: 100%;
padding: 0.5em;
margin: 0;
}
.inst, .inst li {
list-style: none;
margin-left: 1em;
}
/* Workaround for bug in Firefox (issue #384) */
.inst-left {
float: left;
}
.top p.src {
border-top: 1px solid #ccc;
}
.subs, .doc {
/* use this selector for one level of indent */
padding-left: 2em;
}
.warning {
color: red;
}
.arguments {
margin-top: -0.4em;
}
.arguments .caption {
display: none;
}
.fields { padding-left: 1em; }
.fields .caption { display: none; }
.fields p { margin: 0 0; }
/* this seems bulky to me
.methods, .constructors {
background: #f8f8f8;
border: 1px solid #eee;
}
*/
/* @end */
/* @group Auxillary Pages */
.extension-list {
list-style-type: none;
margin-left: 0;
}
#mini {
margin: 0 auto;
padding: 0 1em 1em;
}
#mini > * {
font-size: 93%; /* 12pt */
}
#mini #module-list .caption,
#mini #module-header .caption {
font-size: 125%; /* 15pt */
}
#mini #interface h1,
#mini #interface h2,
#mini #interface h3,
#mini #interface h4 {
font-size: 109%; /* 13pt */
margin: 1em 0 0;
}
#mini #interface .top,
#mini #interface .src {
margin: 0;
}
#mini #module-list ul {
list-style: none;
margin: 0;
}
#alphabet ul {
list-style: none;
padding: 0;
margin: 0.5em 0 0;
text-align: center;
}
#alphabet li {
display: inline;
margin: 0 0.25em;
}
#alphabet a {
font-weight: bold;
}
#index .caption,
#module-list .caption { font-size: 131%; /* 17pt */ }
#index table {
margin-left: 2em;
}
#index .src {
font-weight: bold;
}
#index .alt {
font-size: 77%; /* 10pt */
font-style: italic;
padding-left: 2em;
}
#index td + td {
padding-left: 1em;
}
#module-list ul {
list-style: none;
margin: 0 0 0 2em;
}
#module-list li {
clear: right;
}
#module-list span.collapser,
#module-list span.expander {
background-position: 0 0.3em;
}
#module-list .package {
float: right;
}
:target {
background-color: #ffff00;
}
/* @end */
`);
});