/** Fix margin issues in TypeDoc Theme */
.container-main {
    margin-top: 100px;
    margin-bottom: 100px;
}
h1, .h1 {
    color: #76aeca !important
}

.tsd-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 2px 0px !important;
}

.tsd-navigation ul ul {
    list-style: none !important;
    padding: 0px 5px !important;
    margin: 0px 5px !important;
}

/* Side Nav Menu */
.tsd-navigation ul li a::before {
    color: #888888 !important;
    display: none !important;
}

.tsd-navigation ul li a {
    display: block !important;
    padding-bottom: 0.5rem !important;
    font-weight: 600 !important;
    color: #6f9bb1 !important;
    font-size: 120%;
}

.tsd-navigation ul li ul li a {
    display: block !important;
    padding-bottom: 0rem !important;
    font-weight: 400 !important;
    color: #6f9bb1 !important;
    font-size: 100%;
}

.tsd-navigation ul li:last-child a {
    border-bottom: none !important;
}

.tsd-navigation ul.current li.current>a {
    text-decoration: underline !important;
    color: #709bb1 !important;
    font-weight: 500 !important;
}

.tsd-typography {
    line-height: 1.333em;
}

.tsd-typography ul {
    padding: 0 0 0 20px;
    margin: 0;
}

.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
    font-size: 1em;
    margin: 0;
}

.tsd-typography h5, .tsd-typography h6 {
    font-weight: normal;
}

.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
    margin: 1em 0;
    font-weight: 400;
}

.tsd-page-title {
    padding: 70px 0 20px 0;
    margin: 0 0 40px 0;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
}

.tsd-page-title h1 {
    margin: 0;
}

.tsd-breadcrumb {
    margin: 0;
    padding: 0;
    color: #808080;
}

.tsd-breadcrumb a {
    color: #808080;
    text-decoration: none;
}

.tsd-breadcrumb a:hover {
    text-decoration: underline;
}

.tsd-breadcrumb li {
    display: inline;
}

.tsd-breadcrumb li:after {
    content: " / ";
}

dl.tsd-comment-tags {
    overflow: hidden;
}

dl.tsd-comment-tags dt {
    clear: both;
    float: left;
    padding: 1px 5px;
    margin: 0 10px 0 0;
    border-radius: 4px;
    border: 1px solid #808080;
    color: #808080;
    font-size: 0.8em;
    font-weight: normal;
}

dl.tsd-comment-tags dd {
    margin: 0 0 10px 0;
}

dl.tsd-comment-tags p {
    margin: 0;
}

.tsd-panel.tsd-comment .lead, .tsd-panel.tsd-comment .lead p {
    line-height: 1.333em;
    color: #76aeca !important;
    font-size: 1.8rem !important;
    margin: 0px 0px 20px 0px !important;
    font-weight: 700;
}

.tsd-panel.tsd-comment:last-child {
    margin-bottom: 10px;
}

.toggle-protected .tsd-is-private {
    display: none;
}

.toggle-public .tsd-is-private, .toggle-public .tsd-is-protected, .toggle-public .tsd-is-private-protected {
    display: none;
}

.toggle-inherited .tsd-is-inherited {
    display: none;
}

.toggle-only-exported .tsd-is-not-exported {
    display: none;
}

.toggle-externals .tsd-is-external {
    display: none;
}

#tsd-filter {
    position: relative;
    display: inline-block;
    height: 40px;
    vertical-align: bottom;
}

.no-filter #tsd-filter {
    display: none;
}

#tsd-filter .tsd-filter-group {
    display: inline-block;
    height: 40px;
    vertical-align: bottom;
    white-space: nowrap;
}

#tsd-filter input {
    display: none;
}

@media (max-width: 900px) {
    #tsd-filter .tsd-filter-group {
        display: block;
        position: absolute;
        top: 40px;
        right: 20px;
        height: auto;
        background-color: #fff;
        visibility: hidden;
        -webkit-transform: translate(50%, 0);
        transform: translate(50%, 0);
        box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    }

    .has-options #tsd-filter .tsd-filter-group {
        visibility: visible;
    }

    .to-has-options #tsd-filter .tsd-filter-group {
        -webkit-animation: fade-in 0.2s;
        animation: fade-in 0.2s;
    }

    .from-has-options #tsd-filter .tsd-filter-group {
        -webkit-animation: fade-out 0.2s;
        animation: fade-out 0.2s;
    }

    #tsd-filter label, #tsd-filter .tsd-select {
        display: block;
        padding-right: 20px;
    }
}

