﻿/*! 
 * OverlayScrollbars
 * Version: 2.10.1
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */

.os-size-observer, .os-size-observer-listener {
    box-sizing: border-box;
    direction: inherit;
    overflow: hidden;
    pointer-events: none;
    scroll-behavior: auto !important;
    visibility: hidden
}

.os-size-observer, .os-size-observer-listener, .os-size-observer-listener-item, .os-size-observer-listener-item-final {
    left: 0;
    position: absolute;
    top: 0;
    writing-mode: horizontal-tb
}

.os-size-observer {
    border: inherit;
    bottom: 0;
    box-sizing: inherit;
    contain: strict;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    left: 0;
    margin: -133px;
    padding: inherit;
    right: 0;
    top: 0;
    transform: scale(.1);
    z-index: -1
}

    .os-size-observer:before {
        box-sizing: inherit;
        content: "";
        flex: none;
        height: 10px;
        padding: 10px;
        width: 10px
    }

.os-size-observer-appear {
    animation: os-size-observer-appear-animation 1ms forwards
}

.os-size-observer-listener {
    border: inherit;
    box-sizing: border-box;
    flex: auto;
    margin: -133px;
    padding: inherit;
    position: relative;
    transform: scale(10)
}

    .os-size-observer-listener.ltr {
        margin-left: 0;
        margin-right: -266px
    }

    .os-size-observer-listener.rtl {
        margin-left: -266px;
        margin-right: 0
    }

    .os-size-observer-listener:empty:before {
        content: "";
        height: 100%;
        width: 100%
    }

    .os-size-observer-listener:empty:before, .os-size-observer-listener > .os-size-observer-listener-item {
        border: inherit;
        box-sizing: content-box;
        display: block;
        flex: auto;
        padding: inherit;
        position: relative
    }

.os-size-observer-listener-scroll {
    box-sizing: border-box;
    display: flex
}

.os-size-observer-listener-item {
    bottom: 0;
    direction: ltr;
    flex: none;
    overflow: hidden;
    right: 0
}

.os-size-observer-listener-item-final {
    transition: none
}

@keyframes os-size-observer-appear-animation {
    0% {
        cursor: auto
    }

    to {
        cursor: none
    }
}

.os-trinsic-observer {
    border: none;
    box-sizing: border-box;
    contain: strict;
    flex: none;
    height: 0;
    margin: 0;
    max-height: 1px;
    max-width: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    top: calc(100% + 1px);
    z-index: -1
}

    .os-trinsic-observer:not(:empty) {
        height: calc(100% + 1px);
        top: -1px
    }

        .os-trinsic-observer:not(:empty) > .os-size-observer {
            height: 1000%;
            min-height: 1px;
            min-width: 1px;
            width: 1000%
        }

[data-overlayscrollbars-initialize], [data-overlayscrollbars-viewport~=scrollbarHidden] {
    scrollbar-width: none !important
}

    [data-overlayscrollbars-initialize]::-webkit-scrollbar, [data-overlayscrollbars-initialize]::-webkit-scrollbar-corner, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner {
        -webkit-appearance: none !important;
        appearance: none !important;
        display: none !important;
        height: 0 !important;
        width: 0 !important
    }

    [data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
        overflow: auto
    }

html[data-overlayscrollbars-body] {
    overflow: hidden
}

    html[data-overlayscrollbars-body], html[data-overlayscrollbars-body] > body {
        height: 100%;
        margin: 0;
        width: 100%
    }

        html[data-overlayscrollbars-body] > body {
            margin: 0;
            overflow: visible
        }

[data-overlayscrollbars] {
    position: relative
}

