/* 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%; }
div.body h4 { font-size: 110%; }

/* toctree captions are styled like h2 */
div.toctree-wrapper p.caption[role=heading] { font-size: 150%; }

/* 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;
}

/* Size the logo appropriately */
img.logo {
    width: 104px;
    margin-bottom: 20px;
}

/*
 * 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; }
}

/* Language selection menu */

div.admonition {
    /*
     * Make sure we don't overlap notes and warnings at the top of the
     * document.
     */
    clear: both;
}

div.language-selection {
    background: #eeeeee;
    border: 1px solid #cccccc;
    margin-bottom: 1em;
    padding: .5em;

    position: relative;
    float: right;
}

div.language-selection a {
    display: block;
    padding: 0.5em;
    color: #333333;
    text-decoration: none;
}

div.language-selection ul {
    display: none;
    position: absolute;

    /* Align with the parent div */
    top: 100%;
    right: 0;
    margin: 0;

    list-style: none;

    background: #fafafa;
    border: 1px solid #cccccc;

    /* Never break menu item lines */
    white-space: nowrap;
}

div.language-selection:hover ul {
    display: block;
}

div.language-selection ul li:hover {
    background: #dddddd;
}