footer {
    border-top: 1px solid #eee;
    background-color: #fff;
}

footer.with-border-bottom {
    border-bottom: 1px solid #eee;
}

footer .tsd-legend-group {
    font-size: 0;
}

footer .tsd-legend {
    display: inline-block;
    width: 25%;
    padding: 0;
    font-size: 16px;
    list-style: none;
    line-height: 1.333em;
    vertical-align: top;
}

@media (max-width: 900px) {
    footer .tsd-legend {
        width: 50%;
    }
}

.tsd-hierarchy {
    list-style: none;
    padding: 0 0 0 20px;
    margin: 0;
}

.tsd-hierarchy .target {
    font-weight: bold;
}

.tsd-index-panel .tsd-index-content {
    margin-bottom: -30px !important;
}

.tsd-index-panel .tsd-index-section {
    margin-bottom: 30px !important;
}

.tsd-index-panel h3 {
    margin: 0 -20px 10px -20px;
    padding: 0 0px 10px 0px;
    border-bottom: 1px solid #eee;
}

.tsd-index-panel ul.tsd-index-list {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    -ms-column-count: 3;
    -o-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    -ms-column-gap: 20px;
    -o-column-gap: 20px;
    column-gap: 20px;
    padding: 0;
    list-style: none;
    line-height: 1.333em;
}

@media (max-width: 900px) {
    .tsd-index-panel ul.tsd-index-list {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        -ms-column-count: 1;
        -o-column-count: 1;
        column-count: 1;
    }
}

@media (min-width: 901px) and (max-width: 1024px) {
    .tsd-index-panel ul.tsd-index-list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        -ms-column-count: 2;
        -o-column-count: 2;
        column-count: 2;
    }
}

.tsd-index-panel ul.tsd-index-list li {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    -ms-column-break-inside: avoid;
    -o-column-break-inside: avoid;
    column-break-inside: avoid;
    -webkit-page-break-inside: avoid;
    -moz-page-break-inside: avoid;
    -ms-page-break-inside: avoid;
    -o-page-break-inside: avoid;
    page-break-inside: avoid;
}

.tsd-index-panel a, .tsd-index-panel .tsd-parent-kind-module a {
    color: #81e9e6;
}

.tsd-index-panel .tsd-parent-kind-interface a {
    color: #2a98db;
}

.tsd-index-panel .tsd-parent-kind-enum a {
    color: #2a6fdb;
}

.tsd-index-panel .tsd-parent-kind-class a {
    color: #2980BA;
}

.tsd-index-panel .tsd-kind-module a {
    color: #81e9e6;
}

.tsd-index-panel .tsd-kind-interface a {
    color: #2a98db;
}

.tsd-index-panel .tsd-kind-enum a {
    color: #2a6fdb;
}

.tsd-index-panel .tsd-kind-class a {
    color: #2980BA;
}

.tsd-index-panel .tsd-is-private a {
    color: #808080;
}

.tsd-flag {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 4px;
    color: #fff;
    background-color: #808080;
    text-indent: 0;
    font-size: 14px;
    font-weight: normal;
}

.tsd-anchor {
    position: absolute;
    top: -100px;
}

.tsd-member {
    position: relative;
}

