/*

Copyright (c) 2005 Hakon Wium Lie and Bert Bos

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.

*/
html { 
  margin: 0; padding: 0;
  font: 10pt/1.26 "Gill Sans", sans-serif;
}

h1, h2, h3, h4, h5, h6 { 
  font-family: "Gill Sans", sans-serif;
  margin: 2em 0 0.5em 0;
  page-break-after: avoid;
} 

h1 { 
  font-size: 2.0em;
  font-weight: 900;

  margin: 0;
  margin-left:-2cm;
  margin-top:-2cm;
  margin-bottom:1.5cm;
  top: 0cm;
  left: 0cm;
  padding: 2cm;
  padding-top: 1cm;
  padding-bottom: 1cm;
  background: #888;
  border-bottom-right-radius: 2cm;
  page-break-inside: avoid;
}

@media screen, handheld {
h1 { 
  margin-top:1cm;
  background-image: url("chapter-rounded-bottom.png");
  background-repeat: no-repeat;
  background-position: bottom right;
}
div.page-reset > h1 {
  margin-top:0cm;
}
}


h2 { 
  font-size: 1.2em;
  text-transform: uppercase;
  font-weight: bold;
}

h3 { 
  font-size: 1em;
  font-weight: bold;
}

q::before {
  content: "\201C";
}

q::after {
  content: "\201D";
}

p { margin: 0 }
p + p { text-indent: 1.3em ; margin-top: 0.2em; }
p.sidenote + p, p.caption, p.art { text-indent: 0 }

p.author {
  margin-top: 2em;
  text-indent: 0;
  text-align: right;
}

a { text-decoration: none; color: black }

/* cross-references */

a.pageref::after { content: " on page " target-counter(attr(href), page); }
a.chapref::before { content: " Chapter " target-counter(attr(href), chapter) ", "; }
a.figref { content: " Figure " target-counter(attr(href), figure); }
a.tableref { content: " Table " target-counter(attr(href), figure); }
a.listingref { content: " Listing " target-counter(attr(href), listing); }

/* sidenotes */

.sidenote {
  float: left;
  clear: left;
  margin: 0 0 1em -41%;
  width: 37%;
  font-size: 0.9em;
  font-style: normal;
  text-indent: 0;
  text-align: right;
  page-break-inside: avoid;
}

/* sidebars */

div.sidebar {
  float: top-next;
  margin: 1.2em 0 1.2em 0;
  border: thin solid;
  background: #CCC;
  padding: 0.5em 1em;
  page-break-inside: avoid;
  column-count: 2;
  column-gap: 1.5em;
}

div.sidebar h2 {
  margin-top: 0;
}

/* figures, tables, and listings */

div.figure {
  margin: 1em 0;
  counter-increment: figure;
}

div.figure .caption, div.table .caption {
  font-size: 0.9em;
  font-style: italic;
}

div.figure .caption::before {
  content: "Figure " counter(figure) ". ";
  font-weight: bold;
  font-style: normal;
}

div.table .caption::before {
  content: "Table " counter(table) ". ";
  font-weight: bold;
  font-style: normal;
}

div.table {
  margin: 1em 0;
  counter-increment: table;
}

div.table th {
  text-align: left;
}

table th, table td {
  text-align: left;
  padding-right: 1em;
  page-break-inside: avoid;
}

table th {
  border-top: thin solid;
  border-bottom: thin solid;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}
table td {
  border-top: none;
  border-bottom: thin dotted;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
}

/* Weird div.codeHeader a b::before would be a better selection
   but prince does not properly match it.. Firefox does. */
div.codeHeader::before {
  content: "Listing " counter(listing) ". ";
  font-weight: bold;
  font-style: normal;
}
div.codeHeader a b {
  font-style: italic;
  font-weight: normal;
}
div.codeHeader {
  font-size: 0.9em;
  counter-increment: listing;
}
div.code {
  margin: 1em 0;
}


@page {
  margin: 2cm;
  size: 7in 9.25in;

  @footnotes {
    border-top: thin solid black;
    padding-top: 0.3em;
    margin-top: 0.6em;
  }
}


/* define default page and names pages: cover, blank, frontmatter */
div.page-reset {
    counter-reset: page 1;
}

@page :left {
  @top-left-corner {
    font-weight: 900; font: 9pt "Gill Sans", serif; 
    content: counter(page);
    text-align: left;
    margin-left: 1cm;
    visibility: hidden;
  }
  @top-left {
    font-weight: 900;
    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
    content: string(header, first); 
    visibility: hidden;
  }
  @bottom-left-corner {
    font-weight: 900; font: 9pt "Gill Sans", serif; 
    content: counter(page);
    text-align: left;
    margin-left: 1cm;
  }
  @bottom-left {
    font-weight: 900;
    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
    content: string(header, first); 
  }
}

