// // Toggle styles (to be used with toggles.js) // -------------------------------------------------- .toggle { position: relative; width: 47px; height: 30px; background-color: #fff; border: 2px solid #e6e6e6; border-radius: 20px; @include box-shadow(inset 0 0 0 0 #e1e1e1); @include transition-property(box-shadow, border); @include transition-duration(.2s); // Sliding handle .toggle-handle { position: absolute; top: -1px; left: -1px; z-index: 2; width: 28px; height: 28px; background-color: #fff; border: 1px solid rgba(0, 0, 0, .2); border-radius: 100px; @include box-shadow(0 3px 3px rgba(0,0,0,.08)); @include transition-property(-webkit-transform, border, width); @include transition-duration(.2s); } &:active .toggle-handle { width: 35px; } // Active state for toggle &.active { border: 2px solid $positive-color; @include box-shadow(inset 0 0 0 13px $positive-color); .toggle-handle { border-color: $positive-color; @include transform(translate3d(17px,0,0)); } // Handle when the handle and the container is active &:active .toggle-handle, .toggle-handle:active { @include transform(translate3d(10px,0,0) !important); // Evil important tag is used to overwrite js. } } }