/* Generic elements */

html {
  padding: 0;
  margin: 0;
}

body {
  position: absolute;
  top: 0;
  left: 0.5%;
  right: 0.5%;
  width: 99%;
  min-width: 42em;
  max-width: 70em;
  font-size: 0.95em;
  line-height: 1.5;
  text-align: justify;
  padding: 0;
  margin: 0 auto;
  /* fallback for IE8 which doesn't support multiple backgrounds */
  background: url(../pictures/background-top-left.png) no-repeat top left;
  background-color: rgb(245, 252, 242);
  background-image: url(../pictures/background-top-right.png),
    url(../pictures/background-top-left.png);
  background-position: top right, top left;
  background-repeat: no-repeat, no-repeat;
}

hr {
  display: none;
}

p {
  margin: 0.5em;
}

h1 {
  display: none;
  clear: both;
}
h2, h3, h4, h5 {
  margin: 1em 10px;
  clear: both;
}

dt {
  margin: 0.5em;
}

li {
  margin-right: 1em;
}

a img {
  border: 0;
}

/* Hyperlinks */

/* no dotted line around clicked tabs */
a:focus {
  outline-style: none;
}

a:link {
  color: #0c51ab;
}

a:visited {
  color: #804f01;
}

a:hover {
  color: #0105ad;
}

/* Table of Contents */
/* first level toc (unnumbered) */
div#tocframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: rgb(35, 155, 80);
  background: linear-gradient(to top,
    rgb(25, 115, 50),
    rgb(45, 205, 115));
  max-width: 70em;
  font-size: 1em;
  line-height: 1;
  padding: 0;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  margin: 0;
}

#tocframe a {
  color: #fff;
  text-decoration: none;
}

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

#tocframe ul:first-child > li:first-child a {
  border-bottom-left-radius: 7px;
}

#tocframe ul:first-child > li:first-child a::before {
  background: url(../pictures/lily-home-32x32.png) no-repeat scroll 0% 40% transparent;
  content: "";
  padding: 16px 0px 16px 38px;
}

#tocframe ul:first-child > li:last-child {
  border-bottom-right-radius: 7px;
}

#tocframe li {
  display: inline;
  padding: 0;
  margin: 0;
}

/* search box */
#tocframe form {
  float: left;
  width: 16%;
  font-size: 1em;
  padding: 0.5em 0.8%;
  margin: 0 0 0 1%;
}

#tocframe form input {
  display: block;
  float: left;
  width: 92%;
  font-size: 0.9em;
  color: rgb(85, 85, 85);
  background: rgb(235, 242, 232);
  padding: 0.1em 0.1em 0.1em 0.6em;
  border: 0;
  margin: 0;
  border-radius: 7px;
}

#tocframe form input[type="hidden"] {
  position: relative;
  height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

#tocframe li a {
  float: left;
  width: 16%;
  text-align: center;
  font-weight: bold;
  padding: 0.68em 0;
  margin: 0;
  border-right: 1px solid rgba(25, 100, 40, 0.25);
}

#tocframe li a:hover {
  background: rgb(45, 165, 90);
  background: linear-gradient(to top,
    rgb(35, 125, 60),
    rgb(55, 215, 125));
}

#tocframe li.toc_current > a,
#tocframe li.toc_current > a:hover {
  background: rgb(0, 120, 30);
  background: linear-gradient(to top,
    rgb(0, 85, 20),
    rgb(15, 175, 85));
  color: #fff;
}

/* second level toc (unnumberedsec) */
#tocframe ul ul {
  display: none;
}
#tocframe ul li.toc_current > ul {
  display: block;
  position: absolute;
  top: 3.8em;
  left: 0.5%;
  right: 0.5%;
  font-size: 0.82em;
  padding: 0;
  margin: 0;
}

#tocframe ul ul li {
  display: inline;
  padding: 0;
  margin: 0;
}

#tocframe ul ul li:first-child a {
  border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
  border-left: 1px solid rgba(85, 130, 70, 0.25);
}

