.scroll_custom{
	overflow: auto;
}
.vscroll,
.vscroll_custom{
	overflow-y: auto;
}
.hscroll{
	overflow-x: auto;
}
@media (pointer:fine) {
	/* Custom Scrollbar on webkit */
	.scroll_custom::-webkit-scrollbar,
	.vscroll_custom::-webkit-scrollbar,
	.hscroll::-webkit-scrollbar{
		width: 12px;
		height: 12px;
	}
	.scroll_custom::-webkit-scrollbar-thumb,
	.vscroll_custom::-webkit-scrollbar-thumb,
	.hscroll::-webkit-scrollbar-thumb{
		background: rgba(0,0,0,.1);
		background-clip: content-box;
		border: solid 4px rgba(255,255,255,0);
		border-radius: 12px;
	}
	.scroll_custom::-webkit-scrollbar-thumb:hover,
	.vscroll_custom::-webkit-scrollbar-thumb:hover,
	.hscroll::-webkit-scrollbar-thumb:hover{
		background-color: rgba(0,0,0,.4);
	}
}

/* Shadow */
.scroll_shadow{
	position: relative;
}
.scroll_shadow::before{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 0;
	top: 0;
	transition: height 200ms;
}
.scroll_shadow.scroll_shadow_bottom::before{
	top: 100%;
}
.scroll_shadow.scroll_shadow_top::before{
	bottom: 100%;
	top: auto;
}
.scroll_shadow.scroll_shadow_bottom.scroll_shadow_border::before{
	margin-top: -1px;
}
.scroll_shadow.scrolling::before{
	z-index: 1;
	height: 7px;
	background-image: linear-gradient(to bottom, rgba(0,0,0, .07) 0%, rgba(0,0,0, 0) 100%);
}
.scroll_shadow.scrolling.scroll_shadow_top::before{
	background-image: linear-gradient(to top, rgba(0,0,0, .07) 0%, rgba(0,0,0, 0) 100%);
}
@media print{
	.scroll_shadow.scrolling::before{
		display: none;
	}
}