[data-overlayscrollbars-padding], [data-overlayscrollbars~=host] {
    align-items: stretch !important;
    display: flex;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    scroll-behavior: auto !important
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
    border: none;
    box-sizing: inherit;
    flex: auto !important;
    height: auto;
    margin: 0;
    min-width: 0;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 0
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
    --os-vaw: 0;
    --os-vah: 0;
    outline: none
}

    [data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus {
        outline: none
    }

[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before {
    content: "";
    height: var(--os-vah);
    min-height: 1px;
    min-width: 1px;
    pointer-events: none;
    position: absolute;
    width: var(--os-vaw);
    z-index: -1
}

[data-overlayscrollbars-padding], [data-overlayscrollbars-viewport], [data-overlayscrollbars] {
    overflow: hidden !important
}

[data-overlayscrollbars-padding~=noClipping], [data-overlayscrollbars~=noClipping] {
    overflow: visible !important
}

[data-overlayscrollbars-viewport~=measuring] {
    overflow: hidden !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important
}

[data-overlayscrollbars-viewport~=overflowXVisible]:not([data-overlayscrollbars-viewport~=measuring]) {
    overflow-x: visible !important
}

[data-overlayscrollbars-viewport~=overflowXHidden] {
    overflow-x: hidden !important
}

[data-overlayscrollbars-viewport~=overflowXScroll] {
    overflow-x: scroll !important
}

[data-overlayscrollbars-viewport~=overflowYVisible]:not([data-overlayscrollbars-viewport~=measuring]) {
    overflow-y: visible !important
}

[data-overlayscrollbars-viewport~=overflowYHidden] {
    overflow-y: hidden !important
}

[data-overlayscrollbars-viewport~=overflowYScroll] {
    overflow-y: scroll !important
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) {
    font-size: 0 !important;
    line-height: 0 !important
}

    [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after, [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before, [data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) > * {
        clip: rect(0,0,0,0) !important;
        border-width: 0 !important;
        display: none !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        white-space: nowrap !important;
        width: 1px !important
    }

[data-overlayscrollbars-viewport~=scrolling] {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important
}

[data-overlayscrollbars-content] {
    box-sizing: inherit
}

[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
    display: contents
}

[data-overlayscrollbars-grid], [data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
    display: grid;
    grid-template: 1fr/1fr
}

    [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding], [data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport], [data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport] {
        height: auto !important;
        width: auto !important
    }

@property --os-scroll-percent {
    syntax: "<number>";
    inherits: true;
    initial-value: 0
}

@property --os-viewport-percent {
    syntax: "<number>";
    inherits: true;
    initial-value: 0
}

.os-scrollbar {
    --os-viewport-percent: 0;
    --os-scroll-percent: 0;
    --os-scroll-direction: 0;
    --os-scroll-percent-directional: calc(var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent))*-1)*var(--os-scroll-direction));
    contain: size layout;
    contain: size layout style;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;
    visibility: hidden
}

body > .os-scrollbar {
    position: fixed;
    z-index: 99999
}

.os-scrollbar-transitionless {
    transition: none !important
}

.os-scrollbar-track {
    border: none !important;
    padding: 0 !important;
    position: relative
}

.os-scrollbar-handle {
    position: absolute
}

.os-scrollbar-handle, .os-scrollbar-track {
    height: 100%;
    pointer-events: none;
    width: 100%
}

.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle, .os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track {
    pointer-events: auto;
    touch-action: none
}

.os-scrollbar-horizontal {
    bottom: 0;
    left: 0
}

.os-scrollbar-vertical {
    right: 0;
    top: 0
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
    right: 0
}

.os-scrollbar-rtl.os-scrollbar-vertical {
    left: 0;
    right: auto
}

.os-scrollbar-visible {
    opacity: 1;
    visibility: visible
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
    opacity: 0;
    visibility: hidden
}

.os-scrollbar-interaction.os-scrollbar-visible {
    opacity: 1;
    visibility: visible
}

.os-scrollbar-unusable, .os-scrollbar-unusable *, .os-scrollbar-wheel, .os-scrollbar-wheel * {
    pointer-events: none !important
}

    .os-scrollbar-unusable .os-scrollbar-handle {
        opacity: 0 !important;
        transition: none !important
    }

.os-scrollbar-horizontal .os-scrollbar-handle {
    bottom: 0;
    left: calc(var(--os-scroll-percent-directional)*100%);
    transform: translateX(calc(var(--os-scroll-percent-directional)*-100%));
    width: calc(var(--os-viewport-percent)*100%)
}

.os-scrollbar-vertical .os-scrollbar-handle {
    height: calc(var(--os-viewport-percent)*100%);
    right: 0;
    top: calc(var(--os-scroll-percent-directional)*100%);
    transform: translateY(calc(var(--os-scroll-percent-directional)*-100%))
}

@supports (container-type:size) {
    .os-scrollbar-track {
        container-type: size
    }

    .os-scrollbar-horizontal .os-scrollbar-handle {
        left: auto;
        transform: translateX(calc(var(--os-scroll-percent-directional)*100cqw + var(--os-scroll-percent-directional)*-100%))
    }

    .os-scrollbar-vertical .os-scrollbar-handle {
        top: auto;
        transform: translateY(calc(var(--os-scroll-percent-directional)*100cqh + var(--os-scroll-percent-directional)*-100%))
    }

    .os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle {
        left: 0;
        right: auto
    }
}

.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
    left: 0;
    right: auto
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
    left: 0;
    right: 0
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless, .os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
    bottom: 0;
    top: 0
}

@media print {
    .os-scrollbar {
        display: none
    }
}

.os-scrollbar {
    --os-size: 0;
    --os-padding-perpendicular: 0;
    --os-padding-axis: 0;
    --os-track-border-radius: 0;
    --os-track-bg: none;
    --os-track-bg-hover: none;
    --os-track-bg-active: none;
    --os-track-border: none;
    --os-track-border-hover: none;
    --os-track-border-active: none;
    --os-handle-border-radius: 0;
    --os-handle-bg: none;
    --os-handle-bg-hover: none;
    --os-handle-bg-active: none;
    --os-handle-border: none;
    --os-handle-border-hover: none;
    --os-handle-border-active: none;
    --os-handle-min-size: 33px;
    --os-handle-max-size: none;
    --os-handle-perpendicular-size: 100%;
    --os-handle-perpendicular-size-hover: 100%;
    --os-handle-perpendicular-size-active: 100%;
    --os-handle-interactive-area-offset: 0
}

