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

/* Make xrefs more universally visible */
a.reference, a.reference:hover {
    border-bottom: none;
    text-decoration: underline;
    text-underline-offset: 0.3em;
}

/* Slightly different style for sidebar links */
div.sphinxsidebar a { border-bottom: none; }
div.sphinxsidebar a:hover {
    border-bottom: none;
    text-decoration: underline;
    text-underline-offset: 0.3em;
}
