.spinner{ @spin-height: 22px; @trigger-width: 17px; position: relative; input { height: @spin-height; text-align: right; padding-left: 1px; padding-right: @trigger-width + 2px; } button { display: block; position: relative; width: @trigger-width; height: @spin-height/2; padding: 0; margin: 0; border: none; background: none; line-height: 1; &.disabled { cursor: default; } &:focus { outline: 0; outline-offset: 0; } } .spinner-buttons { position: absolute; top: 0; right: 0; i { display: inline-block; width: @trigger-width; height: @spin-height/2; } button { &.disabled { opacity: .35; } } } .spinner-up { i { background-position: @spinner-offset-x @spinner-offset-y; } &.over i { background-position: @spinner-offset-x - @trigger-width @spinner-offset-y; } &.active i { background-position: @spinner-offset-x @spinner-offset-y; } } .spinner-down { i { background-position: @spinner-offset-x @spinner-offset-y - @spin-height / 2; } &.over i { background-position: @spinner-offset-x - @trigger-width @spinner-offset-y - @spin-height / 2; } &.active i { background-position: @spinner-offset-x @spinner-offset-y - @spin-height / 2; } } }