/*
 * LPdoc stylesheet for the HTML backend
 *
 * Author: Jose F. Morales
 */

/* --------------------------------------------------------------------------- */
/* Language and documentation elements */

.lpdoc-defname {
    font-size: 105%;
    font-weight:bold;
    background-color: #eee;
    padding: 3px 8px 3px 8px;
    border-radius: 3px;
}

.lpdoc-deftext {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-left: 16px;
}

.lpdoc-on-right {
    float: right;
}

.lpdoc-iso {
    color: white;
    background-color: #48d;
    /* text-shadow: 0px 1px 2px #000; */
    font-size: 80%;
    padding-left: 4px; padding-right: 4px;
    border-radius: 4px;
}

.lpdoc-emacskey {
    border-radius: 3px;
/*    border-bottom: 1px solid #666;*/
/*    border-left: 1px solid #666;*/
/*    border-right: 1px solid #666;*/
/*    border-top: 1px solid #888;*/
    background-color: #444;
    font-size: 14px;
    font-family: arial, helvetica;
    font-weight: normal;
    color: #fff;
    text-shadow: 0px 0px 2px #000;
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 4px;
    padding-right: 4px;
}

.lpdoc-itemize-none {
    list-style-type: none;
}

.lpdoc-itemize-plain {
    list-style-type: none;
    padding-left: 0px;
}

.lpdoc-itemize-minus {
    list-style-type: circle;
}

pre.lpdoc-codeblock {
    font-size: 14px;
    line-height:1.0em;
    padding: 8px;
    background: #fff8dd;
    border: 1px solid #fbe89d;
    border-radius: 3px;
    overflow-x: auto;
}

pre.lpdoc-codeblock .lpdoc-var,
pre.lpdoc-codeblock tt,
pre.lpdoc-codeblock code {
    background: none;
}

pre.lpdoc-codeblock tt,
pre.lpdoc-codeblock code {
    color: black;
}

.lpdoc-var, pre, tt, code {
    font-family: "Source Code Pro", monospace;
}

.lpdoc-var {
    color: #e06000;
}
tt, code {
    color: #666;
}
.lpdoc-var, tt, code {
    font-size: 95%;
    padding: 0px 2px 0px 2px;
    border-radius: 3px;
    background: #f7f7f7;
}

/* Assertion status tags (on the right) */
span.lpdoc-true-header,
span.lpdoc-false-header,
span.lpdoc-check-header,
span.lpdoc-checked-header,
span.lpdoc-trust-header {
    color: white;
    padding: 3px 8px 3px 8px;
    margin-left: 4px;
    border-radius: 3px;
    float: right;
}