.os-scrollbar-track {
    background: var(--os-track-bg);
    border: var(--os-track-border);
    border-radius: var(--os-track-border-radius);
    transition: opacity .15s,background-color .15s,border-color .15s
}

    .os-scrollbar-track:hover {
        background: var(--os-track-bg-hover);
        border: var(--os-track-border-hover)
    }

    .os-scrollbar-track:active {
        background: var(--os-track-bg-active);
        border: var(--os-track-border-active)
    }

.os-scrollbar-handle {
    background: var(--os-handle-bg);
    border: var(--os-handle-border);
    border-radius: var(--os-handle-border-radius)
}

    .os-scrollbar-handle:hover {
        background: var(--os-handle-bg-hover);
        border: var(--os-handle-border-hover)
    }

    .os-scrollbar-handle:active {
        background: var(--os-handle-bg-active);
        border: var(--os-handle-border-active)
    }

    .os-scrollbar-handle:before, .os-scrollbar-track:before {
        bottom: 0;
        content: "";
        display: block;
        left: 0;
        position: absolute;
        right: 0;
        top: 0
    }

.os-scrollbar-horizontal {
    height: var(--os-size);
    padding: var(--os-padding-perpendicular) var(--os-padding-axis);
    right: var(--os-size)
}

    .os-scrollbar-horizontal.os-scrollbar-rtl {
        left: var(--os-size);
        right: 0
    }

    .os-scrollbar-horizontal .os-scrollbar-track:before {
        bottom: calc(var(--os-padding-perpendicular)*-1);
        top: calc(var(--os-padding-perpendicular)*-1)
    }

    .os-scrollbar-horizontal .os-scrollbar-handle {
        height: var(--os-handle-perpendicular-size);
        max-width: var(--os-handle-max-size);
        min-width: var(--os-handle-min-size);
        transition: opacity .15s,background-color .15s,border-color .15s,height .15s
    }

        .os-scrollbar-horizontal .os-scrollbar-handle:before {
            bottom: calc(var(--os-padding-perpendicular)*-1);
            top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1)
        }

    .os-scrollbar-horizontal:hover .os-scrollbar-handle {
        height: var(--os-handle-perpendicular-size-hover)
    }

    .os-scrollbar-horizontal:active .os-scrollbar-handle {
        height: var(--os-handle-perpendicular-size-active)
    }

.os-scrollbar-vertical {
    bottom: var(--os-size);
    padding: var(--os-padding-axis) var(--os-padding-perpendicular);
    width: var(--os-size)
}

    .os-scrollbar-vertical .os-scrollbar-track:before {
        left: calc(var(--os-padding-perpendicular)*-1);
        right: calc(var(--os-padding-perpendicular)*-1)
    }

    .os-scrollbar-vertical .os-scrollbar-handle {
        max-height: var(--os-handle-max-size);
        min-height: var(--os-handle-min-size);
        transition: opacity .15s,background-color .15s,border-color .15s,width .15s;
        width: var(--os-handle-perpendicular-size)
    }

        .os-scrollbar-vertical .os-scrollbar-handle:before {
            left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1);
            right: calc(var(--os-padding-perpendicular)*-1)
        }

    .os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
        left: calc(var(--os-padding-perpendicular)*-1);
        right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1)
    }

    .os-scrollbar-vertical:hover .os-scrollbar-handle {
        width: var(--os-handle-perpendicular-size-hover)
    }

    .os-scrollbar-vertical:active .os-scrollbar-handle {
        width: var(--os-handle-perpendicular-size-active)
    }

.os-theme-none.os-scrollbar, [data-overlayscrollbars-viewport~=measuring] > .os-scrollbar {
    display: none !important
}

.os-theme-dark, .os-theme-light {
    --os-size: 10px;
    --os-padding-perpendicular: 2px;
    --os-padding-axis: 2px;
    --os-track-border-radius: 10px;
    --os-handle-interactive-area-offset: 4px;
    --os-handle-border-radius: 10px;
    box-sizing: border-box
}

.os-theme-dark {
    --os-handle-bg: rgba(0,0,0,.44);
    --os-handle-bg-hover: rgba(0,0,0,.55);
    --os-handle-bg-active: rgba(0,0,0,.66)
}

.os-theme-light {
    --os-handle-bg: hsla(0,0%,100%,.44);
    --os-handle-bg-hover: hsla(0,0%,100%,.55);
    --os-handle-bg-active: hsla(0,0%,100%,.66)
}
