/*************** START SCROLLBAR BASE CSS ***************/

.scroll-wrapper {
  position: relative;
  padding: 0 !important;
  overflow: hidden !important;
}

.scroll-wrapper>.scroll-content {
  position: relative !important;
  top: 0;
  left: 0;
  width: auto !important;
  height: auto;
  max-width: none !important;
  max-height: none;
  margin: 0;
  padding: 0;
  border: none !important;
  box-sizing: content-box !important;
  overflow: scroll !important;
}

.scroll-wrapper>.scroll-content::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.scroll-element {
  display: none;
}

.scroll-element,
.scroll-element div {
  box-sizing: content-box;
}

.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
  display: block;
}

.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
  cursor: default;
}

.scroll-textarea {
  border: 1px solid #cccccc;
  border-top-color: #999999;
}

.scroll-textarea>.scroll-content {
  overflow: hidden !important;
}

.scroll-textarea>.scroll-content>textarea {
  position: relative !important;
  top: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0;
  padding: 2px;
  border: none !important;
  box-sizing: border-box;
  outline: none;
  overflow: scroll !important;
}

.scroll-textarea>.scroll-content>textarea::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/*************** END SCROLLBAR BASE CSS ***************/

/*************** START HAS SCROLL Y ***************/

.has-scroll-y>.scroll-content {
  padding-right: 15px;
}

.has-scroll-y>.scroll-element,
.has-scroll-y>.scroll-element div {
  position: absolute;
  z-index: 10;
  margin: 0;
  padding: 0;
  border: none;
}

.has-scroll-y>.scroll-element div {
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.has-scroll-y>.scroll-element.scroll-x {
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 8px;
}

.has-scroll-y>.scroll-element.scroll-y {
  top: 0;
  right: 2px;
  width: 5px;
  height: 100%;
}

.has-scroll-y>.scroll-element .scroll-element_outer {
  overflow: hidden;
}

.has-scroll-y>.scroll-element .scroll-element_outer,
.has-scroll-y>.scroll-element .scroll-element_track,
.has-scroll-y>.scroll-element .scroll-bar {
  border-radius: 5px;
}

.has-scroll-y>.scroll-element .scroll-element_track,
.has-scroll-y>.scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  opacity: 1;
}

.has-scroll-y>.scroll-element .scroll-element_track { background-color: #F5F5F5; }
.has-scroll-y>.scroll-element .scroll-bar { background-color: #9C9C9C; }
.has-scroll-y>.scroll-element .scroll-bar:hover { background-color: #9C9C9C; }
.has-scroll-y>.scroll-element.scroll-draggable .scroll-bar { background-color: #9C9C9C; }

/* update scrollbar offset if both scrolls are visible */
.has-scroll-y>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left: -12px; }
.has-scroll-y>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top: -12px; }

.has-scroll-y>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; }
.has-scroll-y>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; }

/*************** END HAS SCROLL Y ***************/

/*************** START HAS SCROLL Y PC ***************/
@media only screen and (min-width: 768px) {
  .has-scroll-y-pc>.scroll-content {
    padding-right: 15px;
  }

  .has-scroll-y-pc>.scroll-element,
  .has-scroll-y-pc>.scroll-element div {
    position: absolute;
    z-index: 10;
    margin: 0;
    padding: 0;
    border: none;
  }

  .has-scroll-y-pc>.scroll-element div {
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .has-scroll-y-pc>.scroll-element.scroll-x {
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 8px;
  }

  .has-scroll-y-pc>.scroll-element.scroll-y {
    top: 0;
    right: 2px;
    width: 5px;
    height: 100%;
  }

  .has-scroll-y-pc>.scroll-element .scroll-element_outer {
    overflow: hidden;
  }

  .has-scroll-y-pc>.scroll-element .scroll-element_outer,
  .has-scroll-y-pc>.scroll-element .scroll-element_track,
  .has-scroll-y-pc>.scroll-element .scroll-bar {
    border-radius: 5px;
  }

  .has-scroll-y-pc>.scroll-element .scroll-element_track,
  .has-scroll-y-pc>.scroll-element .scroll-bar {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
    filter: alpha(opacity=40);
    opacity: 1;
  }

  .has-scroll-y-pc>.scroll-element .scroll-element_track { background-color: #F5F5F5; }
  .has-scroll-y-pc>.scroll-element .scroll-bar { background-color: #9C9C9C; }
  .has-scroll-y-pc>.scroll-element .scroll-bar:hover { background-color: #9C9C9C; }
  .has-scroll-y-pc>.scroll-element.scroll-draggable .scroll-bar { background-color: #9C9C9C; }

  /* update scrollbar offset if both scrolls are visible */
  .has-scroll-y-pc>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left: -12px; }
  .has-scroll-y-pc>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top: -12px; }

  .has-scroll-y-pc>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; }
  .has-scroll-y-pc>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; }
}
/*************** END HAS SCROLL Y PC ***************/

/*************** START HAS SCROLL X ***************/

.has-scroll-x>.scroll-content {
  padding-bottom: 12px;
}

.has-scroll-x>.scroll-element,
.has-scroll-x>.scroll-element div {
  position: absolute;
  z-index: 10;
  margin: 0;
  padding: 0;
  border: none;
}

.has-scroll-x>.scroll-element div {
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.has-scroll-x>.scroll-element.scroll-x {
  right: 2px;
  bottom: 0;
  width: 100%;
  height: 4px;
}

.has-scroll-x>.scroll-element.scroll-y {
  display: none;
}

.has-scroll-x>.scroll-element .scroll-element_outer {
  overflow: hidden;
}

.has-scroll-x>.scroll-element .scroll-element_outer,
.has-scroll-x>.scroll-element .scroll-element_track,
.has-scroll-x>.scroll-element .scroll-bar {
  border-radius: 4px;
}

.has-scroll-x>.scroll-element .scroll-element_track,
.has-scroll-x>.scroll-element .scroll-bar {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  filter: alpha(opacity=40);
  opacity: 1;
}

.has-scroll-x>.scroll-element .scroll-element_track { background-color: #F5F5F5; }
.has-scroll-x>.scroll-element .scroll-bar { background-color: #9C9C9C; }
.has-scroll-x>.scroll-element .scroll-bar:hover { background-color: #9C9C9C; }
.has-scroll-x>.scroll-element.scroll-draggable .scroll-bar { background-color: #9C9C9C; }

/* update scrollbar offset if both scrolls are visible */
.has-scroll-x>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left: -12px; }
.has-scroll-x>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top: -12px; }

.has-scroll-x>.scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; }
.has-scroll-x>.scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; }

/*************** END HAS SCROLL X ***************/