@page :right {
  @top-right-corner {
    font-weight: 900; font: 9pt "Gill Sans", serif; 
    content: counter(page);
    text-align: left;
    margin-left: 1cm;
    visibility: hidden;
  }
  @top-right {
    font-weight: 900;
    font: 9pt "Gill Sans", serif; white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
    content: string(header, first)
    visibility: hidden;
  }
  @bottom-right-corner {
    font-weight: 900; font: 9pt "Gill Sans", serif; 
    content: counter(page);
    text-align: right;
    margin-right: 1cm;
  }
  @bottom-right {
    font-weight: 900; font: 9pt "Gill Sans", serif; 
    white-space: pre; text-transform: uppercase; letter-spacing: 0.1em;
    content: string(header, first)
  }
}

/* 
  In theory we should be able to use the :first selector so taht 
  we can put the page numbering on the bottom of the first page of the chapter
  but have the rest of the pages number at the top.  But this does not seem
  to work.  See http://www.princexml.com/doc/6.0/page-selectors/

  So for now just always number at the bottom :(
*/
/*
div.chapter { page: bottom-number; }
@page bottom-number :first {
  @top-left {
    visibility: hidden;
  }
  @bottom-left {
    visibility: visible;
  }
  @top-right {
    visibility: hidden;
  }
  @bottom-right {
    visibility: visible;
  }
}
*/

@page cover { margin: 0; }

@page frontmatter :left {
  @bottom-left-corner {
    content: counter(page, lower-roman);
  }
  @bottom-left-corner {
    content: counter(page, lower-roman);
  }
}

@page frontmatter :right {
  @bottom-right-corner {
    content: counter(page, lower-roman);
  }
  @bottom-right-corner {
    content: counter(page, lower-roman);
  }
}

@page blank :left {
  @top-left { visibility: hidden; }
  @bottom-left { visibility: hidden; }
  @top-left-corner { visibility: hidden; }
  @bottom-left-corner { visibility: hidden; }
}

@page blank :right {
  @top-right { visibility: hidden; }
  @bottom-right { visibility: hidden; }
  @top-right-corner { visibility: hidden; }
  @bottom-right-corner { visibility: hidden; }
}

/* footnotes */
.footnote {
  display: none;                   /* default rule */

  display: prince-footnote;        /* prince-specific rules */
  position: footnote;
  footnote-style-position: inside;

  counter-increment: footnote;
  margin-left: 1.4em;
  font-size: 90%;
  line-height: 1.4;
}

.footnote::footnote-call {
  vertical-align: super;
  font-size: 80%;
}

.footnote::footnote-marker {
  vertical-align: super;
  color: green;
  padding-right: 0.4em;
}


/*
   A book consists of different types of sections. We propose to use
   DIV elements with these class names:

    frontcover
    halftitlepage: contains the title of the book
    titlepage: contains the title of the book, name of author(s) and publisher
    imprint: left page with copyright, publisher, library printing information
    dedication: right page with short dedication
    foreword: written by someone other than the author(s)
    toc: table of contents
    preface: preface, including acknowledgements
    chapter: each chapter is given its own DIV element
    references: contains list of references
    appendix: each appendix is given its own 
    bibliography
    glossary
    index
    colophon: describes how the book was produced
    backcover

   A book will use several of the types listed above, but few books
   will use all of them.
*/

/* which section uses which named page */

div.halftitlepage, div.titlepage, div.imprint, div.dedication { page: blank }
div.foreword, div.toc, div.preface { page: frontmatter }


/* page breaks */
div.frontcover, div.halftitlepage, div.titlepage { page-break-before: right }
div.imprint { page-break-before: always; }
div.chapter { page-break-before: always; }
div.dedication, div.foreword, div.toc, div.preface, div.reference, 
div.appendix, div.bibliography, div.glossary, div.index, div.colophon { 
  page-break-before: always 
}
div.backcover { page-break-before: left }


/* the front cover; this code is probably not very reusable by other books */

div.frontcover { page: cover; }

div.frontcover img {
  position: absolute;
  width: 7in; height: 9.25in;
  left: 0; top: 0;
  z-index: -1;
}

div.frontcover h1 {
  position: absolute;
  left: 2cm; top: 1cm;
  color: white;
  font-size: 44pt;
  font-weight: normal;
}

div.frontcover h2 {
  position: absolute;
  right: 0; top: 5cm;
  color: black;
  background: white;
  font-size: 16pt;
  font-weight: normal;
  padding: 0.2em 5em 0.2em 1em;
  letter-spacing: 0.15em;
}

div.frontcover h3 {
  position: absolute;
  left: 2cm; top: 7cm;
  color: white;
  font-size: 24pt;
  font-weight: normal;
}

