/*
 * Copyright (c) 2001-2020 The FreeBSD Documentation Project
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * $FreeBSD$
 */

/*
 * Global
 */
html {
  margin: 0;
  padding: 0;
}

html body {
  margin: 1em 8% 1em 10%;
  line-height: 1.2;
}

@media screen {
  html body {
    font-family: sans-serif !important;
  }
}

@media print {
  html body {
    font-family: serif;
  }
}

body div {
  margin: 0;
}

body form {
  margin: .6em 0;
}

body hr {
  margin: .6em;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #cecece;
}

body img.navheader {
  margin: 0 0 0 -4%;
}

body pre {
  font-family: monospace;
}

body td, body th {
  line-height: 1.2;
}

.abstract-title,
#toc #toctitle,
div.list-of-figures div.toc-title,
div.list-of-tables div.toc-title,
div.list-of-examples div.toc-title {
  font-size: 115%;
}

div.figure-title {
  font-weight: bold;
}

.imageblock .title {
  font-weight: bolder;
}

/*
 * Lists
 */
ul.sectlevel0 {
  margin: 0;
  list-style: none;
  padding: 0;
}

ul.sectlevel0 li {
  font-weight: bold;
  margin: 0.4em 0 0 0;
}

ul.sectlevel0 li a {
  color: #0645AD;
  text-decoration: underline;
}

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

ul.sectlevel1 li {
  font-weight: bold;
  margin: 0.4em 0 0 0;
}

ul.sectlevel1 li a {
  color: #0645AD;
  text-decoration: underline;
}

.ulist li {
  margin: 16px 0;
}

ol {
  margin: 0 0 0 1em;
  line-height: 1.2;
}

/*
 * Headings
 */
h1, h2 {
  margin: .8em 0 0 -4% !important;
}

h3, h4 {
  margin: .8em 0 0 -3% !important;
}

h5 {
  margin: .8em 0 0 -2% !important;
}

h6 {
  margin: .8em 0 0 -1% !important;
}

h1, h2, h3, h4, h5, h6,
.author, .corpauthor,
.abstract-title,
#toc #toctitle,
.toc-title,
div.list-of-figures .toc-title,
div.list-of-tables div.toc-title,
div.list-of-examples div.toc-title {
  font-weight: bold;
  line-height: 1.3;
  margin-top: 1em;
  margin-left: 0;
  color: #990000;
}

/*
 * Table of Contents
 */
.toc .toc-title {
  font-weight: bold;
  line-height: 1.3;
  margin-top: 1em;
  margin-left: 0;
  color: #990000;
  font-size: 115%;
}

.toc ul {
  margin: 0;
  padding: 0;
}

.toc ul li {
  line-height: 1.2;
  list-style-type: none;
}

.toc li {
  margin: 0;
}

.toc ul li p {
  font-weight: bold;
  margin: 0.4em 0 0 0;
}

.toc ul li ul {
  margin-left: 40px !important;
}

/*
 * Links
 */
a:link {
  color:#0645AD;
  text-decoration: underline;
}

a:visited, a:hover, a:active {
  color:#663366;
  text-decoration: underline;
}

@media screen {
  a[href]:hover {
    background: #FFA
  }
}

/*
 * Admonitions
 */
div.procedure {
  color: #222 !important;
  background: #eee !important;
  border: 1px solid #ccc !important;
  width: 90% !important;
}

.example, .exampleblock {
  background: #fefde6;
  border: 1px solid #f1bb16;
  width: 90%;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
}

.exampleblock .content .literalblock .content{
  background: #fefde6 !important;
  border: none !important;
}

.exampleblock .content .programlisting .content{
  padding: 1ex !important;
  background-color: #eee !important;
  border: 1px solid #ccc !important;
}

.procedure-title {
  font-weight: bold;
  line-height: 1;
  margin-right: 0;
}

.procedure ol {
  line-height: 1.2;
  margin: 0 0 0 -1em;
}

div.example-title,
.exampleblock .title {
  font-weight: bold;
}

.admonitionblock>table {
  border-collapse: separate;
  border: 0;
  background: none;
  width: 100%;
}

