/************************************************************
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
************************************************************/

.Title {
        font-size: 24pt;
        text-align: center;
    }
    .toc1 {
        margin-bottom: 6pt;
        margin-left: 0pt;
        margin-top: 12pt;
    }
    .toc2 {
        margin-bottom: 6pt;
        margin-left: 24pt;
        margin-top: 6pt;
    }
    .toc3 {
        margin-bottom: 6pt;
        margin-left: 48pt;
        margin-top: 6pt;
    }
    body {
        font-family: sans-serif;
        margin: 5%;
    }
    h1 {
        border-bottom: 2px solid rgb(192, 192, 192);
        color: rgb(0, 0, 192);
    }
    h2 {
        color: rgb(0, 0, 192);
    }


a, a:visited {
    color: #0080f0
}

pre {
    background-color: #f0f0f0;
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
}

.definition {
    background-color: #f0f0f0;
    border-radius: 10px;
    margin: 10px;
}

.definition-name {
    background-color: #c0c0c0;
    border-radius: 10px;
    padding: 10px;
}

.definition-content {
    font-family: monospace;
    white-space: pre;
    padding: 10px;
}

.element-start, .element-end {
}

.element-start:before {
    content: "<";
}

.element-start:after {
    content: ">";
}

.element-end:before {
    content: "</";
}

.element-end:after {
    content: ">";
}
