/* Prevent text and blocks selection */ input.labelauty + label ::-moz-selection { background-color: rgba(255, 255, 255, 0); } input.labelauty + label ::selection { background-color: rgba(255, 255, 255, 0); } input.labelauty + label ::-moz-selection { background-color: rgba(255, 255, 255, 0); } /* Hide original checkboxes. They are ugly! */ input.labelauty { display: none !important; } /* * Let's style the input * Feel free to work with it as you wish! */ input.labelauty + label { display: table; padding: 10px 12px; margin-bottom: 0; font-size: 1rem; line-height: 1; color: #76838f; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #f3f7f9; border-radius: 0.215rem; transition: background-color .25s; } /* Stylish text inside label */ input.labelauty + label > span.labelauty-unchecked, input.labelauty + label > span.labelauty-checked { display: inline-block; line-height: 16px; vertical-align: bottom; } /* Stylish icons inside label */ input.labelauty + label > span.labelauty-unchecked-image, input.labelauty + label > span.labelauty-checked-image { display: inline-block; width: 16px; height: 16px; vertical-align: bottom; background-repeat: no-repeat; background-position: left center; transition: background-image .5s linear; } /* When there's a label, add a little margin to the left */ input.labelauty + label > span.labelauty-unchecked-image + span.labelauty-unchecked, input.labelauty + label > span.labelauty-checked-image + span.labelauty-checked { margin-left: 7px; } /* When not Checked */ input.labelauty:not(:checked):not([disabled]) + label:hover { color: #76838f; background-color: #e4eaec; } input.labelauty:not(:checked) + label > span.labelauty-checked-image { display: none; } input.labelauty:not(:checked) + label > span.labelauty-checked { display: none; } /* When Checked */ input.labelauty:checked + label { color: #fff; background-color: #3e8ef7; } input.labelauty:checked:not([disabled]) + label:hover { background-color: #589ffc; } input.labelauty:checked + label > span.labelauty-unchecked-image { display: none; } input.labelauty:checked + label > span.labelauty-unchecked { display: none; } input.labelauty:checked + label > span.labelauty-checked { display: inline-block; } input.labelauty.no-label:checked + label > span.labelauty-checked { display: block; } /* When Disabled */ input.labelauty[disabled] + label { opacity: .7; } /* Add a background to (un)checked images */ input.labelauty + label > span.labelauty-unchecked-image { background-image: url("input-unchecked.png"); } input.labelauty + label > span.labelauty-checked-image { background-image: url("input-checked.png"); } input.to-labelauty + label { min-width: 160px; } input.to-labelauty-icon + label { display: inline-block; padding: 8px; } input.to-labelauty-icon + label + span { margin-left: 7px; }