/* SPDX-License-Identifier: GPL-2.0 */
/*
 * CSS tweaks for the Alabaster theme
 */

/* Shrink the headers a bit */
div.body h1 { font-size: 180%; }
div.body h2 { font-size: 150%; }
div.body h3 { font-size: 130%; }

/* Tighten up the layout slightly */
div.body { padding: 0 15px 0 10px; }
div.sphinxsidebarwrapper { padding: 1em 0.4em; }
div.sphinxsidebar { font-size: inherit;
		    max-height: 100%;
		    overflow-y: auto; }
/* Tweak document margins and don't force width */
div.document {
    margin: 20px 10px 0 10px; 
    width: auto;
}

/*
 * Parameters for the display of function prototypes and such included
 * from C source files.
 */
dl.function, dl.struct, dl.enum { margin-top: 2em; background-color: #ecf0f3; }
/* indent lines 2+ of multi-line function prototypes */
dl.function dt { margin-left: 10em; text-indent: -10em; }
dt.sig-object { font-size: larger; }
div.kernelindent { margin-left: 2em; margin-right: 4em; }

/*
 * Tweaks for our local TOC
 */
div.kerneltoc li.toctree-l1 { font-size: smaller;
		text-indent: -1em;
		margin-left: 1em; }
div.kerneltoc li.current > a {font-weight: bold; }
div.kerneltoc li.toctree-l2,li.toctree-l3 { font-size: small;
		text-indent: -1em;
		margin-left: 1em;
		list-style-type: none;
	      }
div.kerneltoc li.current ul { margin-left: 0; }
div.kerneltoc { background-color: #eeeeee; }
div.kerneltoc li.current ul { background-color: white; }

/*
 * The CSS magic to toggle the contents on small screens.
 */
label.kernel-toc-title { display: none; }
label.kernel-toc-title:after {
    content: "[Hide]";
}
input[type=checkbox]:checked ~ label.kernel-toc-title:after {
    content: "[Show]";
}
/* Hide the toggle on large screens */
input.kernel-toc-toggle { display: none; }

/*
 * Show and implement the toggle on small screens.
 * The 875px width seems to be wired into alabaster.
 */
@media screen and (max-width: 875px) {
    label.kernel-toc-title { display: inline;
			     font-weight: bold;
			     font-size: larger; }
    input[type=checkbox]:checked ~ div.kerneltoc {
	display: none;
    }
    h3.kernel-toc-contents { display: inline; }
    div.kerneltoc a { color: black; }
}