.admonitionblock>table td.icon {
  text-align: center;
  width: 80px;
}

.admonitionblock>table td.icon img {
  max-width: none;
}

.admonitionblock>table td.icon .title {
  font-weight: bold;
  text-transform: uppercase;
}

.admonitionblock>table td.content {
  padding-left: 1.125em;
  padding-right: 1.25em;
  border-left: 1px solid #ddddd8;
}

.admonitionblock>table td.content>:last-child>:last-child {
  margin-bottom:0;
}

.admonitionblock td.icon [class^="fa icon-"] {
  font-size:2.5em;
  text-shadow:1px 1px 2px rgba(0,0,0,.5);
  cursor:default;
}

.admonitionblock td.icon .icon-note::before {
  content:"\f05a";
  color:#19407c;
}

.admonitionblock td.icon .icon-tip::before {
  content:"\f0eb";
  text-shadow:1px 1px 2px rgba(155,155,0,.8);
  color:#111;
}

.admonitionblock td.icon .icon-warning::before {
  content:"\f071";
  color:#bf6900;
}

.admonitionblock td.icon .icon-caution::before {
  content:"\f06d";
  color:#bf3400;
}

.admonitionblock td.icon .icon-important::before {
  content:"\f06a";
  color:#bf0000;
}

.note, .procedure {
  color: #222;
  background: #EEE;
  border: 1px solid #CCC;
  width: 90%;
  border-radius: 4px;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
  line-height: 1.3;
}

.warning {
  color: #9F1313;
  background: #f8e8e8;
  border: 1px solid #e59595;
  width: 90%;
  border-radius: 4px;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
  line-height: 1.3;
}

.important {
  font-style: italic;
  border: 1px solid #a00;
  border-left: 12px solid #c00;
  width: 90%;
  background-color: #FFF;
  border-radius: 4px;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
  line-height: 1.3;
}

.caution {
  color: #3E3535;
  background: #fefde6;
  border: 1px solid #f1bb16;
  width: 90%;
  border-radius: 4px;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
  line-height: 1.3;
}

.tip {
  color: #004F00;
  background: #d8ecd6;
  border: 1px solid green;
  width: 90%;
  border-radius: 4px;
  padding: 2ex;
  margin: .75em 3em .75em 1em;
  line-height: 1.3;
}

/*
 * Tables
 */
table.tableblock {
  margin-bottom: 1.25em;
  border: 1px solid #dedede;
  background-color: #FFF;
  border-spacing: 0;
  border-collapse: collapse;
}

table.stretch {
    width: 100%;
}

table caption {
  text-rendering: optimizeLegibility;
  text-align: left;
  font-weight: bold;
  font-size: 1rem;
}

table.tableblock thead {
  background: #f7f8f7;
  font-weight: bold;
}

table.tableblock th {
  vertical-align: top;
  text-align: left;
  border: 0 solid #dedede;
  text-rendering: optimizeLegibility;
  line-height: 1.6;
  padding: .5em .625em .625em;
  font-size: inherit;
  color: #222;
  font-weight: bold;
}

table.tableblock td {
  text-align: left;
  border: 0 solid #dedede;
  text-rendering: optimizeLegibility;
  line-height: 1.6;
  padding: .5em .625em .625em;
  font-size: inherit;
  color: #222;
}

table.grid-all th.tableblock, table.grid-all td.tableblock {
  border-width: 0 1px 1px 0;
}

.informaltable, .table th {
  padding-left: 0.2em;
  text-align: left;
}

.informaltable table.calstable tr td {
  padding-left: 1em;
  padding-right: 1em;
}

div.table-title {
  font-weight: bold;
}

/*
 * Navigation
 */
.navheader, .navfooter {
  display: flex;
  justify-content: center;
}

.navheader .prev, .navfooter .prev {
  display: flex;
  margin-right: auto;
  align-items: end;
}

.navheader .chapter, .navfooter .home{
  display: flex;
  flex-direction: column;
  text-align: center;
}

.navheader .chapter .title {
  line-height: 25px;
}

.navheader .next, .navfooter .next {
  display: flex;
  margin-left: auto;
  align-items: end;
}

