/*! 
 * OverlayScrollbars
 * Version: 2.12.0
 * 
 * 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]:not([data-overlayscrollbars-viewport]), [data-overlayscrollbars-viewport~=scrollbarHidden], html[data-overlayscrollbars-viewport~=scrollbarHidden]>body {
  scrollbar-width: none !important
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar, [data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar, [data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner, html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar, html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-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;
  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~=host] {
  overflow: hidden !important
}

[data-overlayscrollbars-padding~=noClipping], [data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping] {
  overflow: visible !important
}

[data-overlayscrollbars-viewport] {
  --os-viewport-overflow-x: hidden;
  --os-viewport-overflow-y: hidden;
  overflow-x: var(--os-viewport-overflow-x);
  overflow-y: var(--os-viewport-overflow-y)
}

[data-overlayscrollbars-viewport~=overflowXVisible] {
  --os-viewport-overflow-x: visible
}

[data-overlayscrollbars-viewport~=overflowXHidden] {
  --os-viewport-overflow-x: hidden
}

[data-overlayscrollbars-viewport~=overflowXScroll] {
  --os-viewport-overflow-x: scroll
}

[data-overlayscrollbars-viewport~=overflowYVisible] {
  --os-viewport-overflow-y: visible
}

[data-overlayscrollbars-viewport~=overflowYHidden] {
  --os-viewport-overflow-y: hidden
}

[data-overlayscrollbars-viewport~=overflowYScroll] {
  --os-viewport-overflow-y: scroll
}

[data-overlayscrollbars-viewport~=overflowImportant] {
  overflow-x: var(--os-viewport-overflow-x) !important;
  overflow-y: var(--os-viewport-overflow-y) !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~=measuring], [data-overlayscrollbars-viewport~=scrolling] {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible] {
  overflow-x: hidden !important
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible] {
  overflow-y: hidden !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)
}
