body {
    font-family: 'Open Sans', sans-serif;
    padding: 20pt;
}

div.entry {
    margin-left: 20pt;
    margin-right: 20pt;
    margin-top: 3em;
    break-inside: avoid;
}

.selector {
    font-size: 1em;
}

.selector a::before {
    content: "\25BA\00a0";
}

.fault td {
    background-color: mistyrose;
}

.namespace {
    font-size: 8pt;
    font-weight: normal;
    background-color: darkslateblue;
    color: white;
    padding: 0.2em 0.4em;
    border-radius: 3pt;
}

.namespace::before {
    content: "Namespace: ";
}

a {
    white-space: nowrap;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

dt {
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: 1em;
}

h1 {
    font-size: 3.5em;
    font-weight: normal;
}

h2 {
    font-weight: normal;
    font-size: 2em;
}

.operations h2 {
    margin-left: -20pt;
    padding-left: 5pt;
}

.operations h2::before {
    padding: 0 0.2em;
    font-size: 0.6em;
    padding: 0.2em 0.4em;
    display: block;
    float: left;
    margin-top: 0.2em;
    color: white;
    width: 4em;
    text-align: center;
    margin-left: -5pt;
    margin-right: 5pt;
    border-radius: 5pt;
}

h3 {
    margin-top: 2em;
}

h4 {
    font-style: italic;
    font-weight: normal;
}

div.member,
div.exceptions {
    padding-left: 1em;
}

.soap table tr td:first-child {
    width: 12em;
}

.soap .model::before {
    content: "<";
}

.soap .model::after {
    content: ">";
}

.soap span.repeatable::after, .soap span.required::after {
    text-transform: uppercase;
    display: inline-block;
    margin-left: 1em;
    font-size: 8pt;
    font-weight: normal;
    padding: 0.2em 0.4em;
    border-radius: 3pt;
}

.soap span.repeatable::after {
    content: "unbounded";
    background-color: gold;
}

.soap span.required::after {
    content: "required";
    background-color: lightcoral;
}

.rest .namespace {
    display: none;
}

.rest span.repeatable::before {
    content: "Array<";
}

.rest span.repeatable::after {
    content: ">";
}

.rest span.required::after {
    text-transform: uppercase;
    display: inline-block;
    margin-left: 1em;
    font-size: 8pt;
    font-weight: normal;
    padding: 0.2em 0.4em;
    border-radius: 3pt;
    content: "required";
    background-color: lightcoral;
}

table {
    border-collapse: collapse;
    width: 100%;
}

table th, table td {
    padding: 0.4em;
    border-width: 1pt;
    border-style: solid;
    border-color: darkslateblue;
}

table th {
    color: white;
    background-color: darkslateblue;
    font-weight: normal;
    white-space: nowrap;
}

table td {
    background-color: ghostwhite;
}

table td ul {
    padding-left: 1.5em;
    margin: 0;
}

table tfoot td {
    font-size: 8pt;
    font-weight: normal;
    text-align: left;
    background-color: darkslateblue;
    color: white;
}

.post h2::before {
    content: "POST";
    background-color: darkgoldenrod;
}

.post td {
    border-color: darkgoldenrod;
    background-color: lightyellow;
}

.post th {
    border-color: darkgoldenrod;
    background-color: darkgoldenrod;
}

.get h2::before {
    content: "GET";
    background-color: forestgreen;
}

.get td {
    border-color: forestgreen;
    background-color: mintcream;
}

.get th {
    border-color: forestgreen;
    background-color: forestgreen;
}

.delete h2::before {
    content: "DELETE";
    background-color: indianred;
}

.delete td {
    border-color: indianred;
    background-color: mistyrose;
}

.delete th {
    border-color: indianred;
    background-color: indianred;
}

p.deprecated {
    font-weight: bold;
    font-style: italic;
}

span.deprecated {
    text-decoration: line-through;
}

span.extends {
    font-weight: normal;
}

span.package {
    font-size: 8pt;
    background-color: steelblue;
    padding: 0.5em 1em;
    border-radius: 0.5em;
    color: white;
    font-weight: normal;
    margin-left: 1em;
}

span.package span.package-name {
    font-weight: bold;
}

span.soap-title {
    font-weight: normal;
    font-size: smaller;
}

span.soap-title span.name {
    font-weight: bold;
    font-size: larger;
}

span.soap-title span.type::before,
span.soap-title span.min::before,
span.soap-title span.max::before {
    font-weight: normal;
    white-space: nowrap;
}

span.soap-title span.type::before {
    content: "Type: ";
}

span.soap-title span.min::before {
    content: "Min: ";
}

span.soap-title span.max::before {
    content: "Max: ";
}

span.soap-title span.type,
span.soap-title span.min,
span.soap-title span.max {
    font-weight: bold;
    background-color: lightgray;
    padding: 0.1em 0.5em;
    border-radius: 0.5em;
    margin-left: 1em;
}

@media screen {
    html {
        background-color: whitesmoke;
    }
    body {
        width: 800px;
        margin: auto;
        margin-bottom: 10pt;
        margin-top: 10pt;
        background-color: white;
        border: 1pt solid #e5e5e5 !important;
        -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
        -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
        box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
    }
    h2 {
        margin-right: -20pt;
    }
    nav {
        position: fixed;
        left: 10pt;
        top: 10pt;
        padding: 1em;
        font-size: smaller;
        background-color: white;
        max-width: 320px;
        max-height: 90vh;
        overflow-y: auto;
        border: 1pt solid #e5e5e5 !important;
        -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
        -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
        box-shadow: rgba(0, 0, 0, 0.3) 0 1px 3px;
    }
    nav ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }
    nav .heading {
        font-weight: bold;
        margin: 1em 0;
    }
    nav .ref {
        margin-top: 1em;
    }
}

@media screen and (max-width: 1520px) {
    body {
        margin-left: 30%;
    }
}

@media screen and (max-width: 1280px) {
    body {
        margin: 0;
        margin-left: 340px;
        margin-right: 0;
        width: auto;
    }
    #nav {
        width: 340px;
        max-width: 340px;
        margin-right: 0;
        left: 0;
        top: 0;
        box-sizing: border-box;
    }
    h2 {
        margin-right: 0;
    }
}

@media screen and (max-width: 1024px) {
    body {
        margin: 0;
    }
    section {
        padding-left: 1em;
    }
    nav {
        position: static;
        border: none !important;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        font-size: 12pt;
        height: auto;
        max-height: initial;
        width: 100% !important;
        max-width: 100% !important;
    }
    nav li,
    nav .ref {
        padding: 0.2em;
    }
    h2, div.entry {
        margin-left: 0;
        margin-right: 0;
    }
}

@media print {
    @page {
        size: A4;
        margin: 2cm;
    }
    body {
        font-size: 10pt;
    }
    nav, .selector {
        display: none;
    }
    h2 {
        margin-right: 0;
    }
    article {
        break-after: always;
    }
}