.tsd-member .tsd-anchor+h3 {
    margin-top: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.tsd-navigation {
    padding: 0 0 0 40px;
}

.tsd-navigation a {
    display: block;
    padding-top: 2px;
    padding-bottom: 2px;
    border-left: 2px solid transparent;
    color: #222;
    text-decoration: none;
    -webkit-transition: border-left-color 0.1s;
    transition: border-left-color 0.1s;
}

.tsd-navigation a:hover {
    text-decoration: underline;
}

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

.tsd-navigation li {
    padding: 0;
}

.tsd-navigation.primary {
    padding-bottom: 40px;
}

.tsd-navigation.primary a {
    display: block;
    padding-top: 6px;
    padding-bottom: 6px;
}

.tsd-navigation.primary ul li a {
    padding-left: 5px;
}

.tsd-navigation.primary ul li li a {
    padding-left: 25px;
}

.tsd-navigation.primary ul li li li a {
    padding-left: 45px;
}

.tsd-navigation.primary ul li li li li a {
    padding-left: 65px;
}

.tsd-navigation.primary ul li li li li li a {
    padding-left: 85px;
}

.tsd-navigation.primary ul li li li li li li a {
    padding-left: 105px;
}

.tsd-navigation.primary>ul {
    border-bottom: 1px solid #eee;
}

.tsd-navigation.primary li {
    border-top: 1px solid #eee;
}

.tsd-navigation.primary li.current>a {
    font-weight: bold;
}

.tsd-navigation.primary li.label span {
    display: block;
    padding: 20px 0 6px 5px;
    color: #808080;
}

.tsd-navigation.primary li.globals+li>span, .tsd-navigation.primary li.globals+li>a {
    padding-top: 20px;
}

.tsd-navigation.secondary ul {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.tsd-navigation.secondary ul li a {
    padding-left: 25px;
}

.tsd-navigation.secondary ul li li a {
    padding-left: 45px;
}

.tsd-navigation.secondary ul li li li a {
    padding-left: 65px;
}

.tsd-navigation.secondary ul li li li li a {
    padding-left: 85px;
}

.tsd-navigation.secondary ul li li li li li a {
    padding-left: 105px;
}

.tsd-navigation.secondary ul li li li li li li a {
    padding-left: 125px;
}

.tsd-navigation.secondary li.current>a {
    font-weight: bold;
}

@media (min-width: 901px) {
    .menu-sticky-wrap {
        position: static;
    }

    .no-csspositionsticky .menu-sticky-wrap.sticky {
        position: fixed;
    }

    .no-csspositionsticky .menu-sticky-wrap.sticky-current {
        position: fixed;
    }

    .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.before-current, .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.after-current {
        opacity: 0;
    }

    .no-csspositionsticky .menu-sticky-wrap.sticky-bottom {
        position: absolute;
        top: auto !important;
        left: auto !important;
        bottom: 0;
        right: 0;
    }

    .csspositionsticky .menu-sticky-wrap.sticky {
        position: -webkit-sticky;
        position: sticky;
    }

    .csspositionsticky .menu-sticky-wrap.sticky-current {
        position: -webkit-sticky;
        position: sticky;
    }
}

.tsd-panel {
    margin: 20px 0;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}

.section-no-border {
    margin: 0px !important;
    padding: 0px !important;
    box-shadow: none !important;
}

.tsd-panel:empty {
    display: none;
}

.tsd-panel>h1, .tsd-panel>h2, .tsd-panel>h3 {
    padding: 10px 0px;
    border-bottom: 1px solid #eee;
}

.tsd-panel>h1.tsd-before-signature, .tsd-panel>h2.tsd-before-signature, .tsd-panel>h3.tsd-before-signature {
    margin-bottom: 0;
    border-bottom: 0;
}

.tsd-panel table {
    display: block;
    width: 100%;
    overflow: auto;
    margin-top: 10px;
    word-break: normal;
    word-break: keep-all;
}

.tsd-panel table th {
    font-weight: bold;
}

.tsd-panel table th, .tsd-panel table td {
    padding: 6px 13px;
    border: 1px solid #ddd;
}

.tsd-panel table tr {
    background-color: #fff;
    border-top: 1px solid #ccc;
}

.tsd-panel table tr:nth-child(2n) {
    background-color: #f8f8f8;
}

.tsd-panel-group {
    margin: 0px 0px 20px 0px;
}

.tsd-panel-group>h1, .tsd-panel-group>h2, .tsd-panel-group>h3 {
}

#tsd-search {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

#tsd-search .title {
    position: relative;
    z-index: 2;
}

#tsd-search .field {
    position: absolute;
    left: 0;
    top: 0;
    right: 40px;
    height: 40px;
}

