@progress-bg: @color-gray-lighter; @progress-bar-color: #79bc70; @progress-border-radius: @border-radius; .progress { display: block; width: 100%; height: @spacer-2; } .progress[value] { // Set overall background background-color: @progress-bg; // Remove Firefox and Opera border border: 0; // Reset the default appearance appearance: none; // Set overall border radius border-radius: @progress-border-radius; } // Filled-in portion of the bar .progress[value]::-ms-fill { background-color: @progress-bar-color; // Remove right-hand border of value bar from IE10+/Edge border: 0; } .progress[value]::-moz-progress-bar { background-color: @progress-bar-color; border-top-left-radius: @progress-border-radius; border-bottom-left-radius: @progress-border-radius; } .progress[value]::-webkit-progress-value { background-color: @progress-bar-color; border-top-left-radius: @progress-border-radius; border-bottom-left-radius: @progress-border-radius; } // Tweaks for full progress bar .progress[value="100"]::-moz-progress-bar { border-top-right-radius: @progress-border-radius; border-bottom-right-radius: @progress-border-radius; } .progress[value="100"]::-webkit-progress-value { border-top-right-radius: @progress-border-radius; border-bottom-right-radius: @progress-border-radius; } // Unfilled portion of the bar .progress[value]::-webkit-progress-bar { background-color: @progress-bg; border-radius: @progress-border-radius; } // Absurd-but-syntactically-valid selector to make these styles Firefox-only base::-moz-progress-bar, .progress[value] { background-color: @progress-bg; border-radius: @progress-border-radius; } .progress-variant (@color) { &[value]::-webkit-progress-value { background-color: @color; } &[value]::-moz-progress-bar { background-color: @color; } // IE10+, Microsoft Edge &[value]::-ms-fill { background-color: @color; } }