$track-color: #3ca9f1 !default; $thumb-color: $color-bot !default; $thumb-radius: 0px !default; $thumb-height: 14px !default; $thumb-width: 7px !default; $thumb-shadow-size: 1px !default; $thumb-shadow-blur: 1px !default; $thumb-shadow-color: rgba(0, 0, 0, .2) !default; $thumb-border-width: 1px !default; $thumb-border-color: $color-bot !default; $track-width: 50% !default; $track-height: 5px !default; $track-shadow-size: 1px !default; $track-shadow-blur: 1px !default; $track-shadow-color: rgba(0, 0, 0, .2) !default; $track-border-width: 1px !default; $track-border-color: $color-bot !default; $track-radius: 5px !default; $contrast: 5% !default; @mixin shadow($shadow-size, $shadow-blur, $shadow-color) { box-shadow: $shadow-size $shadow-size $shadow-blur $shadow-color, 0 0 $shadow-size lighten($shadow-color, 5%); } @mixin track { cursor: pointer; height: $track-height; transition: all .2s ease; width: $track-width; } @mixin thumb { @include shadow($thumb-shadow-size, $thumb-shadow-blur, $thumb-shadow-color); background: $thumb-color; border: $thumb-border-width solid $thumb-border-color; border-radius: $thumb-radius; cursor: pointer; height: $thumb-height; width: $thumb-width; } [type='range'] { -webkit-appearance: none; margin: $thumb-height / 2 0; width: $track-width; &:focus { outline: 0; &::-webkit-slider-runnable-track { background: lighten($track-color, $contrast); } &::-ms-fill-lower { background: $track-color; } &::-ms-fill-upper { background: lighten($track-color, $contrast); } } &::-webkit-slider-runnable-track { @include track; @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color); background: $track-color; border: $track-border-width solid $track-border-color; border-radius: $track-radius; } &::-webkit-slider-thumb { @include thumb; -webkit-appearance: none; margin-top: ((-$track-border-width * 2 + $track-height) / 2) - ($thumb-height / 2); } &::-moz-range-track { @include track; @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color); background: $track-color; border: $track-border-width solid $track-border-color; border-radius: $track-radius; } &::-moz-range-thumb { @include thumb; } &::-ms-track { @include track; background: transparent; border-color: transparent; border-width: ($thumb-height / 2) 0; color: transparent; } &::-ms-fill-lower { @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color); background: darken($track-color, $contrast); border: $track-border-width solid $track-border-color; border-radius: $track-radius * 2; } &::-ms-fill-upper { @include shadow($track-shadow-size, $track-shadow-blur, $track-shadow-color); background: $track-color; border: $track-border-width solid $track-border-color; border-radius: $track-radius * 2; } &::-ms-thumb { @include thumb; margin-top: 0; } }