| /* |
| |
| 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:-1cm; |
| margin-bottom:1.5cm; |
| top: 0cm; |
| left: 0cm; |
| padding: 2cm; |
| padding-top: 0cm; |
| padding-bottom: 1cm; |
| background: #888; |
| border-bottom-right-radius: 2cm; |
| page-break-before: always; |
| 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; |
| } |
| |
| /* frontpage */ |
| |
| .title p{ |
| font-size:22pt; |
| font-family: "Gill Sans", sans-serif; |
| text-align: center; |
| } |
| |
| .copyright-section { |
| text-align: center; |
| font-size: 9pt; |
| page-break-after: always; |
| margin-top: 50pt; |
| margin-bottom: 20pt; |
| } |
| |
| .toc-title { |
| font-size:18pt; |
| font-family: "Gill Sans", sans-serif; |
| text-align: left; |
| margin-left:20pt; |
| margin-bottom: 40pt; |
| |
| } |
| |
| /* figures, tables, and listings */ |
| |
| div.confluenceTableSmall th.confluenceTh { |
| font-size: 11px; |
| } |
| |
| div.confluenceTableSmall td.confluenceTd { |
| font-size: 7px; |
| } |
| |
| 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; |
| } |
| |
| div.Scrollbar { |
| display: none; |
| } |
| |
| |
| /* 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 { |
| border: 1px dashed #c0c0c0; |
| font-size: 12px; |
| font-family: Courier; |
| margin: 5px; |
| line-height: 13px; |
| padding: 3px; |
| background-color: #f8f8f8; |
| |
| } |
| |
| |
| @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; |
| } |
| |
| /* Confluence contents to hide */ |
| #labels-section { |
| display: none; |
| } |
| #comments-section { |
| display: none; |
| } |
| #footer { |
| display: none; |
| } |
| .hidden { |
| display: none; |
| } |
| |
| /* |
| 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 } |
| |
| /* 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; |
| } |
| |