.fl-scrolls {
    overflow: auto;
    position: fixed;
}

.fl-scrolls div {
    overflow: hidden;
    pointer-events: none;
}

.fl-scrolls div::before {
    content: "\A0"; /* fixes #6 */
}

.fl-scrolls,
.fl-scrolls div {
    font-size: 1px;
    line-height: 0;
    margin: 0;
    padding: 0;
}

.fl-scrolls-hidden div::before {
    content: "\A0\A0"; /* changing content fixes eventual bug with widget re-rendering in Chrome */
}

.fl-scrolls-viewport {
    /* It can be any type of positioning except static. Redefine in your CSS as needed */
    position: relative;
}

.fl-scrolls-body {
    overflow: auto;
}

.fl-scrolls-viewport .fl-scrolls {
    position: absolute;
}

.fl-scrolls-hoverable .fl-scrolls {
    opacity: 0;
    transition: opacity 0.5s ease 0.3s;
}

.fl-scrolls-hoverable:hover .fl-scrolls {
    opacity: 1;
}


/* Orientation-specific styles */

.fl-scrolls[data-orientation="horizontal"],
.fl-scrolls:not([data-orientation]) { /* handling cases with no data attribute for backward compatibility */
    bottom: 0;
    min-height: 17px; /* based on https://codepen.io/sambible/post/browser-scrollbar-widths (fixes Amphiluke/handy-scroll#3) */
}

.fl-scrolls[data-orientation="horizontal"] div,
.fl-scrolls:not([data-orientation]) div {
    height: 1px;
}

.fl-scrolls-hidden.fl-scrolls[data-orientation="horizontal"],
.fl-scrolls-hidden.fl-scrolls:not([data-orientation]) {
    bottom:9999px;
}

.fl-scrolls-viewport .fl-scrolls[data-orientation="horizontal"],
.fl-scrolls-viewport .fl-scrolls:not([data-orientation]) {
    left:0;
}

.fl-scrolls[data-orientation="vertical"] {
    right: 0;
    min-width: 17px;
}

.fl-scrolls[data-orientation="vertical"] div {
    width: 1px;
}

.fl-scrolls-hidden.fl-scrolls[data-orientation="vertical"] {
    right: 9999px;
}

.fl-scrolls-viewport .fl-scrolls[data-orientation="vertical"] {
    top: 0;
}