#tocframe ul ul li:last-child a {
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
}

#tocframe ul ul li a {
  float: left;
  width: auto;
  background: rgb(165, 215, 150);
  background: linear-gradient(to top,
    rgb(130, 200, 110),
    rgb(200, 230, 190));
  line-height: 2;
  color: #000;
  text-decoration: none;
  text-indent: 0;
  font-weight: normal;
  padding: 0 0.5em;
  margin: 0;
  border-right: 1px solid rgba(85, 130, 70, 0.25);
}

#tocframe ul ul li a:hover {
  background: rgb(175, 225, 160);
  background: linear-gradient(to top,
    rgb(140, 210, 120),
    rgb(210, 240, 200));
}

#tocframe ul ul li.toc_current > a,
#tocframe ul ul li.toc_current > a:hover {
  background: rgb(135, 185, 120);
  background: linear-gradient(to top,
    rgb(100, 170, 80),
    rgb(170, 200, 160));
  color: #000;
}

/* Divs */
div#main {
  position: relative;
  /* this value may need to be adjusted */
  top: 7.7em;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 70em;
  margin: 0 auto;
  /* Necessary to stretch over floated content;
   * will cause scrollbars to appear for content
   * that is wider than the width of this div.
   *
   * FIXME: This breaks Konqueror 3 and 4.
   */
  overflow: auto;
}

#main > a:first-child {
  position: absolute;
  top: -10em;
}

div#pageHeader {
  width: 100%;
  height: 10em;
  padding-top: 2em;
  border: solid #ddd;
  border-width: 0;
  margin: 0 0 1.4em 0;
}

#pageHeader .heading {
  font-size: 4em;
  text-align: left;
  padding: 0;
  margin: 0 0 0 340px;
}

#pageHeader p {
  font-size: 1.2em;
  font-style: italic;
  text-align: left;
  padding: 0;
  margin: 0 0 0 340px;
}

div#lilylogo {
  position: absolute;
  top: 0;
  left: 0;
}

div#cmws {
  position: absolute;
  top: 0;
  left: 50%;
}

div#quickSummary {
  text-align: left;
  margin: 3em 14em 25px 0;
  font-size: 1.25em;
}

#quickSummary p {
  padding: 0.5em;
  margin: 0;
}

#homepage-main {
  padding: 0;
  margin: 0 14em 1em 0;
}

#homepage-example-image-wrapper {
  padding: 3em 0em 1.5em;
}

.example-image-wrapper {
  padding: 2em 0em 0.5em;
}

.example-image-wrapper img {
  padding: 0em 0em 1em;
}

/* .news-item is styled below with columns */

.testimonial-item {
  /* Not sure how to style the testimonials */
  clear: both;
  margin: 2em 0;
}

.testimonial-item .subsubheading {
  text-align: left;
  padding: 0 0 0 0.5em;
}

.testimonial-item img.float-left,
.testimonial-item img.float-right {
  margin: 1em 1em 2em;
}

.testimonial-item p {
  padding: 0 0.5em;
}

#homepage-sidebar {
  position: absolute;
  top: 0;
  right: 0;
  width: 12em;
  text-align: left;
  /* negate the top-margin of the first .subheading */
  margin-top: -0.5em;
}

#homepage-sidebar .subheading {
  font-size: 1em;
  background: #5b7f64;
  color: #fff;
  padding: 0.2em 0.5em 0.1em 0.7em;
  margin: 0.5em 0 0.7em;
  border-radius: 5px;
}

#homepage-sidebar p,
#pondingsText {
  padding: 0em 0.5em 0.5em;
  margin: 0;
}

div#footer {
  clear: both;
  width: 100%;
  border-top: 10px solid #5b7f64;
}

p#languages {
  padding: 0.7em;
  margin: 0;
  text-align: left;
}