/* Name tag for true assertions (in green) */
span.lpdoc-true-header { background: #78ac2b; }
/* Name tag for false assertions (in red) */
span.lpdoc-false-header { background: #ff6262; }
/* Name tag for check assertions (including Usage) (in blue) */
span.lpdoc-check-header { background: #3f8cdc; }
/* Name tag for checked assertions (in lightest green) */
span.lpdoc-checked-header { background: #6eb88c; }
/* Name tag for trust assertions (in orange) */
span.lpdoc-trust-header { background: #ffa162; }

/* E.g., "Usage 1" */
span.lpdoc-usage-header {
    font-weight: bold;
    padding-right: 8px;
}

/* E.g., foo(+,-,+) */
span.lpdoc-usage-decl {
    /* background: #eee; */
    background: #eff6fc; /* like mod usage */
    color: #1d609a;
    padding: 3px 8px 3px 8px;
    /* border-radius: 0px 3px 3px 0px; */
    border-radius: 3px;
    line-height: 1.6em; /* TODO: better way? (avoid some overlap in narrow windows) */
}
span.lpdoc-usage-decl .lpdoc-var,
span.lpdoc-usage-decl tt,
span.lpdoc-usage-decl code {
    background: none;
    color: #1d609a;
}

/* Tag for predicates (PREDICATE, REGTYPE, etc.) */
span.lpdoc-predtag {
    font-size: 14px;
    font-weight: bold;
    color: #888;
    /* background: #eee; */
    /* padding: 3px 8px 3px 8px; */
    /* border-radius: 3px; */
    padding-right: 8px;
    /* float: right; */ /* on the right (unused) */
}

/* --------------------------------------------------------------------------- */
/* Special blocks */

.lpdoc-cartouche {
    border: 1px solid #c8e2f0;
    border-radius: 3px;
    padding: 8px;
    background: #eff6fc;
}
.lpdoc-cartouche .lpdoc-var,
.lpdoc-cartouche tt,
.lpdoc-cartouche code {
    background: none;
    color: #1d609a;
}

/* ul immediate child of cartouche */
.lpdoc-cartouche > ul {
    margin: 8px;
    padding: 0px;
    list-style-type: none;
}

.lpdoc-note {
    border: 1px solid #ebf3f9;
    border-left: 5px solid #b6cbdc;
    padding: 8px;
    border-radius: 3px;
    color: #000000;
    background: #f5f8f9;
}
.lpdoc-alert {
    border: 1px solid #f9ebed;
    border-left: 5px solid #ff8282;
    padding: 8px;
    border-radius: 3px;
    color: #000000;
    background: #fffafa;
}

div.lpdoc-twocolumns {
    -moz-column-count: 2;
    -moz-column-gap: 20px;
    -webkit-column-count: 2;
    -webkit-column-gap: 20px;
    column-count: 2;
    column-gap: 20px;
}

/* --------------------------------------------------------------------------- */
/* Page elements */

html {
    /* Force a vertical scrollbar to avoid centering jumps */
    overflow-y: scroll;
}

body, html {
    margin:0;
    padding:0;
    font-family: "Source Sans Pro", arial, helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.3em;
}

div.lpdoc-nav {
    padding: 5px 0px 5px 0px;
    background: #fff;
}
div.lpdoc-nav ul {
    margin:0;
    padding:0;
    list-style:none;
}
div.lpdoc-nav li {
    display:inline;
    margin:0;
    padding:0;
}

div.lpdoc-main {
    background-color:#fff;
    color: #000000;
    padding: 1px 20px 0px 20px;
    /* padding: 1px 20px 30px 20px; */
    /* border-right: 1px solid #dedede; */ /* right-sidebar */
}

div.lpdoc-sidebar {
    background-color:#fff;
    padding:10px 10px 10px 20px;
    font-size: 14px;
    line-height: 1.3em;
}

div.lpdoc-sidebar h2 {
    margin-top: 1ex;
}

div.lpdoc-clearer {
    clear: both;
}

div.lpdoc-footer {
    font-size: 11px;
    /* font-size: 75%; */
    color: #888;
    border-top: 1px solid #eee;
    /* background: #f8f8f8; */
    width: 100%;
    padding: 3px 0 3px 0;
    margin-top: 30px;
    text-align: center;
}

div.lpdoc-footer a {
    color: black;
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Source Sans Pro', sans-serif;
    line-height: 1.3em;
    font-weight: 600;
    color: #2e4985;
}

/* --------------------------------------------------------------------------- */
/* Page layout */

div.lpdoc-page {
    background-color: #fff;
}

/* Document with left sidebar */
.leftbar {}
.leftbar > div.lpdoc-main {
    margin-left: 230px;
}
.leftbar > div.lpdoc-sidebar {
    box-sizing: border-box; /* include padding in width */
    float: left;
    width: 230px;
    height: 100%;
    position: relative;
}

/* Document with right sidebar */
.rightbar {}
.rightbar > div.lpdoc-main {
    margin-right: 230px;
}
.rightbar > div.lpdoc-sidebar {
    box-sizing: border-box; /* include padding in width */
    float: right;
    width: 230px;
    height: 100%;
    position: relative;
}

/* Document with left sidebar */
.fixleftbar {}
.fixleftbar > div.lpdoc-main {
    margin-left: 230px;
}
.fixleftbar > div.lpdoc-sidebar {
    box-sizing: border-box; /* include padding in width */
    float: left;
    width: 230px;
    height: 100%;
    position: fixed;
    overflow-y: auto;
    top: 0;
    bottom: 0;
    border-right: 1px solid #eee;
}

/* Document with right sidebar */
.fixrightbar {}
.fixrightbar > div.lpdoc-main {
    margin-right: 230px;
}
.fixrightbar > div.lpdoc-sidebar {
    box-sizing: border-box; /* include padding in width */
    float: fixright;
    width: 230px;
    height: 100%;
    position: fixed;
    overflow-y: auto;
    top: 0;
    bottom: 0;
    border-left: 1px solid #eee;
}

hr {
    border: none;
    border-top: 1px solid #eee;
}

/* --------------------------------------------------------------------------- */
/* Links */

a.lpdoc-missing:link { color: #aa0000; text-decoration: none; }
a.lpdoc-missing:visited { color: #aa0000; text-decoration: none; }
a.lpdoc-missing:hover { color: #aa0000; text-decoration: underline; }
a.lpdoc-missing:active { color: #FA0000; text-decoration: underline; }

a.lpdoc-idx-anchor:link { color: #4263ab; text-decoration: none; }
a.lpdoc-idx-anchor:visited { color: #0645AD; text-decoration: none; }
a.lpdoc-idx-anchor:hover { color: #4263ab; text-decoration: underline; }
a.lpdoc-idx-anchor:active { color: #FAA700; text-decoration: underline; }

div.lpdoc-defname a.lpdoc-idx-anchor:link { color: #000; text-decoration: none; }
div.lpdoc-defname a.lpdoc-idx-anchor:visited { color: #000; text-decoration: none; }
div.lpdoc-defname a.lpdoc-idx-anchor:hover { color: #000; text-decoration: underline; }
div.lpdoc-defname a.lpdoc-idx-anchor:active { color: #000; text-decoration: underline; }

a:link { color: #4263ab; text-decoration: none; }
a:visited { color: #0645AD; text-decoration: none; }
a:hover { color: #4263ab; text-decoration: underline; }
a:active { color: #FAA700; text-decoration: underline; }

/* --------------------------------------------------------------------------- */
/* Navigation buttons (special links) */

.lpdoc-navbutton,
.lpdoc-navbutton-disabled {
    font-size: 20px;
    border-radius: 2px;
    padding: 2px 8px 2px 8px;
    margin-left: 1px;
    margin-right: 1px;
}

.lpdoc-navbutton { color: #4263ab; }
a.lpdoc-navbutton:link { color: #4263ab; text-decoration: none; }
a.lpdoc-navbutton:visited { color: #4263ab; text-decoration: none; }
a.lpdoc-navbutton:hover { color: #0645AD; text-decoration: none; }
a.lpdoc-navbutton:active { color: #FAA700; text-decoration: none; }

.lpdoc-navbutton-disabled { color: #ccc; }

/* --------------------------------------------------------------------------- */
/* Toggleable sidebar (for small screens) */

div#sidebar {
    display: block;
}

a#sidebar-toggle-button {
    display:none;
}

/* --------------------------------------------------------------------------- */
/* Menu at sidebar */

div.lpdoc-sidebar h2 {
    font-size: 100%;
}

div.lpdoc-sidebar p {
    margin-left: 0px;
}

/* ul for sectpath in sidebar */
div.lpdoc-sidebar ul.lpdoc-itemize-sectpath {
    margin-left: 0px;
    list-style-type: none;
    color: #0645ad;
    padding-left: 0px;
    margin: 0px;
}

div.lpdoc-sidebar ul {
    margin-left: 0px;
    list-style-type: circle;
    color: #9cadd3;
    padding-left: 16px;
    margin: 0px;
}

div.lpdoc-sidebar li {
    /* list-style-type: circle; */
    padding-left: 0px;
    /* margin: 0px; */
    /* (tighter when names are split into several lines) */
    line-height: 1.0;
    margin: 6px 0px 6px 0px;
}

/* --------------------------------------------------------------------------- */
/* Cover */

div.lpdoc-cover-address {
    line-height:1.3em;
    font-size: 11px;
    float:right;
    /* padding: 16px; */
    padding-left: 16px;
    color: #888;
}

div.lpdoc-cover-authors {
    font-size: 11px;
    line-height: 1.3em;
    /* padding: 16px; */
    float:right;
    text-align:right;
    color: #888;
}

div.lpdoc-cover-logo {
    float: right;
}

div.lpdoc-cover-title {
    /* padding: 16px; */
    margin: 0px;
    margin-bottom: 16px;
    background: white;
    color: #2e4985;
}

div.lpdoc-cover-subtitle-extra {
    font-size: 11px;
    line-height: 1.3em;
    /* padding: 16px; */
    border-radius: 8px;
    color: #888;
}

h1.lpdoc-cover-h1 {
    margin-bottom:0px;
    font-size: 40px;
}

/* --------------------------------------------------------------------------- */
/* Search */

#search-input {
    font-family:  "Source Code Pro", monospace;
    font-size: 14px;
    line-height:1.0em;
    padding: 8px;
    background: #fff8dd;
    border: 1px solid #fbe89d;
    border-radius: 3px;
    width: 80%;
    box-sizing: border-box;
}
#search-input:focus {
    outline: none;
}

/* --------------------------------------------------------------------------- */
/* Mobile-friendly */

@media (max-width: 700px) {
    /* Reset sidebar position */
    .leftbar > div.lpdoc-main { margin-left: 0; }
    .rightbar > div.lpdoc-main { margin-right: 0; }
    .leftbar > div.lpdoc-sidebar,
    .rightbar > div.lpdoc-sidebar {
	float: none;
	width: auto;
	position: relative;
    }

    .fixleftbar > div.lpdoc-main { margin-left: 0; }
    .fixrightbar > div.lpdoc-main { margin-right: 0; }
    .fixleftbar > div.lpdoc-sidebar,
    .fixrightbar > div.lpdoc-sidebar {
	float: none;
	width: auto;
	position: relative;
    }

    div.lpdoc-nav {
	padding-right: 20px; /* some space for toggle button */
    }
    a#sidebar-toggle-button {
	z-index: 1;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	padding:7px 10px 7px 10px;
    }
    div#sidebar {
	display: none;
    }
    div#sidebar.sidebar-toggled {
	display: block;
	border-bottom: 1px solid #dedede;
	font-size: 16px;
	z-index: 0;
    }
}

