// XDOC Documentation System for ACL2
// Copyright (C) 2009-2015 Centaur Technology
//
// Contact:
//   Centaur Technology Formal Verification Group
//   7600-C N. Capital of Texas Highway, Suite 300, Austin, TX 78731, USA.
//   http://www.centtech.com/
//
// License: (An MIT/X11-style license)
//
//   Permission is hereby granted, free of charge, to any person obtaining a
//   copy of this software and associated documentation files (the "Software"),
//   to deal in the Software without restriction, including without limitation
//   the rights to use, copy, modify, merge, publish, distribute, sublicense,
//   and/or sell copies of the Software, and to permit persons to whom the
//   Software is furnished to do so, subject to the following conditions:
//
//   The above copyright notice and this permission notice shall be included in
//   all copies or substantial portions of the Software.
//
//   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
//   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
//   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
//   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
//   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
//   DEALINGS IN THE SOFTWARE.
//
// Original author: Jared Davis <jared@centtech.com>

// Cascading Style Sheet for the fancy viewer.  You can easily tweak the colors,
// layout, etc., here.

/* ---------------------------- LAYOUT -------------------------------- */

$topsize: 65px;
$navsize: 16em;

body {
   background-color: white;
   padding: 2em;
}

#top {
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    height: ($topsize - 5);
    width: 100%;
    border: {
	top: solid 2px;
	bottom: solid 3px;
    }
}

#left {
    position: fixed;
    left: 0;
    top: $topsize;
    bottom: 0em;
    width: $navsize;
    padding: 0;
    overflow-y: scroll;
    overflow-x: hidden;
}

#right {
    border-left: solid 1px;
    position: fixed;
    left: $navsize;
    top: $topsize;
    right: 0em;
    bottom: 0em;
    overflow: auto;
    margin: 0;
    padding: {
	left: 0;
	right: 0;
	top: 0;
	bottom: 1em;
    }
}

#data {
    margin-left: 1em;
    margin-right: 1em;
    max-width: 45em;
/*    height: 100%; */
}

#still_loading {
    z-index: 200;
    position: fixed;
    left: 350px;
    top: 120px;
    border-radius: 7px;
    background-color: #007730;
    color: white;
    padding: {
	left: 30px;
	right: 30px;
	top: 10px;
	bottom: 10px;
    }
    font-size: 120%;
    box-shadow: 0px 0px 0px 3px rgba(0,0,70,0.3);
}

h1 { margin-bottom: 0; }

.from {
    font-size: 90%;
    text-align: center;
    mergin: {
	left: 0;
	right: 0;
	top: -.2em;
    }
    padding: 0;
}

.basepkg {
    float: right;
    background-color: #990000;
    width: 5em;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0;
    margin-right: -5em;
    border: {
	color: #ffd0b0;
	width: 3px;
	style: solid;
	radius: 5px;
    }
    background-color: #ffffff;
}


/* ---------------------------- COLORS -------------------------------- */

$borderblue: #3C9DD0;

#top    { background-color: #034569; }
#bottom { background-color: #228A4C; }
#left   { background-color: #ffcba3; }
#right  { background-color: white; }

.xtable th {
  background-color: #ffdcb4;
}

.xtable tr:nth-child(odd) { background-color:#fff4e8; }
/*.xtable tr:nth-child(odd) td:nth-child(odd) { background-color:#fffff6; } */

.xtable tr:nth-child(even) { background-color:#ffffff; }
/* .xtable tr:nth-child(even) td:nth-child(odd) { background-color:#fff6ff; } */

#top, #bottom, #right, #left, #parents { border-color: $borderblue; }

body          { background-color: white;}

h1, h2, h1 .tt, h2 .tt, h1 .v, h2 .v  {  color: #A64300; }
h3, h4, h5, h3 .tt, h4 .tt, h5 .tt, h3 .v, h4 .v, h5 .v { color: #FF6700; }

.box          { border-color: black; }

// #data_wrapper { background-color: #ffffff; }
// #data_wrapper { border-color: #034569; }

.code,.v,.tt  { color: #306030;}
.code a, .v a { color: #309030;}
.code, .mathblockrendered { border-color: $borderblue; }

#nav a:hover, #flat a:hover { background-color: #FFAB73; }
#data a:hover { background-color: #ffffa0; }

#parents { background-color: #63DB93; }
#parents li a       {  }
#parents li a:hover { background-color: #00B74A; text-decoration: none; }

.tt-cursor { background-color: #ffffa0; }

#letters { padding-left: .4em; }
#letters a { color: $borderblue; }
#letters a:hover { text-decoration: none; color: white; background-color: #086CA2; }

.dat_long {
    border-color: #FF6700;
}

.from {
    color: $borderblue;
}


/* ----------------------- FONTS --------------------------------- */

/* NOTE: don't just change these, there are also some additional fonts below. */

$serif: "Noto Serif", serif;
$sans: "Lato", sans-serif;
$source: "Source Code Pro", monospace;

body { font-family: $serif; }



#parents, #toolbar, .basepkg, h1, h2, h3, h4, h5, .sf {
    font-family: $sans;
}

dt, .hindex, #flat, #still_loading, .xtable th {
    font-family: $sans;
}

.code, .srclink, .tt, #letters, .from, .v {
    font-family: $source;
}


/* ----------------------- PARENTS DISPLAY ----------------------- */

#parents {
    padding: 10px;
    border-bottom-width: 1px;
    border-bottom-style: solid;

    ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
    }

    li {
	display: inline;
    }

    li a {
	padding: .2em 1em;
    }
}



/* ---------------------- JUMP TO BOX ---------------------------- */

#toolbar {
    padding: .5em;

    td {
	padding-left: 3em;
    }
}


#jumpmsg,#searchmsg { color: white; }
#jump, #searchbox {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;

//    box-shadow: 0px 0px 0px 2px rgba(0,0,0,0.3);
    border-radius: 3px;
    border: 2px solid #dadada;
//    background-clip: padding-box;

    background-color: #ffffa0;
    //background-origin: padding-box;
//    background-clip: content-box;
//    background-clip: padding-box;
    width: 6em;
    max-width: 7em;
    min-width: 4em;
}

