// SOURCE FILE /* If the above line does not say "SOURCE FILE", then do not edit. It */ /* means this file is generated from [sass style.scss] */ /* CSS file for the Ocaml API. San Vu Ngoc 2019 */ // TODO: the ocamldoc output of Functors like in // compilerlibref/4.08/Arg_helper.Make.html // is not easy to style... without breaking other tables. @import "common"; @charset "UTF-8"; // tables are difficult to style, be careful. // These settings should apply to the main index tables // (like "index_values.html"), which do not have any particular class. // These tables have two columns. .api>table { word-break: break-word; // this is unfortunately due to some very long names in Internal modules td.module, td:first-child { width: 33%; } td:nth-child(2) { width: 65%; } td[align="left"] { // for the "Parameter" column of module signatures like // Arg_helper.Make.html, which unfortunately have no class // either. word-break: normal; } td[align="left"]:first-child { width: 1%; } } .api { // font-size: 16px; // font-family: $font-sans; // text-align: left; // color: #333; // background: #FFFFFF; table { // tables are difficult to style, be careful border-collapse: collapse; border-spacing: 0; thead { background: rgb(228, 217, 211); } /* must be same as
: */
	background-color: #ede8e6;
	width: 100%;
	td {
	    padding-left: 1ex;
	    padding-right: 1ex;
	    /*float: left;*/
	}
	/* add some room at the end of the table */
	tr:last-child td {
	    padding-bottom: 7px;
	}
    }
    // Tables are used for describing types, in particular union types:
    table.typetable {
	width: 100%;
	word-break: normal;
	box-shadow: none;
	td {
	    float: left;
	}
	td:nth-child(2) {
	    width: 37%;
	    code {
		white-space: pre-line;
	    }
	}
	td:last-child {
	    width: calc(100% - 1.3em);
	    // cf: CamlinternalFormatBasics.html
	    // the 1.3em is related to the 1em below
	}
	td:first-child {
	    width: 1em;
	}
	td:nth-child(4).typefieldcomment {
	    /* this should be the column with the type */
	    width: 60%;
	    /* not optimal, see: Format.html#symbolic
	    but leaving it automatic is not always good either: see: Arg.html */
	}
    }

    // for functor signature
    table.paramstable {
	word-break: normal;
	td {
	    code {
		white-space: pre-wrap;
	    }	    
	}
	td:first-child, td:nth-child(2) {
	    width: 1em; // second column should contain only
			// ":". First one will adapt to size.
	}	
    }
    
    .sig_block {
	padding-left: 1em;
	background-color: #ede8e6;
	// PROBLEM the sig_block ends too soon, it should actually
	// include the "end)" line ==> REPORT THIS
	// (eg: compilerlibref/Arg_helper.html)
	pre {
	    margin-top: 0;
	    background: none;
	    border-left: 0;
	}
    }
    pre .sig_block {
	margin-bottom: 0; // see above
	border-left: 0;
    }
	
    *, *:before, *:after { 
	box-sizing: border-box; 
    }
    
    @include content-frame;

    /* Basic markup elements */
    
    b, strong {
	font-weight: 600;
    }
    i, em {
	font-style: italic;
    }
    sup {
	vertical-align: super;
    }
    sub {
	vertical-align: sub;
    }
    sup, sub {
	font-size: 12px;
	line-height: 0;
	margin-left: 0.2ex;
    }
    pre {
	margin-top: 0.8em;
	margin-bottom: 0;
    }
    p, ul, ol {
	margin-top: 0.5em;
	margin-bottom: 1em;
    }
    ul, ol {
	list-style-position: outside
    }
    ul>li {
	margin-left: 2rem;
    }
    ol>li {
	margin-left: 27.2px;
    }
    li>*:first-child {
	margin-top: 0
    }

    /* Text alignments, this should be forbidden. */

    .left {
	text-align: left;
    }
    .right {
	text-align: right;
    }
    .center {
	text-align: center;
    }
    /* Links and anchors */
    a {
	text-decoration: none;
	color: #92370A;
	/* box-shadow: 0 1px 0 0 #d8b68b; */
    }
    a:hover {
	box-shadow: 0 1px 0 0 #92370A;
    }
    td a:hover {
	background: white;
    }
    /* Linked highlight */
    *:target {
	/*box-shadow: 0 0px 0 1px rgba(255, 215, 181, 0.8) !important;*/
	border-radius: 1px;
	/*border-bottom: 4px solid rgb(255, 215, 181);*/
	background-color: #ffd6b5;
	z-index: 0;
	@if $ocamlorg {
	    /* Because of fixed banner in the ocaml.org site, we have to offset the targets. See https://stackoverflow.com/questions/10732690/offsetting-an-html-anchor-to-adjust-for-fixed-header */
	    padding-top: 85px;
	    margin-top: -85px;
	}
    }

    
    h2:target {
	/* background: linear-gradient(to bottom, rgb(253, 252, 252) 0%, rgba(255, 215, 181, 0.3) 100%) !important; */
	/*	transition: 300ms; this prevents margin-top:-80 to work... */
    }

    *:hover>a.section-anchor {
	visibility: visible;
    }

    a.section-anchor:before {
	content: "#"
    }

    a.section-anchor:hover {
	box-shadow: none;
	text-decoration: none;
	color: #555;
    }

    a.section-anchor {
	visibility: hidden;
	position: absolute;
	/* top: 0px; */
	/* margin-left: -3ex; */
	margin-left: -1.3em;
	font-weight: normal;
	font-style: normal;
	padding-right: 0.4em;
	padding-left: 0.4em;
	/* To remain selectable */
	color: #d5d5d5;
    }

    .spec > a.section-anchor {
	margin-left: -2.3em;
	padding-right: 0.9em;
    }

    .xref-unresolved {
	color: #92370A
    }
    .xref-unresolved:hover {
	box-shadow: 0 1px 0 0 #CC6666;
    }

    /* Section and document divisions.
    Until at least 4.03 many of the modules of the stdlib start at .h7,
    we restart the sequence there like h2  */

       h1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {
	font-family: $font-sans;
	font-weight: 400;
	margin: 0.5em 0 0.5em 0;
	padding-top: 0.1em;
	line-height: 1.2;
	overflow-wrap: break-word;
    }

    h1 {
	margin-top: 1.214em;
	margin-bottom: 19px;
	font-weight: 500;
	font-size: 1.953em;
	box-shadow: 0 1px 0 0 #ddd;
    }

    h2 {
	font-size: 1.563em;
	margin: 1em 0 1em 0
    }

    h3 {
	font-size: 1.25em;
    }

    small, .font_small {
	font-size: 0.8em;
    }

    h1 code, h1 tt {
	font-size: inherit;
	font-weight: inherit;
    }

    h2 code, h2 tt {
	font-size: inherit;
	font-weight: inherit;
    }

    h3 code, h3 tt {
	font-size: inherit;
	font-weight: inherit;
    }

    h3 code, h3 tt {
	font-size: inherit;
	font-weight: inherit;
    }

    h4 {
	font-size: 1.12em;
    }


    /* Preformatted and code */

    tt, code, pre {
	font-family: $font-mono;
	font-weight: 400;
    }

    pre {
	border-top: 1px solid #e69c7f;
	white-space: pre-wrap;
	word-wrap: break-word;
	padding-left: 1ex;
    }

    p code, li code { /* useful ? */
	background-color: #ebf2f9;  /*#f6f8fa;*/
	color: #0d2b3e;
	border-radius: 3px;
	padding: 0 0.3ex;
	white-space: pre-wrap; // utile seulement dans la table index_values? (attention à bootstrap.css)
    }

    pre code {
	background-color: inherit;
    }

    p a > code {
	color: #92370A;
    }

    /* Code blocks (e.g. Examples) */

    pre code.ocaml {
	font-size: 0.893rem;
    }

    /* Code lexemes */

    .keyword {
  font-family: $font-sans;
	font-weight: 500;
	color: inherit;
    }

    /* Anchors */

    a.anchor{
        position: absolute;
        right: 100%;
        padding-right: 0.4em;
        opacity: 0;
        box-shadow: none;
    }

    a.anchor:before{
        content: "#";
    }

    a.anchor:hover{
        opacity: 1 !important;
    }

    pre:hover a.anchor, :hover>a.anchor{
        opacity: 0.5;
    }

    .anchored {
        position: relative;
    }

    /* Module member specification */

    .spec:not(.include), .spec.include details summary {
	background: linear-gradient(to left, rgb(253, 252, 252) 0%, rgb(234, 246, 250) 100%);
	border-radius: 3px;
	border-left: 4px solid #5c9cf5;
	border-right: 5px solid transparent;
	padding: 0.35em 0.5em;
    }

    .spec.include details summary:hover {
	background-color: #ebeff2;
    }

    dl, div.spec, .doc, aside {
	margin-bottom: 20px;
    }

    dl > dd {
	padding: 0.5em;
    }

    dd> :first-child {
	margin-top: 0;
    }

    dd > p:first-child > code:first-child {
	color: teal;
    }

    dl:last-child, dd> :last-child, aside:last-child, article:last-child {
	margin-bottom: 0;
    }

    dt+dt {
	margin-top: 15px;
    }

    section+section, section > header + dl {
	margin-top: 25px;
    }

    .spec.type .variant {
	margin-left: 2ch;
    }
    .spec.type .variant p {
	margin: 0;
	font-style: italic;
    }
    .spec.type .record {
	margin-left: 2ch;
    }
    .spec.type .record p {
	margin: 0;
	font-style: italic;
    }

    div.def {
	margin-top: 0;
	text-indent: -2ex;
	padding-left: 2ex;
    }

    div.def+div.doc {
	margin-left: 1ex;
	margin-top: 2.5px
    }

    div.doc>*:first-child {
	margin-top: 0;
    }

    /* The elements other than heading should be wrapped in