#tsd-search .field input {
    box-sizing: border-box;
    position: relative;
    top: -50px;
    z-index: 1;
    width: 100%;
    padding: 0 10px;
    opacity: 0;
    outline: 0;
    border: 0;
    background: transparent;
    color: #222;
}

#tsd-search .field label {
    position: absolute;
    overflow: hidden;
    right: -40px;
}

#tsd-search .field input, #tsd-search .title {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

#tsd-search .results {
    position: absolute;
    visibility: hidden;
    top: 40px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
}

#tsd-search .results li {
    padding: 0 10px;
    background-color: #fdfdfd;
}

#tsd-search .results li:nth-child(even) {
    background-color: #fff;
}

#tsd-search .results li.state {
    display: none;
}

#tsd-search .results li.current, #tsd-search .results li:hover {
    background-color: #eee;
}

#tsd-search .results a {
    display: block;
}

#tsd-search .results a:before {
    top: 10px;
}

#tsd-search .results span.parent {
    color: #808080;
    font-weight: normal;
}

#tsd-search.has-focus {
    background-color: #eee;
}

#tsd-search.has-focus .field input {
    top: 0;
    opacity: 1;
}

#tsd-search.has-focus .title {
    z-index: 0;
    opacity: 0;
}

#tsd-search.has-focus .results {
    visibility: visible;
}

#tsd-search.loading .results li.state.loading {
    display: block;
}

#tsd-search.failure .results li.state.failure {
    display: block;
}

.tsd-signature {
    margin: 0 0 1em 0;
    padding: 10px;
    border: 1px solid #eee;
    -webkit-font-smoothing: antialiased;
    font-family: 'Open Sans', Montserrat !important;
    font-size: 14px;
}

.tsd-signature.tsd-kind-icon {

}

.tsd-signature.tsd-kind-icon:before {
    top: 10px;
    left: 10px;
}

.tsd-panel>.tsd-signature {
    border-width: 1px 0;
}

.tsd-panel>.tsd-signature.tsd-kind-icon {
    font-size: 16px;
    font-weight: 400;
    color: #76aeca !important;
}

.tsd-panel>.tsd-signature.tsd-kind-icon:before {
    left: 20px;
}

.tsd-signature-symbol {
    color: #808080;
    font-weight: normal;
}

.tsd-signature-type {
    font-style: italic;
    font-weight: normal;
}

.tsd-signatures {
    padding: 0;
    margin: 0 0 1em 0;
    border: 1px solid #eee;
}

.tsd-signatures .tsd-signature {
    margin: 0;
    border-width: 1px 0 0 0;
    -webkit-transition: background-color 0.1s;
    transition: background-color 0.1s;
    list-style: none;
}

.tsd-signatures .tsd-signature:first-child {
    border-top-width: 0;
}

.tsd-signatures .tsd-signature.current {
    background-color: #eee;
}

.tsd-signatures.active>.tsd-signature {
    cursor: pointer;
}

.tsd-panel>.tsd-signatures {
    border-width: 1px 0;
}

.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon {
    font-size: 16px;
    font-weight: 700;
    color: #76aeca !important;
}

.tsd-panel>a.anchor+.tsd-signatures {
    border-top-width: 0;
    margin-top: -20px;
}

ul.tsd-descriptions {
    position: relative;
    overflow: hidden;
    -webkit-transition: height 0.3s;
    transition: height 0.3s;
    padding: 0;
    list-style: none;
}

ul.tsd-descriptions.active>.tsd-description {
    display: none;
}

ul.tsd-descriptions.active>.tsd-description.current {
    display: block;
}

ul.tsd-descriptions.active>.tsd-description.fade-in {
    -webkit-animation: fade-in-delayed 0.3s;
    animation: fade-in-delayed 0.3s;
}

ul.tsd-descriptions.active>.tsd-description.fade-out {
    -webkit-animation: fade-out-delayed 0.3s;
    animation: fade-out-delayed 0.3s;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
}

ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
    font-size: 16px;
    margin: 1em 0 0.5em 0;
}

ul.tsd-parameters, ul.tsd-type-parameters {
    list-style: none;
    margin: 0 0 20px 0;
    padding-left: 20px;
}