/*
#jump:focus, #searchbox:focus {
    outline: none;
    border-color: #9ecaed;
    box-shadow: 0 0 10px #9ecaed;
}
*/

/* These are fancy things for the typeahead menu: */

.tt-dropdown-menu {
    background-color: white;
    color: black;
    max-width: 450px;
    max-height: 500px;
    font-size: 90%;
    overflow-y: auto;
    overflow-x: hidden;
    border: 1px black solid;
    border-radius: 5px;
}

.tt-suggestion {
    border: 1px black solid;
    padding: .25em;

    tt {
	font-size: 50%;
    }
}

.tt-highlight { background-color: #ffffd0; }


/* ------------------------ NAVIGATION MENU ---------------------- */

.hindex {
  list-style-type: none;
  padding: 0;
  font-weight: normal;

  li {
      margin-bottom: 0em;
  }

  li li {
      margin-left: 0.5em;
  }
}


#flat {
    ul {
	list-style-type: none;
	margin-left: 1em;
	padding: 0;
    }

    li {
	margin-left: 0;
	margin-bottom: 0;
    }
}

.flatsec {
    margin-top: 2em;
}



img {
  border: 0px;
}


h1 { font-size: 2.2em; text-align: center; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.1em; margin-left: 1em;}

h4, h5 { margin-bottom: 0; }

p, dl { margin-left: 1em; margin-right: 1em; }

li    { margin-left: 1.0em; margin-right: 1em; margin-bottom: 0.5em; }
li li { margin-left: -1.0em; margin-bottom: 0em; }

dt {
  margin-left: 1em;
  margin-top: 1em;
  font-weight: bold;
}

.box {
  margin-left: 1.5em;
  margin-right: 1.5em;
  border-width: 1px;
  border-style: solid;
}

/* math fragments don't need any special positioning */

.code, .mathblock, .mathblockrendered {
  margin-left: 2.5em;
  margin-right: 1em;
  padding: .5em;
  border-left-width: 3px;
  border-left-style: solid;
}

li .code {
  margin-left: 1em;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; }

.srclink {
  text-decoration: none;
  background-color: #e0e0e0;
  padding: 2px;
/*  font-size: 100%; */
}
.srclink:hover {
  text-decoration: none;
}

hr { margin-top: 2em; }



.dat_long {
    border-left-style: solid;
    border-left-width: 2px;
    margin-left: .2em;
    padding-left: 1em;
}

/* Extra stuff for Symbolic Test Vectors at Centaur */


.stv {
    margin-left: 1em;
    border: 1px;
    border-color: black;
    border-style: solid;

    th {
	font-family: $sans;
    }

    td {
	font-family: $source;
	text-align: right;
	padding-left: .5em;
	padding-right: .5em;
    }
}

.stv_labels {
    background-color: #e0ffc3;

    th:nth-child(even) {
	background-color: #e9ffd6;
    }

    th {
	font-family: $sans;
	text-align: left;

	border-bottom: 2px;
	border-bottom-style: solid;
	border-bottom-color: #b0dda3;

	border-right: 1px;
	border-right-style: solid;
	border-right-color: #b0dda3;
    }
}

.stv_input_line {
    background-color: #ffe0c3;

    td:nth-child(even) {
	background-color: #ffe9d6;
    }

    td {
	border-bottom: 1px;
	border-bottom-color: #ddb0a3;
	border-bottom-style: solid;
	border-right: 1px;
	border-right-style: solid;
	border-right-color: #ddb0a3;
    }
}

.stv_output_line {
    background-color: #c3e0ff;

    td:nth-child(even) {
	background-color: #d6e9ff;
    }

    td {
	border-bottom: 1px;
	border-bottom-color: #a3b0dd;
	border-bottom-style: solid;
	border-right: 1px;
	border-right-style: solid;
	border-right-color: #a3b0dd;
    }
}

.stv_override_line {
    background-color: #ffb0b0;

    td:nth-child(even) {
	background-color: #ffc0c0;
    }

    td {
	border-bottom: 1px;
	border-bottom-color: #ff8080;
	border-bottom-style: solid;
	border-right: 1px;
	border-right-style: solid;
	border-right-color: #ff8080;
    }
}

.stv_internal_line {
    background-color: #ff0000; /* bozo fix colors */

    td:nth-child(even) {
	background-color: #ffcc00; /* bozo fix colors */
    }

    td {
	border-bottom: 1px;
	border-bottom-color: #000000; /* bozo fix colors */
	border-bottom-style: solid;
	border-right: 1px;
	border-right-style: solid;
	border-right-color: #000000;
    }
}

.stv_name {
    border-right: 2px;
    border-right-style: solid;
    border-right-color: #000060;
    text-align: left;
    padding-right: 1em;
}

.ximg {
    text-align: center;
}


.xtable {
  border-collapse:collapse;
  border: 1px solid black;
  margin-left: 1.5em;
  margin-right: 1.5em;
}

.xtable td, .xtable th {
  vertical-align: top;
  padding: .5em;
}

.mathblock {
  /* not rendered block, so put on a red border */
  border-left-color: #ff6060;
}

.mathfrag {
  /* not rendered snippet, so draw it in red */
  color: #ff6060;
}