h2.unnumbered, h3.unnumberedsec, h4.unnumberedsubsec {
  position: relative;
  height: 0;
  text-indent: -999em;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

table {
  text-align: left;
  padding: 0 0 0 0.5em;
  border-left: 3px solid #5b7f64;
  margin: 1em 0 0 1em;
}

table td {
  padding: 0.4em;
}

table a {
  text-align: left;
}

.verbatim {
  margin: 10px;
}

.float-left {
  float: left;
}

.float-center {
  text-align: center;
  display: block;
  margin: 0 auto;
}

.float-right {
  float: right;
}

img.float-left,
img.float-right {
  background: #fff;
  padding: 1em;
  border: 1px solid #bbb;
  margin: 0.1em 0.5em;
}

div.float-left a.clickable,
div.float-right a.clickable {
  text-decoration: overline;
  margin-left: 1em;
}

div.float-center a.clickable {
  text-decoration: overline;
}

.clear-both {
  clear: both;
}

.align-right {
  text-align: right;
}

.heading-center {
  text-align: center;
  width: 75%;
  margin: 0 auto;
}

.heading-center h3.heading {
  padding: 0.25em 0;
  margin: 0;
}

/* Columns */

/* color1 */
.column-center-top {
  float: left;
  width: 99.5%;
  text-align: left;
  border: 1px solid #9ccc7c;
  margin: 1em auto;
}

.column-center-middle-color2,
.column-center-middle-color3,
.news-item {
  clear: both;
  float: left;
  width: 99.5%;
  text-align: left;
  margin: 1em auto;
}

.column-left-top {
  float: left;
  width: 49%;
  margin: 1em 0;
}

.column-left-bottom {
  clear: both;
  float: left;
  width: 49%;
  margin: 1em 0;
}

.column-right-top {
  float: right;
  width: 49%;
  margin: 1em 0;
}

.column-right-bottom {
  float: right;
  width: 49%;
  margin: 1em 0;
}

/* color2 */
.column-left-top,
.column-left-bottom,
.column-center-middle-color2,
.news-item {
  border: 1px solid #adce82;
}

/* color3 */
.column-right-top,
.column-right-bottom,
.column-center-middle-color3 {
  border: 1px solid #bdd088;
}

/* color4 */
.column-center-bottom {
  clear: both;
  float: left;
  width: 99.5%;
  text-align: center;
  border: 1px solid #ccd38f;
  margin: 1em auto 0;
}

.column-center-top,
.column-center-middle-color2,
.column-center-middle-color3,
.column-center-bottom,
.column-left-top,
.column-left-bottom,
.column-right-top,
.column-right-bottom,
.news-item {
  background: #fff;
  border-radius: 5px;
}

/* color1 */
.column-center-top h4.subheading {
  background: #9ccc7c;
  background: linear-gradient(to top,
    rgb(140, 210, 118),
    rgb(212, 242, 201));
  text-align: left;
  border-bottom: 1px solid #9ccc7c;
}

/* color2 */
.column-left-top h4.subheading,
.column-left-bottom h4.subheading,
.column-center-middle-color2 h4.subheading,
.news-item h4.subheading {
  background: #adce82;
  background: linear-gradient(to top,
    rgb(173, 206, 130),
    rgb(221, 243, 204));
  border-bottom: 1px solid #adce82;
}

.news-item h4.subheading {
  font-size: 1em;
}

/* color3 */
.column-right-top h4.subheading,
.column-right-bottom h4.subheading,
.column-center-middle-color3 h4.subheading {
  background: #bdd088;
  background: linear-gradient(to top,
    rgb(189, 208, 136),
    rgb(231, 243, 207));
  border-bottom: 1px solid #bdd088;
}

/* color4 */
.column-center-bottom h4.subheading {
  background: #ccd38f;
  background: linear-gradient(to top,
    rgb(204, 211, 143),
    rgb(237, 244, 208));
  text-align: left;
  border-bottom: 1px solid #ccd38f;
}

.column-center-top h4.subheading,
.column-center-middle-color2 h4.subheading,
.column-center-middle-color3 h4.subheading,
.column-center-bottom h4.subheading,
.column-left-top h4.subheading,
.column-left-bottom h4.subheading,
.column-right-top h4.subheading,
.column-right-bottom h4.subheading,
.news-item h4.subheading {
  text-align: left;
  padding: 3px 0.5em 0;
  margin: 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.column-center-top h4.subsubheading,
.column-center-middle-color2 h4.subsubheading,
.column-center-middle-color3 h4.subsubheading,
.column-center-bottom h4.subsubheading,
.column-left-top h4.subsubheading,
.column-left-bottom h4.subsubheading,
.column-right-top h4.subsubheading,
.column-right-bottom h4.subsubheading {
  text-align: left;
  padding: 0.5em 0.5em 0;
  margin: 0 0 0.5em 0;
}

/* Used for google summer of code project ideas, for example. */
.bigger-subsubheadings h4.subsubheading {
  font-size: 1.17em;
  margin: 1.5em 0 0.5em 0;
}

.column-center-top ul,
.column-center-middle-color2 ul,
.column-center-middle-color3 ul,
.column-center-bottom ul,
.column-left-top ul,
.column-left-bottom ul,
.column-right-top ul,
.column-right-bottom ul {
  list-style-type: none;
  padding: 0;
  margin: 0.5em 0;
}

.column-center-top li,
.column-center-middle-color2 li,
.column-center-middle-color3 li,
.column-center-bottom li,
.column-left-top li,
.column-left-bottom li,
.column-right-top li,
.column-right-bottom li {
  text-align: left;
  padding: 0 0.5em 0;
  margin: 0 0 0.5em 0;
}

.column-center-top p,
.column-center-middle-color2 p,
.column-center-middle-color3 p,
.column-center-bottom p,
.column-left-top p,
.column-left-bottom p,
.column-right-top p,
.column-right-bottom p {
  text-align: left;
}

.column-center-top img.float-left,
.column-center-top img.float-right,
.column-center-middle-color2 img.float-left,
.column-center-middle-color2 img.float-right,
.column-center-middle-color3 img.float-left,
.column-center-middle-color3 img.float-right,
.column-center-bottom img.float-left,
.column-center-bottom img.float-right,
.column-left-top img.float-left,
.column-left-top img.float-right,
.column-left-bottom img.float-left,
.column-left-bottom img.float-right,
.column-right-top img.float-left,
.column-right-top img.float-right,
.column-right-bottom img.float-left,
.column-right-bottom img.float-right {
  margin: 0.5em;
}

.keep-bullets ul {
  list-style-type: disc;
  padding: 0;
  margin: 0.5em 1.5em;
}

.keep-bullets li {
  padding: 0;
}

.normal-table table {
  padding : 0em;
  border-left: 2px;
  margin: 0em;
  width: 75%;
}

.normal-table table td {
  padding: 0em 1em;
  text-indent: -1em;
  vertical-align: top;
}

.normal-table table a {
}

.normal-table p {
  line-height: 0.8;
}

pre.example, pre.example-preformatted {
  position: relative;
  left: -2.5em;
  text-align: left;
}

.h-scroll-auto {
  position: relative;
  left: 1em;
  overflow: auto;
}

.warning,
.contactBox {
  background: #eef;
  text-align: left;
  margin: 1em;
  padding: 0;
  border: 1px solid rgb(160, 160, 175);
  border-radius: 5px;
}

.contactBox {
  float: left;
}

.warning p,
.contactBox p {
  padding: 0.5em;
  margin: 0;
}

.menu, .section-toc {
  display: none;
}

.help {
  background: #f77;
  color: black;
  text-align: center;
  font-weight: bold;
  width: 75%;
  padding: 1em;
  border: 10px dotted green;
  margin: 1em auto;
}

.legal {
  font-size: 0.6em;
}

.link-headings a {
  font-weight: bold;
}

.detail {
  font-size: 0.8em;
}

.detail a {
  font-weight: normal;
}