div.frontcover p {
  position: absolute;
  left: 2cm; bottom: 1.5cm;
  font-size: 24pt;
  color: black;
  font-weight: bold;
  text-transform: uppercase;
}


/* titlepage, halftitlepage */

div.titlepage h1, div.halftitlepage h1 { margin-bottom: 2em; }
div.titlepage h2, div.halftitlepage h2 { font-size: 1.2em; margin-bottom: 3em; }
div.titlepage h3, div.halftitlepage h3 { font-size: 1em; margin-bottom: 3em; }
div.titlepage p, div.halftitlepage p { 
  font-size: 1.4em;
  font-weight: bold;
  margin: 0; padding: 0;
}


/* TOC */

ul.toc, ul.toc ul { 
  list-style-type: none;
  margin: 0; padding: 0;
  margin-left: 3cm;
}
ul.toc ul {
  margin-left: 1em;
  font-weight: normal;
}
ul.toc > li { 
  font-weight: bold;
  margin-bottom: 0.5em;
}
ul.toc a::after {
  content: leader('.') target-counter(attr(href), page);
  font-style: normal;
}
ul.toc > li.frontmatter a::after {
  content: leader('.') target-counter(attr(href), page, lower-roman);
  font-style: normal;
}
ul.toc > li.endmatter a::after {
  content: leader('.') target-counter(attr(href), page);
  font-style: normal;
}
ul.toc > li.chapter::before {
  content: "Chapter " counter(toc-chapter, decimal);
  display: block;
  margin: 1em 0 0.1em -2.5cm;
  font-weight: normal;
  counter-increment: toc-chapter;
  page-break-after: avoid;
}

/* chapter numbers */

div.chapter { counter-increment: chapter; }
div.chapter h1::before { 
  text-transform: uppercase;
  letter-spacing: 0.15em;
  content: "Chapter  " counter(chapter) " \A\B0 \B0 \B0 \B0\A"; 
  white-space: pre;
  font-size: 50%;
}

div.frontcover h1::before, div.titlepage h1::before, div.halftitlepage h1::before {
  content: normal; /* that is, none */
}

h1 { string-set: header content();}
div.chapter h1 { string-set: header "Chapter " counter(chapter) " - " content(); }

/* index */

ul.index { 
  list-style-type: none;
  margin: 0; padding: 0;
  column-count: 2;
  column-gap: 1em;
}

ul.index a::after { content: ", " target-counter(attr(href), page); }


span.element, span.attribute {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 80%;
}
span.property { font-weight: bold }
code, span.css, span.value, span.declaration {
  font: 90% "Lucida Console", "Lucida Sans Typewriter", monospace;
}


@media screen, handheld {
  html {font: 14px "Gill Sans", sans-serif; }
  h1 { margin-bottom: 0.5em }
  div.frontcover, div.halftitlepage, div.titlepage, div.imprint, 
  div.dedication, div.foreword, div.toc, div.index { display: none }
  body { 
      margin: 0cm; 
      margin-left: 2cm; 
      margin-right: 2cm; 
  }
}

/*
 * Enhancements to the take advantage of some of the style markup that
 * Confluence generates 
 */
a sup img { visibility: hidden; position: absolute;}

img { 
  prince-image-resolution:150dpi;
}

table {
  font: "Lucida Console", "Lucida Sans Typewriter", monospace;
}

table td {
  font-size: 10pt;
}

pre {  
   white-space: pre-wrap;
}

.codeContent {
  font-size: 80%;
}
.code {
}
.code-keyword {
  color: #000091;
  background-color: inherit;
}

.code-object {
  color: #910091;
  background-color: inherit;
}

.code-quote {
  color: #009100;
  background-color: inherit;
}

.code-comment {
  color: #808080;
  background-color: inherit;
}


.code-xml .code-keyword {
  color: inherit;
  font-weight: bold;
}

.code-tag {
  color: #000091;
  background-color: inherit;
}

.noteMacro { border-color: #F0C000; background-color: #FFFFCE;}
.warningMacro { border-color: #CC0000; background-color: #FFCCCC }
.infoMacro { border-color: #3c78b5; background-color: #D8E4F1; }
.tipMacro { border-color: #090; background-color: #dfd;}
.noteMacro, .warningMacro, .infoMacro, .tipMacro, .informationMacroPadding { 
  border: thin solid;
  float: top-next;
  margin: 1em 0 1.2em 0;
  padding: 0.5em;
  column-count: 2;
  column-gap: 1.5em;
  width: 100%;
}
table.infoMacro td, table.warningMacro td, table.tipMacro td, table.noteMacro td, table.sectionMacro td {
    border: none;
}
table.infoMacro p, table.warningMacro p, table.tipMacro p, table.noteMacro p, table.sectionMacro p {
    font-size:x-small;
    margin-top: 1em; 
}