ul.tsd-parameters>li.tsd-parameter-siganture, ul.tsd-type-parameters>li.tsd-parameter-siganture {
    list-style: none;
    margin-left: -20px;
}

ul.tsd-parameters h5, ul.tsd-type-parameters h5 {
    font-size: 16px;
    margin: 1em 0 0.5em 0;
}

ul.tsd-parameters .tsd-comment, ul.tsd-type-parameters .tsd-comment {
    margin-top: -0.5em;
}

.tsd-sources {
    font-size: 14px;
    color: #808080;
    margin: 0 0 1em 0;
}

.tsd-sources a {
    color: #808080;
    text-decoration: underline;
}

.tsd-sources ul, .tsd-sources p {
    margin: 0 !important;
}

.tsd-sources ul {
    list-style: none;
    padding: 0;
}

.tsd-page-toolbar {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    color: #333;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.tsd-page-toolbar a {
    color: #333;
    text-decoration: none;
}

.tsd-page-toolbar a.title {
    font-weight: bold;
}

.tsd-page-toolbar a.title:hover {
    text-decoration: underline;
}

.tsd-page-toolbar .table-wrap {
    display: table;
    width: 100%;
    height: 40px;
}

.tsd-page-toolbar .table-cell {
    display: table-cell;
    position: relative;
    white-space: nowrap;
    line-height: 40px;
}

.tsd-page-toolbar .table-cell:first-child {
    width: 100%;
}

.tsd-widget {
    display: inline-block;
    overflow: hidden;
    opacity: 0.6;
    height: 40px;
    -webkit-transition: opacity 0.1s, background-color 0.2s;
    transition: opacity 0.1s, background-color 0.2s;
    vertical-align: bottom;
    cursor: pointer;
}

.tsd-widget:hover {
    opacity: 0.8;
}

.tsd-widget.active {
    opacity: 1;
    background-color: #eee;
}

.tsd-widget.no-caption {
    width: 40px;
}

.tsd-widget.no-caption:before {
    margin: 0;
}

.tsd-widget.search:before {
    background-position: 0 0;
}

.tsd-widget.menu:before {
    background-position: -40px 0;
}

.tsd-widget.options:before {
    background-position: -80px 0;
}

.tsd-widget.options, .tsd-widget.menu {
    display: none;
}

@media (max-width: 900px) {
    .tsd-widget.options, .tsd-widget.menu {
        display: inline-block;
    }
}

input[type=checkbox]+.tsd-widget:before {
    background-position: -120px 0;
}

input[type=checkbox]:checked+.tsd-widget:before {
    background-position: -160px 0;
}

.tsd-select {
    position: relative;
    display: inline-block;
    height: 40px;
    -webkit-transition: opacity 0.1s, background-color 0.2s;
    transition: opacity 0.1s, background-color 0.2s;
    vertical-align: bottom;
    cursor: pointer;
}

.tsd-select .tsd-select-label {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.tsd-select .tsd-select-label:before {
    background-position: -240px 0;
}

.tsd-select.active .tsd-select-label {
    opacity: 0.8;
}

.tsd-select.active .tsd-select-list {
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.tsd-select .tsd-select-list {
    position: absolute;
    visibility: hidden;
    top: 40px;
    left: 0;
    margin: 0;
    padding: 0;
    opacity: 0;
    list-style: none;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    -webkit-transition: visibility 0s 0.2s, opacity 0.2s;
    transition: visibility 0s 0.2s, opacity 0.2s;
}

.tsd-select .tsd-select-list li {
    padding: 0 20px 0 0;
    background-color: #fdfdfd;
}

.tsd-select .tsd-select-list li:before {
    background-position: 40px 0;
}

.tsd-select .tsd-select-list li:nth-child(even) {
    background-color: #fff;
}

.tsd-select .tsd-select-list li:hover {
    background-color: #eee;
}

.tsd-select .tsd-select-list li.selected:before {
    background-position: -200px 0;
}

@media (max-width: 900px) {
    .tsd-select .tsd-select-list {
        top: 0;
        left: auto;
        right: 100%;
        margin-right: -5px;
    }

    .tsd-select .tsd-select-label:before {
        background-position: -280px 0;
    }
}