/*
 * Source code
 */
.screen {
  overflow: auto !important;
  font-family: monospace !important;
  padding: 1em !important;
  background-color: #edc !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  margin: 0 !important;
  width: 97% !important;
  text-align: left !important;
  direction: ltr !important;
}

.screen p {
    margin: 0;
}

pre.screen strong {
  font-family: monospace;
  font-weight: normal;
}

.rouge {
  overflow: auto !important;
  font-family: monospace !important;
  padding: 1em !important;
  background-color: #edc !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  margin: 0 !important;
  width: 97% !important;
}

.rouge .c {
  font-weight: bolder;
}

.rouge b {
  display: none;
}

.prompt {
  margin-left: -3px;
}

.listingblock {
  margin: .75em 0;
}

.listingblock:hover code[data-lang]::before {
  display: block;
}

.listingblock code[data-lang]::before {
  display: none;
  content: attr(data-lang);
  position: absolute;
  font-size: .75em;
  top: .425rem;
  right: .5rem;
  line-height: 1;
  text-transform: uppercase;
  color: inherit;
  opacity: .5;
}

.literalblock {
  background-color: #FFF !important;
  border: none !important;
  padding: 0 !important;
  margin: .75em 0 !important;
}

.literalblock .title {
  background-color: #fefde6;
  font-weight: bolder;
  font-size: 16px;
  font-family: "DejaVu Sans";
  padding-bottom: 9px;
}

.literalblock .content {
  overflow: auto;
  font-family: monospace;
  padding: 1ex;
  background-color: #eee;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.literal-block-margin {
  margin: 9px 0;
}

pre {
    margin: 0;
}

.programlisting {
  overflow: auto;
  font-family: monospace;
  padding: 1ex;
  background-color: #eee;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: left !important;
  direction: ltr !important;
}

/*
 * Callouts
 */
.conum {
  display: inline-block;
  color: #fff !important;
  background-color: #000;
  border-radius: 100px;
  text-align: center;
  font-size: .75em;
  width: 1.67em;
  height: 1.67em;
  font-style: normal;
  font-weight: bold;
}

.conum[data-value] {
    color: #fff !important;
    text-align: center;
    font-size: .75em;
    line-height: 1.67em;
    font-style: normal;
    font-weight: bold;
}

.conum[data-value]::after {
    content: attr(data-value);
}

.colist td {
  padding-top: 4px;
  padding-bottom: 4px;
}

.colist tr td b, .programlisting b {
  display: none;
}

/*
 * Misc
 */
dl {
  margin: .4em 0 0 0;
  line-height: 1.2;
}

dt {
  font-weight: bold !important;
  margin: 0.4em 0 0 0;
}

.guimenu, .guimenuitem, .guisubmenu,
.guilabel, .interface,
.shortcut, .shortcut .keycap {
  font-weight: bold;
}

.guibutton {
  background-color: #CFCFCF;
  padding: 2px;
}

.button {
  background-color: #CFCFCF !important;
  padding: 2px;
}

.button::before {
  content: "[";
  padding: 0 3px 0 2px;
}

.button::after {
  content: "]";
  padding: 0 2px 0 3px;
}

kbd {
  font-family: "DejaVu Sans", "DejaVu Sans Bold";
  display: inline-block;
  color: rgba(0,0,0,.8);
  font-size: .65em;
  line-height: 1.45;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;
  margin: 0 .15em;
  padding: .2em .5em;
  vertical-align: middle;
  position: relative;
  top: -.1em;
  white-space: nowrap;
}

.package, .port {
  color: #007a00;
  font-family: monospace;
  font-style: italic;
}

.filename {
  color: #007a00;
  font-family: "DejaVu Sans Mono";
  line-height: 14.4px;
}

.address {
  padding-left: 20px;
}

.svnref {
  color: #007a00;
}

.gitref {
  color: #007a00;
}

.help {
  text-align: center;
}

.copyright {
  margin: 16px 0;
}

.legalnotice {
  font-size: small;
  font-variant: small-caps;
}

details {
  margin: 13px 0;
  cursor: pointer;
}

.legalnotice details summary {
  font-size: 16px;
}
