:root { --eox-slider-thumb-height: 20px; --eox-slider-thumb-width: 20px; --eox-slider-track-height: 6px; --eox-slider-track-color: var(--outline-variant); --eox-slider-brightness-hover: 100%; --eox-slider-brightness-down: 100%; --eox-slider-clip-edges: 4px; --eox-slider-margin: 1.125rem; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ) { font-size: 1.5rem; color: var(--primary); width: 100%; background: none; overflow: hidden; } input[type="range"]:not(.slider input[type="range"]) { margin: var(--eox-slider-margin); width: 100%; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):active { cursor: grabbing; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):disabled { filter: grayscale(1); opacity: 0.3; cursor: not-allowed; } /* WebKit specific styles */ input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ), input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-webkit-slider-runnable-track, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-webkit-slider-thumb { -webkit-appearance: none; transition: all ease 100ms; height: var(--eox-slider-thumb-height); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-webkit-slider-runnable-track, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-webkit-slider-thumb { position: relative; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-webkit-slider-runnable-track { border-radius: var(--eox-slider-track-height); } input[type="range"]:not(.slider input)::-webkit-slider-thumb { --thumb-radius: calc((var(--eox-slider-thumb-height) * 0.5) - 1px); --clip-top: calc( (var(--eox-slider-thumb-height) - var(--eox-slider-track-height)) * 0.5 - 0.5px ); --clip-bottom: calc(var(--eox-slider-thumb-height) - var(--clip-top)); --clip-further: calc(100% + 1px); --box-fill: calc( -100vmax - var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)) ) 0 0 100vmax currentColor; width: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); background: linear-gradient(currentColor 0 0) scroll no-repeat left center / 50% calc(var(--eox-slider-track-height) + 1px); background-color: currentColor; box-shadow: var(--box-fill); border-radius: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); filter: brightness(100%); clip-path: polygon( 100% -1px, var(--eox-slider-clip-edges) -1px, 0 var(--clip-top), -100vmax var(--clip-top), -100vmax var(--clip-bottom), 0 var(--clip-bottom), var(--eox-slider-clip-edges) 100%, var(--clip-further) var(--clip-further) ); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):hover::-webkit-slider-thumb { filter: brightness(var(--eox-slider-brightness-hover)); cursor: grab; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):active::-webkit-slider-thumb { filter: brightness(var(--eox-slider-brightness-down)); cursor: grabbing; } input[type="range"]:not(.slider input)::-webkit-slider-runnable-track { background: linear-gradient(var(--eox-slider-track-color) 0 0) scroll no-repeat center / 100% calc(var(--eox-slider-track-height) + 1px); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):disabled::-webkit-slider-thumb { cursor: not-allowed; } /* === Firefox specific styles === */ input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ), input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-track, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-thumb { appearance: none; transition: all ease 100ms; height: var(--eox-slider-thumb-height); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-track, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-thumb, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-progress { background: #fff0; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-thumb { background: currentColor; border: 0; width: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); border-radius: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); cursor: grab; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):active::-moz-range-thumb { cursor: grabbing; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-track { width: 100%; background: var(--eox-slider-track-color); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-progress { appearance: none; background: currentColor; transition-delay: 30ms; } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-track, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-progress { height: calc(var(--eox-slider-track-height) + 1px); border-radius: var(--eox-slider-track-height); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-thumb, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input )::-moz-range-progress { filter: brightness(100%); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):hover::-moz-range-thumb, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):hover::-moz-range-progress { filter: brightness(var(--eox-slider-brightness-hover)); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):active::-moz-range-thumb, input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):active::-moz-range-progress { filter: brightness(var(--eox-slider-brightness-down)); } input[type="range"]:not( .slider.large input, .slider.small input, .slider.medium input, .slider.extra input ):disabled::-moz-range-thumb { cursor: not-allowed; } /* === BeerCSS tiny slider styling only === */ .slider.tiny { --_track: var(--eox-slider-track-height); --_track-color: var(--eox-slider-track-color) !important; margin: var(--eox-slider-margin); } .slider.tiny::before { background: var(--eox-slider-track-color); } label.slider.tiny::before { height: var(--eox-slider-track-height); background: var(--outline-variant); clip-path: none; } label.slider.tiny > span, .slider.tiny > input[type="range"] + input[type="range"] ~ span { height: var(--eox-slider-track-height); top: var(--eox-slider-track-height) - 1; clip-path: none; } .slider.tiny > input[type="range"]::-webkit-slider-thumb { box-shadow: unset; width: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); border-radius: var(--eox-slider-thumb-width, var(--eox-slider-thumb-height)); } .slider.tiny > input[type="range"]::-webkit-slider-runnable-track { background: unset; } .slider.tiny > input[type="range"]:not(:disabled):is(:focus)::-webkit-slider-thumb { transform: scaleX(1); } .slider.tiny > input:not(:disabled):is(:focus)::-moz-range-thumb { transform: scaleX(1); } .slider::before { clip-path: none !important; } .slider > span:not([class]) { inset: calc(50% - (var(--_track, 0) / 2)) var(--_end) auto var(--_start) !important; z-index: 1; pointer-events: none; } /* tc-range-slider styling */ tc-range-slider { --panel-bg-fill: var(--primary); --pointer-bg: var(--primary); --pointer-bg-focus: var(--primary); --pointer-bg-hover: var(--primary); --pointer-border: 0; --pointer-border-focus: 0; --pointer-border-hover: 0; --pointer-width: var( --eox-slider-thumb-width, var(--eox-slider-thumb-height) ); --pointer-height: var( --eox-slider-thumb-width, var(--eox-slider-thumb-height) ); --pointer-shadow: 0 3px 4px #00000033; --pointer-shadow-hover: 0 0 0 10px #0000000a; --height: var(--eox-slider-track-height); --width: 100%; --panel-bg-border-radius: var(--eox-slider-track-height); --panel-bg: var(--eox-slider-track-color); --panel-bg-hover: var(--eox-slider-track-color); display: block; margin: calc(var(--eox-slider-margin) + var(--eox-slider-thumb-height)) var(--eox-slider-margin); } /* Vuetify slider styling */ .v-slider.v-input--horizontal { margin: var(--eox-slider-margin); } .v-slider.v-input--horizontal .v-slider-track { height: calc(var(--eox-slider-track-height) + 2px) !important; --v-slider-track-size: var(--eox-slider-track-height) !important; } .v-slider-track .v-slider-track__background { background-color: var(--eox-slider-track-color) !important; } .v-slider-track__fill.bg-primary { background-color: var(--primary) !important; height: calc(var(--eox-slider-track-height)) !important; } .v-slider-track__background--opacity { opacity: 1; } .v-slider-thumb__surface { background: var(--primary); }