diff --git a/.gitignore b/.gitignore
index bbe21e5..ea83d62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,29 @@
-node_modules/
-test/
+# Node
+node_modules
+npm-debug.log
+package-lock.json
+.npmrc
+
+# Yarn
+yarn-error.log
yarn.lock
+
+# JetBrains
+.idea/
+
+# VS Code
+.vscode/
+.history
+
+# Windows
+Thumbs.db
+Desktop.ini
+
+# Mac
+.DS_Store
+
+# Temporary files
+coverage/
+docs
+tmp
+test
\ No newline at end of file
diff --git a/.stylelintrc b/.stylelintrc
new file mode 100644
index 0000000..0e9aef4
--- /dev/null
+++ b/.stylelintrc
@@ -0,0 +1,3 @@
+{
+ "extends": "stylelint-config-recommended-scss"
+}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..dff1f88
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,33 @@
+sudo: required
+dist: trusty
+language: node_js
+node_js:
+ - node
+cache:
+ yarn: true
+notifications:
+ email: false
+before_install:
+ - echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > .npmrc
+before_script:
+ - export DISPLAY=:99.0
+ - sh -e /etc/init.d/xvfb start
+ - sleep 3
+ - git remote rm origin
+ - git remote add origin https://${GH_TOKEN}@github.com/lokesh-coder/hug.css.git
+ - 'if [ ${TRAVIS_PULL_REQUEST} = "false" ]; then
+ git fetch && git checkout master;
+ git config push.default current;
+ fi'
+after_success:
+ - 'if [ ${TRAVIS_PULL_REQUEST} = "false" ]; then
+ npm run ci;
+ npm run release;
+ npm publish --access=public;
+ npm run log;
+ fi'
+
+branches:
+ only:
+ - staging
+ - /^greenkeeper/.*$/
\ No newline at end of file
diff --git a/Gulpfile.js b/Gulpfile.js
index 7803579..cb246fc 100644
--- a/Gulpfile.js
+++ b/Gulpfile.js
@@ -3,47 +3,110 @@ var browserSync = require('browser-sync');
var sass = require('gulp-sass');
var rename = require('gulp-rename');
var autoprefixer = require('gulp-autoprefixer');
+var sourcemaps = require('gulp-sourcemaps');
+var headerComment = require('gulp-header-comment');
+const gulpStylelint = require('gulp-stylelint');
+var stylefmt = require('gulp-stylefmt');
+let cleanCSS = require('gulp-clean-css');
+var gulpSequence = require('gulp-sequence')
+var del = require('del');
var reload = browserSync.reload;
module.exports = gulp;
-gulp.task('browser-sync', function() {
+/* BROWSER SYNC */
+
+gulp.task('browser-sync', function () {
browserSync({
port: 3040,
server: {
baseDir: "./",
directory: true
- }
+ },
+ https: true
});
});
-gulp.task('sass', function() {
+gulp.task('browser-sync-reload', function () {
+ browserSync.reload();
+});
+
+/* LIST SCSS */
+gulp.task('lint:scss', function() {
+ return gulp
+ .src('src/**/*.scss')
+ .pipe(gulpStylelint({
+ reporters: [
+ { formatter: 'string', console: true }
+ ]
+ }));
+});
+
+
+/* COMPILE SCSS */
+gulp.task('compile:scss', function () {
return gulp.src('src/**/*.scss')
+ .pipe(sourcemaps.init())
.pipe(sass({
outputStyle: 'expanded'
})
- .on('error', sass.logError))
+ .on('error', sass.logError))
.pipe(autoprefixer({
- browsers: ['> 5%','last 2 versions'],
- cascade: false
+ browsers: ['> 5%', 'last 4 versions'],
+ cascade: false
}))
- .pipe(gulp.dest('src/'))
- .pipe(sass({
- outputStyle: 'compressed'
- }))
- .pipe(rename({
- suffix: '.min'
- }))
- .pipe(gulp.dest('src/'))
+ .pipe(sourcemaps.write('./maps'))
+ .pipe(gulp.dest('dist'))
.pipe(browserSync.reload({
stream: true
}));
});
-gulp.task('bs-reload', function() {
- browserSync.reload();
+/* FORMAT CSS */
+
+gulp.task('format:css', function () {
+ return gulp.src('dist/*.css')
+ .pipe(stylefmt())
+ .pipe(gulp.dest('dist'));
+})
+
+/* CLEAN DIST */
+gulp.task('clean:dist', function () {
+ return del(['dist']);
});
-gulp.task('default', ['sass', 'browser-sync'], function() {
- gulp.watch("src/**/*.scss", ['sass', 'bs-reload']);
-});
\ No newline at end of file
+/* MINIFY CSS */
+gulp.task('minify:css', () => {
+ return gulp.src('dist/*.css')
+ .pipe(cleanCSS({ compatibility: 'ie9' }))
+ .pipe(rename({
+ suffix: '.min'
+ }))
+ .pipe(gulp.dest('dist'));
+});
+
+/* SET HEADER */
+
+gulp.task('set:header', function () {
+ return gulp.src('dist/*.css')
+ .pipe(headerComment(`
+ pretty-checkbox.css
+
+ A pure CSS library to beautify checkbox and radio buttons.
+
+ Source: <%= pkg.repository.link %>
+ Demo: <%= pkg.homepage %>
+
+ Copyright (c) <%= moment().format('YYYY') %> <%= _.capitalize(pkg.author) %>
+ `))
+ .pipe(gulp.dest('dist'))
+});
+
+gulp.task('build', function (cb) {
+ gulpSequence('lint:scss', 'clean:dist', 'compile:scss', 'format:css', 'minify:css', 'set:header', cb)
+});
+
+
+gulp.task('default', ['compile:scss', 'browser-sync'], function () {
+ gulp.watch("src/**/*.scss", ['compile:scss', 'browser-sync-reload']);
+});
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..c66e5dc
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,9 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Lokesh Rajendran
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index b06471f..fb77d64 100644
--- a/README.md
+++ b/README.md
@@ -1,93 +1,299 @@
-# :heavy_check_mark: Pretty checkbox
+
+
+
+ pretty-checkbox.css
+
-No more boring old fashioned checkboxes. New scalable CSS3 pretty checkbox and radio buttons with custom font icon library. **Only CSS**!
+A pure CSS library to beautify checkbox and radio buttons.
-Check it out the [Demo](https://lokesh-coder.github.io/pretty-checkbox/) for complete documentation.
+
+
+
+
+
+
+
+
+
+
+
+
-### Get started
+
+
+Demo and documentation
+
+
+
-Install the library from `bower` , `npm` or `yarn` package manager
+
+
+
+
+### Features
+* Basic
+ - **Shapes** - *Square*, *Curve*, *Round*
+ - **Variants** - *Default*, *Fill*, *Thick*
+ - **Colors** - *Primary*, *Success*, *Info*, *Warning*, *Danger*
+ - **Color types** - *Solid*, *Outline*
+ - **Animations** - *Smooth*, *Tada*, *Jelly*, *Pulse*, *Rotate*
+ * Switch - iOS style - *Outline*, *Fill*, *Slim*
+ * Responsive
+ * No JavaScript
+ * Custom Font Icons
+ * SVG Icons
+ * Image support
+ * Toggle between icons / SVG's / images
+ * Lock
+ * State - *Focus*, *Hover*, *Indeterminate*
+ * Supports frameworks - *Bootstrap*, *Foundation*, *Sematic UI*, *Bulma*, ...
+ * Customize nearly everything with SCSS
+ * Supports all modern browsers, including mobile devices
+ * Print friendly
+ * and more... ( *I am kidding, that's all!* )
+
+### Installation
+- **From CLI**
+
+Install the library from [`npm`](https://www.npmjs.com/package/pretty-checkbox) or [`yarn`](https://yarnpkg.com/en/package/pretty-checkbox) package manager
```sh
-> bower install pretty-checkbox
-```
-```sh
-> npm install pretty-checkbox
-```
-```sh
+> npm install pretty-checkbox // or
> yarn add pretty-checkbox
```
-Add `pretty.min.css` in your html
+Add `pretty-checkbox.min.css` in your html
-From CDN,
+
+
+- **From CDN** ( [`jsDelivr`](https://www.jsdelivr.com/package/npm/pretty-checkbox) )
```html
-
+
```
-or from the source,
+
+
+
+- **Manual download** ( [`Github`](https://github.com/lokesh-coder/pretty-checkbox/archive/master.zip) )
+
+Download the source from Github.
```html
-
+
```
+`` is where the library is downloaded.
-You can also import `pretty.scss` in your main scss file.
+
+
+**SCSS**
+
+You can also import `pretty-checkbox.scss` in your main scss file.
```scss
-@import '../PATH/pretty-checkbox/src/pretty.scss';
+@import '~pretty-checkbox/src/pretty.scss';
+```
+
+Please refer the document for SCSS settings.
+
+
+### Usage
+
+
+Pretty checkbox comes with many styles,
+
+| Class name | Description |
+| :---------- | :----------------------- |
+| `p-default` | Basic style |
+| `p-switch` | iOS like toggle style |
+| `p-icon` | Custom font icons |
+| `p-svg` | Custom SVG files, markup |
+| `p-image` | Tiny images |
+
+And three shapes `p-round` `p-curve` `p-square` (default)
+
+
+#### Basic checkbox
+
+```html
+
```
-`PATH` is where the library is downloaded.
-Checkbox markup,
+Basic checkbox has three variants `p-fill` `p-thick` `p-outline` (default)
+
+You can combine them.
+
```html
-
-
- Buy vegetables
-
+
```
-### Basic examples
+---
-##### Checkbox
+#### Switch checkbox
+
+Switch has three variants `p-outline` `p-fill` `p-slim`
```html
-
-
- Primary
-
+
```
-##### Radio
+---
+
+#### Custom Font icons
```html
-
-
-
Option 1
+
+```
+
+
+
+ Note : class `icon` should be added along with icon class names
+
+
+
+
+
+ Note : For icons to work, you need to add appropriate font icons library. In above example , we used font awesome icon. So, FontAwesome should be included separately.
+
+
+
+
-
-
-
Option 2
+
+
---
+
+#### SVG
+
+Supports SVG file in
tag, markup (`
... `) and sprites
+
+```html
+
+
+
+
+
Check me
+
+
+```
+
+
+
+ Note : class `svg` to be added in img tag or svg tag.
+
+
+
+
+
+
---
+
+#### Image
+
+Supports any type of valid image format.
+
+```html
+
+
+
+
+
Block
+
+
```
-Refer the [Documentation](https://lokesh-coder.github.io/pretty-checkbox/) for other features and sass settings.
+
+
+ Note : class `image` to be added in img tag.
+
+
-### Custom font library
+
-This library supports wide variety of font icon libraries. Currently tested with `FontAwesome` , `Bootstrap Glyphicon` , `Google Material Design icons(material.io)`, `Material Design icons (mdi)` , `Material Design icons (zmdi)` , `Typicons` , `Ionicons`.
+
---
-### What else
+#### Colors
-- Scalable. Can be used in any font sizes
-- Cool animations and toggle features
-- Customizable. See the demo for `sass` settings
-- Used in frameworks like bootstrap, Foundation, Sematic UI
-- Supported in all mordern browsers, including mobile devices
-- Print friendly
-- MIT Licence
+There are five solid colors `p-primary` `p-success` `p-warning` `p-info` `p-danger`
-Thats all, folks!
+And five outline colors `p-primary-o` `p-success-o` `p-warning-o` `p-info-o` `p-danger-o`
+
+```html
+
+```
+
+
+ Note : Color class must be added in state class. Solid colors and Ouline colors have distinct role in font icons and toggle feature.
+
+
+
+
+
+### More
+
+There are more features like ***Radio buttons*** , ***Toggle*** , ***States*** , ***Animations*** , ***Border less*** , ***Lock*** , ***Scale***, ***SCSS Settings***.
+
+Please refer the [documentation](https://lokesh-coder.github.io/pretty-checkbox/) to know about them.
+
+
+### Browser support
+
+Works in all modern browsers.
+
+`Chrome >= 26` `Firefox >= 16` `Safari >= 6.1` `Opera >= 15` `IE >= 9`
+
+### Font Icon libraries
+* [Font awesome](http://fontawesome.io/icons/)
+* [Bootstrap Glyphicons](https://getbootstrap.com/docs/3.3/components/#glyphicons)
+* [Material icon ( MDI )](https://materialdesignicons.com/)
+* [Material icon ( ZMDI )](http://zavoloklom.github.io/material-design-iconic-font/icons.html)
+* [Ion icons](http://ionicons.com/)
+* [Typicons](http://www.typicons.com/)
+* [Material icon ( Google )](https://material.io/icons)
+* Others not tested, but will work ( 99% ).
+
+
+### SVG
+* [UIKit](https://getuikit.com/docs/icon)
+* [Feathers](https://feathericons.com/)
+* Others
### Inspiration
+- [Awesome Bootstrap Checkbox](https://github.com/flatlogic/awesome-bootstrap-checkbox) - Idea
+- [Animista](http://animista.net) - Animations
+
+### Contributions
+Thanks to all those good people who spend their valuable time and helped to improve this library. Any Contributions are welcome!
-- Inspired from Okendoken's [awesome-bootstrap-checkbox](https://github.com/flatlogic/awesome-bootstrap-checkbox).
-- Crazy animations are heavily inspired ( copied 😊 ) from [Animista](http://animista.net)
+### License
+This project is licensed under the MIT License
-Contributions are welcome!
+
❤
diff --git a/bower.json b/bower.json
deleted file mode 100644
index 4c5cba7..0000000
--- a/bower.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "pretty-checkbox",
- "description": "Scalable css3 pretty checkbox and radio buttons",
- "license": "MIT",
- "main": "src/pretty.css",
- "homepage": "https://lokesh-coder/github.io/pretty-checkbox",
- "authors": [
- "Lokesh
"
- ],
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ],
- "dependencies": {},
- "keywords": [
- "checkbox",
- "radio",
- "bootstrap",
- "css3",
- "animations"
- ]
-}
diff --git a/dist/maps/pretty-checkbox.css.map b/dist/maps/pretty-checkbox.css.map
new file mode 100644
index 0000000..ff13b3b
--- /dev/null
+++ b/dist/maps/pretty-checkbox.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["scss/_core.scss","scss/_variables.scss","scss/essentials/_keyframes.scss","pretty-checkbox.css","scss/elements/default/_fill.scss","scss/elements/default/_outline.scss","scss/elements/default/_thick.scss","scss/elements/font-icon/_general.scss","scss/elements/svg/_general.scss","scss/elements/image/_general.scss","scss/elements/switch/_general.scss","scss/elements/switch/_fill.scss","scss/elements/switch/_slim.scss","scss/states/_hover.scss","scss/states/_focus.scss","scss/states/_indeterminate.scss","scss/extras/_toggle.scss","scss/extras/_plain.scss","scss/extras/_round.scss","scss/extras/_curve.scss","scss/extras/_animation.scss","scss/extras/_disabled.scss","scss/extras/_locked.scss","scss/extras/_colors.scss","scss/extras/_bigger.scss","scss/extras/_print.scss"],"names":[],"mappings":"AAEA;EACE,uBAAuB;CACxB;;AAGD;EACE,cAAc;CAkBf;;AAnBD;EAKM,+BC0BqC;EDzBrC,0BAA0B;EAC1B,+BAA+B;EAC/B,aAAa;EACb,eAAe;EACf,iBAAiB;EACjB,eAAe;EACf,mBAAmB;EACnB,WAAW;EACX,oBAAoB;EACpB,OAAO;EACP,QAAQ;CACT;;AAIL;EACE,mBAAmB;EACnB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,eAAe;CAmDhB;;AAxDD;EAQI,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,eAAe;EACf,YAAY;EACZ,aAAa;EACb,WC5BqB;ED6BrB,WAAW;EACX,UAAU;EACV,WAAW;EACX,gBAAgB;CACjB;;AAnBH;EAuBM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;EACV,mBClC2B;EDmC3B,2BCtCiB;CD2DlB;;AAjDL;EAgCQ,YAAY;EACZ,uBC3Ce;ED4Cf,wBC5Ce;ED6Cf,eAAe;EACf,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,WCvDgB;EDwDhB,mBAAmB;EACnB,QAAQ;EACR,oCCrCgB;EDsChB,8BAA8B;CAC/B;;AA5CP;EA+CQ,sBCxEuB;CDyExB;;AAhDP;EAqDM,cAAc;CACf;;AElFL;EACE;IACE,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC8EjB;CACF;;ADlFD;EACE;IACE,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC8EjB;CACF;;AD3ED;EACE;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC8EjB;ED3ED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC6EjB;ED1ED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,8BAAgB;IAAhB,sBAAgB;GC4EjB;EDzED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GC2EjB;EDxED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,+BAAgB;IAAhB,uBAAgB;GC0EjB;EDvED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GCyEjB;EDtED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,+BAAgB;IAAhB,uBAAgB;GCwEjB;EDrED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GCuEjB;CACF;;ADhHD;EACE;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC8EjB;ED3ED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,WAAW;IACX,4BAAgB;IAAhB,oBAAgB;GC6EjB;ED1ED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,8BAAgB;IAAhB,sBAAgB;GC4EjB;EDzED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GC2EjB;EDxED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,+BAAgB;IAAhB,uBAAgB;GC0EjB;EDvED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GCyEjB;EDtED;IACE,2CAAmC;IAAnC,mCAAmC;IACnC,+BAAgB;IAAhB,uBAAgB;GCwEjB;EDrED;IACE,4CAAoC;IAApC,oCAAoC;IACpC,4BAAgB;IAAhB,oBAAgB;GCuEjB;CACF;;ADpED;EACE;IACE,oCAAkB;IAAlB,4BAAkB;GCuEnB;EDpED;IACE,0CAAkB;IAAlB,kCAAkB;GCsEnB;EDnED;IACE,0CAAkB;IAAlB,kCAAkB;GCqEnB;EDlED;IACE,0CAAkB;IAAlB,kCAAkB;GCoEnB;EDjED;IACE,0CAAkB;IAAlB,kCAAkB;GCmEnB;EDhED;IACE,0CAAkB;IAAlB,kCAAkB;GCkEnB;ED/DD;IACE,oCAAkB;IAAlB,4BAAkB;GCiEnB;CACF;;AD5FD;EACE;IACE,oCAAkB;IAAlB,4BAAkB;GCuEnB;EDpED;IACE,0CAAkB;IAAlB,kCAAkB;GCsEnB;EDnED;IACE,0CAAkB;IAAlB,kCAAkB;GCqEnB;EDlED;IACE,0CAAkB;IAAlB,kCAAkB;GCoEnB;EDjED;IACE,0CAAkB;IAAlB,kCAAkB;GCmEnB;EDhED;IACE,0CAAkB;IAAlB,kCAAkB;GCkEnB;ED/DD;IACE,oCAAkB;IAAlB,4BAAkB;GCiEnB;CACF;;AD9DD;EACE;IACE,WAAW;IACX,qDAAoC;IAApC,6CAAoC;GCiErC;ED9DD;IACE,WAAW;IACX,2CAA+B;IAA/B,mCAA+B;GCgEhC;CACF;;ADzED;EACE;IACE,WAAW;IACX,qDAAoC;IAApC,6CAAoC;GCiErC;ED9DD;IACE,WAAW;IACX,2CAA+B;IAA/B,mCAA+B;GCgEhC;CACF;;AD7DD;EACE;IACE,oCAA0C;GCgE3C;ED7DD;IACE,qDAA4C;GC+D7C;CACF;;ADtED;EACE;IACE,oCAA0C;GCgE3C;ED7DD;IACE,qDAA4C;GC+D7C;CACF;;ACnKD;EAGM,4BAAgB;EAAhB,wBAAgB;EAAhB,oBAAgB;CACjB;;ACJL;EAGM,8BAAgB;EAAhB,0BAAgB;EAAhB,sBAAgB;CACjB;;AAJL;EASM,qCAAmD;CACpD;;ACVL;EAIM,4BAAkB;CACnB;;AALL;EAQM,yCAAgC;EAAhC,qCAAgC;EAAhC,iCAAgC;CACjC;;ACTL;EAGM,mBAAmB;EACnB,eAAe;EACf,uBNaiB;EMZjB,wBNYiB;EMXjB,QAAQ;EACR,WNKqB;EMJrB,mBAAmB;EACnB,oBAAoB;EACpB,oCNsBkB;EMrBlB,8BAA8B;EAC9B,WAAW;CACZ;;AAdL;EAiBM,UAAU;EACV,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,qBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,oBAAQ;EAAR,YAAQ;EAAR,QAAQ;EACR,yBAAwB;EAAxB,sBAAwB;EAAxB,wBAAwB;EACxB,0BAAoB;EAApB,uBAAoB;EAApB,oBAAoB;EACpB,eAAe;CAChB;;AA1BL;EA+BM,WAAW;CACZ;;AAhCL;EAmCM,sBAAsB;CACvB;;ACpCL;EAGM,mBAAmB;EACnB,eAAe;EACf,uBPaiB;EOZjB,wBPYiB;EOXjB,QAAQ;EACR,WPKqB;EOJrB,mBAAmB;EACnB,oBAAoB;EACpB,oCPsBkB;EOrBlB,8BAA8B;EAC9B,WAAW;CACZ;;AAdL;EAiBM,UAAU;EACV,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,qBAAc;EAAd,qBAAc;EAAd,cAAc;EACd,oBAAQ;EAAR,YAAQ;EAAR,QAAQ;EACR,yBAAwB;EAAxB,sBAAwB;EAAxB,wBAAwB;EACxB,0BAAoB;EAApB,uBAAoB;EAApB,oBAAoB;EACpB,eAAe;CAChB;;AA1BL;EA8BI,WAAW;CACZ;;AC/BH;EAGM,WAAW;EACX,mBAAmB;EACnB,uBRaiB;EQZjB,wBRYiB;EQXjB,OAAO;EACP,oCRyBkB;EQxBlB,QAAQ;EACR,WREkB;EQDlB,mBAAmB;EACnB,oBAAoB;EACpB,8BAAgB;EAAhB,0BAAgB;EAAhB,sBAAgB;CACjB;;AAdL;EAkBI,WAAW;CACZ;;ACnBH;EAEI,WAAU;CACX;;AAHH;EAKI,mBAAmB;CAgCpB;;AArCH;EAQM,YAAY;EACZ,0BTNyB;ESOzB,oBAAoB;EACpB,WAAW;EACX,kBAAkB;EAClB,wBTKiB;ESJjB,mBAAmB;EACnB,OAAO;EACP,qCTkByB;ESjBzB,WTLkB;ESMlB,0BAA0B;CAC3B;;AAnBL;EAsBM,mBTAkC;CScnC;;AApCL;EA0BQ,0BAA0B;EAC1B,oBAAoB;EACpB,QAAQ;EACR,0BAA0B;EAC1B,8BAAgB;EAAhB,0BAAgB;EAAhB,sBAAgB;CACjB;;AA/BP;EAkCQ,qCAAmD;CACpD;;AAnCP;EAyCM,sBThCsB;CSiCvB;;AA1CL;EA6CM,WAAW;CACZ;;AA9CL;EAiDM,qCAAgD;EAChD,UAAU;CACX;;ACnDL;EAGY,sBVMgB;EULhB,qCAAgD;CACnD;;AALT;EAOY,WAAW;CACd;;AART;EAUY,kCAAkC;EAClC,UAAU;CACb;;ACZT;EAGM,cAAc;EACd,+BAA6C;EAC7C,uBAAS;CACV;;AANL;EAWM,sBXFsB;EWGtB,qCAAgD;CACjD;;ACbL;EAEI,cAAc;CACf;;AAHH;EAMI,eAAe;CAKhB;;AAXH;EASM,eAAe;CAChB;;ACVL;EAGM,oCAA+B;CAChC;;ACJL;EAEI,cAAc;CACf;;AAHH;EAMI,eAAe;CAMhB;;AAZH;EASM,eAAe;EACf,WAAW;CACZ;;ACXL;EAGM,WAAW;EACX,cAAc;CACf;;AALL;;;;EAWM,WAAW;EACX,iBAAiB;CAClB;;AAbL;EAgBM,efbyB;Cec1B;;AAjBL;EAsBM,WAAW;EACX,iBAAiB;CAClB;;AAxBL;EA2BM,WAAW;EACX,cAAc;CACf;;AC7BL;;EAIM,cAAc;CACf;;AALL;EASI,8BAAgB;EAAhB,0BAAgB;EAAhB,sBAAgB;CACjB;;ACVH;EAIM,oBAAoB;CACrB;;AALL;EASI,oBAAoB;EACpB,iBAAiB;CAKlB;;AAfH;EAaM,8BAAgB;EAAhB,0BAAgB;EAAhB,sBAAgB;CACjB;;ACdL;EAIM,mBlBaoB;CkBZrB;;ACLL;;;;EAKI,0BAA0B;CAC3B;;AANH;EAUM,0BAA0B;CAC3B;;AAXL;;;EAgBM,kCAA0B;EAA1B,0BAA0B;CAC3B;;AAjBL;EAsBM,kCAA0B;EAA1B,0BAA0B;CAC3B;;AAvBL;EA4BM,YAAY;EACZ,4BAAgB;EAAhB,wBAAgB;EAAhB,oBAAgB;EAChB,0BAA0B;CAC3B;;AAIL;;;;;EAOM,8EAAyE;EAAzE,sEAAyE;EACzE,WAAW;CACZ;;AAIL;;;;;EAOM,mEAAkC;EAAlC,2DAAkC;EAClC,WAAW;CACZ;;AATL;EAYM,0BAA0B;CAC3B;;AAIL;;;;;EAOM,oEAAmC;EAAnC,4DAAmC;EACnC,WAAW;CACZ;;AATL;EAYM,0BAA0B;CAC3B;;AAIL;EAGM,4BAAoB;EAApB,oBAAoB;CACrB;;ACtFL;EAGM,oBAAoB;EACpB,cAAc;CAKf;;AATL;EAOQ,YAAY;CACb;;ACRP;EAEI,cAAc;EACd,oBAAoB;CACrB;;ACJH;;EAIQ,qCAAmC;CACpC;;AALP;;;;EASQ,YAAY;EACZ,aAAa;CACd;;AAXP;;EAgBQ,sBtBZuB;CsBaxB;;AAjBP;;EAoBQ,8BAA8B;CAC/B;;AArBP;;;;;;EA0BQ,etBtBuB;EsBuBvB,gBtBvBuB;CsBwBxB;;AA5BP;EAiCQ,qCAAmC;CACpC;;AAlCP;EAsCM,sBtBlCyB;CsBmC1B;;AAvCL;EA0CM,qCAAmC;CACpC;;AA3CL;EA8CM,sBAAoB;EACpB,qCAAgD;CACjD;;AAhDL;;EAIQ,qCAAmC;CACpC;;AALP;;;;EASQ,YAAY;EACZ,aAAa;CACd;;AAXP;;EAgBQ,sBtBXoB;CsBYrB;;AAjBP;;EAoBQ,8BAA8B;CAC/B;;AArBP;;;;;;EA0BQ,etBrBoB;EsBsBpB,gBtBtBoB;CsBuBrB;;AA5BP;EAiCQ,qCAAmC;CACpC;;AAlCP;EAsCM,sBtBjCsB;CsBkCvB;;AAvCL;EA0CM,qCAAmC;CACpC;;AA3CL;EA8CM,sBAAoB;EACpB,qCAAgD;CACjD;;AAhDL;;EAIQ,qCAAmC;CACpC;;AALP;;;;EASQ,YAAY;EACZ,aAAa;CACd;;AAXP;;EAgBQ,sBtBVuB;CsBWxB;;AAjBP;;EAoBQ,8BAA8B;CAC/B;;AArBP;;;;;;EA0BQ,etBpBuB;EsBqBvB,gBtBrBuB;CsBsBxB;;AA5BP;EAiCQ,qCAAmC;CACpC;;AAlCP;EAsCM,sBtBhCyB;CsBiC1B;;AAvCL;EA0CM,qCAAmC;CACpC;;AA3CL;EA8CM,sBAAoB;EACpB,qCAAgD;CACjD;;AAhDL;;EAIQ,qCAAmC;CACpC;;AALP;;;;EASQ,YAAY;EACZ,aAAa;CACd;;AAXP;;EAgBQ,sBtBTuB;CsBUxB;;AAjBP;;EAoBQ,8BAA8B;CAC/B;;AArBP;;;;;;EA0BQ,etBnBuB;EsBoBvB,gBtBpBuB;CsBqBxB;;AA5BP;EAiCQ,qCAAmC;CACpC;;AAlCP;EAsCM,sBtB/ByB;CsBgC1B;;AAvCL;EA0CM,qCAAmC;CACpC;;AA3CL;EA8CM,sBAAoB;EACpB,qCAAgD;CACjD;;AAhDL;;EAIQ,qCAAmC;CACpC;;AALP;;;;EASQ,YAAY;EACZ,aAAa;CACd;;AAXP;;EAgBQ,sBtBRsB;CsBSvB;;AAjBP;;EAoBQ,8BAA8B;CAC/B;;AArBP;;;;;;EA0BQ,etBlBsB;EsBmBtB,gBtBnBsB;CsBoBvB;;AA5BP;EAiCQ,qCAAmC;CACpC;;AAlCP;EAsCM,sBtB9BwB;CsB+BzB;;AAvCL;EA0CM,qCAAmC;CACpC;;AA3CL;EA8CM,sBAAoB;EACpB,qCAAgD;CACjD;;AChDL;;;;;EAMI,4BAAiC;EACjC,gDAA+C;CAChD;;AARH;EAWI,mBAAmB;CACpB;;ACZH;EACE;;;;IAKI,oBAAoB;IACpB,uBAAuB;IACvB,kCAAkC;IAClC,0BAA0B;GAC3B;CtBgwBJ","file":"../pretty-checkbox.css","sourcesContent":["@charset 'utf-8';\n\n.#{$pretty--class-name} * {\n box-sizing: border-box;\n}\n\n//Throw error on invalid input types.\n.#{$pretty--class-name} input:not([type='checkbox']):not([type='radio']) {\n display: none;\n\n @if $pretty--debug {\n + *:after {\n content: $pretty--err-message;\n border: 1px solid #dedede;\n border-left: 3px solid #d9534f;\n padding: 9px;\n font-size: 1em;\n font-weight: 600;\n color: #d9534f;\n position: absolute;\n z-index: 3;\n background: #fbfbfb;\n top: 0;\n left: 0;\n }\n }\n}\n\n.#{$pretty--class-name} {\n position: relative;\n display: inline-block;\n margin-right: 1em;\n white-space: nowrap;\n line-height: 1;\n\n input {\n position: absolute;\n left: 0;\n top: 0;\n min-width: 1em;\n width: 100%;\n height: 100%;\n z-index: $pretty--z-index-front;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n }\n\n .state {\n label {\n position: initial;\n display: inline-block;\n font-weight: normal;\n margin: 0;\n text-indent: $pretty--label-text-offset;\n min-width: $pretty--box-size;\n\n &:before,\n &:after {\n content: '';\n width: $pretty--box-size;\n height: $pretty--box-size;\n display: block;\n box-sizing: border-box;\n border-radius: 0;\n border: 1px solid transparent;\n z-index: $pretty--z-index-back;\n position: absolute;\n left: 0;\n top: $pretty-top-offset;\n background-color: transparent;\n }\n\n &:before {\n border-color: $pretty--color-default;\n }\n }\n\n &.p-is-hover,\n &.p-is-indeterminate {\n display: none;\n }\n }\n}","$pretty--class-name: pretty !default;\n\n// colors\n$pretty--color-default: #bdc3c7 !default;\n$pretty--color-primary: #428bca !default;\n$pretty--color-info: #5bc0de !default;\n$pretty--color-success: #5cb85c !default;\n$pretty--color-warning: #f0ad4e !default;\n$pretty--color-danger: #d9534f !default;\n$pretty--color-dark: #5a656b !default;\n\n// z-index\n$pretty--z-index-back: 0 !default;\n$pretty--z-index-between: 1 !default;\n$pretty--z-index-front: 2 !default;\n\n// box\n$pretty--curve-radius: 20% !default;\n$pretty--box-size: calc(1em + 2px) !default;\n\n// text\n$pretty--label-text-offset: 1.5em !default;\n$pretty--label-text-offset-switch: 2.5em !default;\n\n// scale\n$pretty--2x: 1.2em !default;\n\n// color set\n$pretty--colors: (primary, $pretty--color-primary), (info, $pretty--color-info), (success, $pretty--color-success), (warning, $pretty--color-warning), (danger, $pretty--color-danger) !default;\n\n// position\n$pretty-top: 8;\n$pretty-top-switch: ($pretty-top * 2) * 1%;\n$pretty-top-offset: calc((0% - (100% - 1em)) - #{$pretty-top * 1%});\n$pretty-top-offset-switch: calc((0% - (100% - 1em)) - #{$pretty-top-switch});\n\n// dev \n$pretty--debug: true !default;\n$pretty--err-message: 'Invalid input type!' !default;","@keyframes zoom {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n}\n\n@keyframes tada {\n 0% {\n animation-timing-function: ease-in;\n opacity: 0;\n transform: scale(7);\n }\n\n 38% {\n animation-timing-function: ease-out;\n opacity: 1;\n transform: scale(1);\n }\n\n 55% {\n animation-timing-function: ease-in;\n transform: scale(1.5);\n }\n\n 72% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n\n 81% {\n animation-timing-function: ease-in;\n transform: scale(1.24);\n }\n\n 89% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n\n 95% {\n animation-timing-function: ease-in;\n transform: scale(1.04);\n }\n\n 100% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n}\n\n@keyframes jelly {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n transform: scale3d(.75, 1.25, 1);\n }\n\n 40% {\n transform: scale3d(1.25, .75, 1);\n }\n\n 50% {\n transform: scale3d(.85, 1.15, 1);\n }\n\n 65% {\n transform: scale3d(1.05, .95, 1);\n }\n\n 75% {\n transform: scale3d(.95, 1.05, 1);\n }\n\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rotate {\n 0% {\n opacity: 0;\n transform: translateZ(-200px) rotate(-45deg);\n }\n\n 100% {\n opacity: 1;\n transform: translateZ(0) rotate(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n box-shadow: 0px 0px 0px 0px transparentize($pretty--color-default, 0);\n }\n\n 100% {\n box-shadow: 0px 0px 0px 1.5em transparentize($pretty--color-default, 1);\n }\n}",".pretty * {\n box-sizing: border-box;\n}\n\n.pretty input:not([type='checkbox']):not([type='radio']) {\n display: none;\n}\n\n.pretty input:not([type='checkbox']):not([type='radio']) + *:after {\n content: \"Invalid input type!\";\n border: 1px solid #dedede;\n border-left: 3px solid #d9534f;\n padding: 9px;\n font-size: 1em;\n font-weight: 600;\n color: #d9534f;\n position: absolute;\n z-index: 3;\n background: #fbfbfb;\n top: 0;\n left: 0;\n}\n\n.pretty {\n position: relative;\n display: inline-block;\n margin-right: 1em;\n white-space: nowrap;\n line-height: 1;\n}\n\n.pretty input {\n position: absolute;\n left: 0;\n top: 0;\n min-width: 1em;\n width: 100%;\n height: 100%;\n z-index: 2;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n}\n\n.pretty .state label {\n position: initial;\n display: inline-block;\n font-weight: normal;\n margin: 0;\n text-indent: 1.5em;\n min-width: calc(1em + 2px);\n}\n\n.pretty .state label:before, .pretty .state label:after {\n content: '';\n width: calc(1em + 2px);\n height: calc(1em + 2px);\n display: block;\n box-sizing: border-box;\n border-radius: 0;\n border: 1px solid transparent;\n z-index: 0;\n position: absolute;\n left: 0;\n top: calc((0% - (100% - 1em)) - 8%);\n background-color: transparent;\n}\n\n.pretty .state label:before {\n border-color: #bdc3c7;\n}\n\n.pretty .state.p-is-hover, .pretty .state.p-is-indeterminate {\n display: none;\n}\n\n@keyframes zoom {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n}\n\n@keyframes tada {\n 0% {\n animation-timing-function: ease-in;\n opacity: 0;\n transform: scale(7);\n }\n 38% {\n animation-timing-function: ease-out;\n opacity: 1;\n transform: scale(1);\n }\n 55% {\n animation-timing-function: ease-in;\n transform: scale(1.5);\n }\n 72% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n 81% {\n animation-timing-function: ease-in;\n transform: scale(1.24);\n }\n 89% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n 95% {\n animation-timing-function: ease-in;\n transform: scale(1.04);\n }\n 100% {\n animation-timing-function: ease-out;\n transform: scale(1);\n }\n}\n\n@keyframes jelly {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n 30% {\n transform: scale3d(0.75, 1.25, 1);\n }\n 40% {\n transform: scale3d(1.25, 0.75, 1);\n }\n 50% {\n transform: scale3d(0.85, 1.15, 1);\n }\n 65% {\n transform: scale3d(1.05, 0.95, 1);\n }\n 75% {\n transform: scale3d(0.95, 1.05, 1);\n }\n 100% {\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rotate {\n 0% {\n opacity: 0;\n transform: translateZ(-200px) rotate(-45deg);\n }\n 100% {\n opacity: 1;\n transform: translateZ(0) rotate(0);\n }\n}\n\n@keyframes pulse {\n 0% {\n box-shadow: 0px 0px 0px 0px #bdc3c7;\n }\n 100% {\n box-shadow: 0px 0px 0px 1.5em rgba(189, 195, 199, 0);\n }\n}\n\n.pretty.p-default.p-fill .state label:after {\n transform: scale(1);\n}\n\n.pretty.p-default .state label:after {\n transform: scale(0.6);\n}\n\n.pretty.p-default input:checked ~ .state label:after {\n background-color: #bdc3c7 !important;\n}\n\n.pretty.p-default.p-thick .state label:before, .pretty.p-default.p-thick .state label:after {\n border-width: calc(1em / 7);\n}\n\n.pretty.p-default.p-thick .state label:after {\n transform: scale(0.4) !important;\n}\n\n.pretty.p-icon .state .icon {\n position: absolute;\n font-size: 1em;\n width: calc(1em + 2px);\n height: calc(1em + 2px);\n left: 0;\n z-index: 1;\n text-align: center;\n line-height: normal;\n top: calc((0% - (100% - 1em)) - 8%);\n border: 1px solid transparent;\n opacity: 0;\n}\n\n.pretty.p-icon .state .icon:before {\n margin: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n line-height: 1;\n}\n\n.pretty.p-icon input:checked ~ .state .icon {\n opacity: 1;\n}\n\n.pretty.p-icon input:checked ~ .state label:before {\n border-color: #5a656b;\n}\n\n.pretty.p-svg .state .svg {\n position: absolute;\n font-size: 1em;\n width: calc(1em + 2px);\n height: calc(1em + 2px);\n left: 0;\n z-index: 1;\n text-align: center;\n line-height: normal;\n top: calc((0% - (100% - 1em)) - 8%);\n border: 1px solid transparent;\n opacity: 0;\n}\n\n.pretty.p-svg .state svg {\n margin: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n line-height: 1;\n}\n\n.pretty.p-svg input:checked ~ .state .svg {\n opacity: 1;\n}\n\n.pretty.p-image .state img {\n opacity: 0;\n position: absolute;\n width: calc(1em + 2px);\n height: calc(1em + 2px);\n top: 0;\n top: calc((0% - (100% - 1em)) - 8%);\n left: 0;\n z-index: 0;\n text-align: center;\n line-height: normal;\n transform: scale(0.8);\n}\n\n.pretty.p-image input:checked ~ .state img {\n opacity: 1;\n}\n\n.pretty.p-switch input {\n width: 2em;\n}\n\n.pretty.p-switch .state {\n position: relative;\n}\n\n.pretty.p-switch .state:before {\n content: '';\n border: 1px solid #bdc3c7;\n border-radius: 60px;\n width: 2em;\n box-sizing: unset;\n height: calc(1em + 2px);\n position: absolute;\n top: 0;\n top: calc((0% - (100% - 1em)) - 16%);\n z-index: 0;\n transition: all 0.5s ease;\n}\n\n.pretty.p-switch .state label {\n text-indent: 2.5em;\n}\n\n.pretty.p-switch .state label:before, .pretty.p-switch .state label:after {\n transition: all 0.5s ease;\n border-radius: 100%;\n left: 0;\n border-color: transparent;\n transform: scale(0.8);\n}\n\n.pretty.p-switch .state label:after {\n background-color: #bdc3c7 !important;\n}\n\n.pretty.p-switch input:checked ~ .state:before {\n border-color: #5a656b;\n}\n\n.pretty.p-switch input:checked ~ .state label:before {\n opacity: 0;\n}\n\n.pretty.p-switch input:checked ~ .state label:after {\n background-color: #5a656b !important;\n left: 1em;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state:before {\n border-color: #5a656b;\n background-color: #5a656b !important;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state label:before {\n opacity: 0;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state label:after {\n background-color: #fff !important;\n left: 1em;\n}\n\n.pretty.p-switch.p-slim .state:before {\n height: 0.1em;\n background: #bdc3c7 !important;\n top: calc(50% - 0.1em);\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state:before {\n border-color: #5a656b;\n background-color: #5a656b !important;\n}\n\n.pretty.p-has-hover input:hover ~ .state:not(.p-is-hover) {\n display: none;\n}\n\n.pretty.p-has-hover input:hover ~ .state.p-is-hover {\n display: block;\n}\n\n.pretty.p-has-hover input:hover ~ .state.p-is-hover .icon {\n display: block;\n}\n\n.pretty.p-has-focus input:focus ~ .state label:before {\n box-shadow: 0px 0px 3px 0px #bdc3c7;\n}\n\n.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state:not(.p-is-indeterminate) {\n display: none;\n}\n\n.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state.p-is-indeterminate {\n display: block;\n}\n\n.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state.p-is-indeterminate .icon {\n display: block;\n opacity: 1;\n}\n\n.pretty.p-toggle .state.p-on {\n opacity: 0;\n display: none;\n}\n\n.pretty.p-toggle .state.p-off,\n.pretty.p-toggle .state .icon,\n.pretty.p-toggle .state .svg,\n.pretty.p-toggle .state img {\n opacity: 1;\n display: inherit;\n}\n\n.pretty.p-toggle .state.p-off .icon {\n color: #bdc3c7;\n}\n\n.pretty.p-toggle input:checked ~ .state.p-on {\n opacity: 1;\n display: inherit;\n}\n\n.pretty.p-toggle input:checked ~ .state.p-off {\n opacity: 0;\n display: none;\n}\n\n.pretty.p-plain input:checked ~ .state label:before,\n.pretty.p-plain.p-toggle .state label:before {\n content: none;\n}\n\n.pretty.p-plain.p-plain .icon {\n transform: scale(1.1);\n}\n\n.pretty.p-round .state label:before, .pretty.p-round .state label:after {\n border-radius: 100%;\n}\n\n.pretty.p-round.p-icon .state .icon {\n border-radius: 100%;\n overflow: hidden;\n}\n\n.pretty.p-round.p-icon .state .icon:before {\n transform: scale(0.8);\n}\n\n.pretty.p-curve .state label:before, .pretty.p-curve .state label:after {\n border-radius: 20%;\n}\n\n.pretty.p-smooth label:before,\n.pretty.p-smooth label:after,\n.pretty.p-smooth .icon,\n.pretty.p-smooth .svg {\n transition: all 0.5s ease;\n}\n\n.pretty.p-smooth input:checked + .state label:after {\n transition: all 0.3s ease;\n}\n\n.pretty.p-smooth input:checked + .state .icon,\n.pretty.p-smooth input:checked + .state .svg,\n.pretty.p-smooth input:checked + .state img {\n animation: zoom 0.2s ease;\n}\n\n.pretty.p-smooth.p-default input:checked + .state label:after {\n animation: zoom 0.2s ease;\n}\n\n.pretty.p-smooth.p-plain input:checked + .state label:before {\n content: '';\n transform: scale(0);\n transition: all 0.5s ease;\n}\n\n.pretty.p-tada:not(.p-default) input:checked + .state .icon,\n.pretty.p-tada:not(.p-default) input:checked + .state .svg,\n.pretty.p-tada:not(.p-default) input:checked + .state img,\n.pretty.p-tada:not(.p-default) input:checked + .state label:before,\n.pretty.p-tada:not(.p-default) input:checked + .state label:after {\n animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;\n opacity: 1;\n}\n\n.pretty.p-jelly:not(.p-default) input:checked + .state .icon,\n.pretty.p-jelly:not(.p-default) input:checked + .state .svg,\n.pretty.p-jelly:not(.p-default) input:checked + .state img,\n.pretty.p-jelly:not(.p-default) input:checked + .state label:before,\n.pretty.p-jelly:not(.p-default) input:checked + .state label:after {\n animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n opacity: 1;\n}\n\n.pretty.p-jelly:not(.p-default) input:checked + .state label:before {\n border-color: transparent;\n}\n\n.pretty.p-rotate:not(.p-default) input:checked ~ .state .icon,\n.pretty.p-rotate:not(.p-default) input:checked ~ .state .svg,\n.pretty.p-rotate:not(.p-default) input:checked ~ .state img,\n.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before,\n.pretty.p-rotate:not(.p-default) input:checked ~ .state label:after {\n animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n opacity: 1;\n}\n\n.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before {\n border-color: transparent;\n}\n\n.pretty.p-pulse:not(.p-switch) input:checked ~ .state label:before {\n animation: pulse 1s;\n}\n\n.pretty input[disabled] {\n cursor: not-allowed;\n display: none;\n}\n\n.pretty input[disabled] ~ * {\n opacity: .5;\n}\n\n.pretty.p-locked input {\n display: none;\n cursor: not-allowed;\n}\n\n.pretty input:checked ~ .state.p-primary label:after,\n.pretty.p-toggle .state.p-primary label:after {\n background-color: #428bca !important;\n}\n\n.pretty input:checked ~ .state.p-primary .icon,\n.pretty input:checked ~ .state.p-primary .svg,\n.pretty.p-toggle .state.p-primary .icon,\n.pretty.p-toggle .state.p-primary .svg {\n color: #fff;\n stroke: #fff;\n}\n\n.pretty input:checked ~ .state.p-primary-o label:before,\n.pretty.p-toggle .state.p-primary-o label:before {\n border-color: #428bca;\n}\n\n.pretty input:checked ~ .state.p-primary-o label:after,\n.pretty.p-toggle .state.p-primary-o label:after {\n background-color: transparent;\n}\n\n.pretty input:checked ~ .state.p-primary-o .icon,\n.pretty input:checked ~ .state.p-primary-o .svg,\n.pretty input:checked ~ .state.p-primary-o svg,\n.pretty.p-toggle .state.p-primary-o .icon,\n.pretty.p-toggle .state.p-primary-o .svg,\n.pretty.p-toggle .state.p-primary-o svg {\n color: #428bca;\n stroke: #428bca;\n}\n\n.pretty.p-default:not(.p-fill) input:checked ~ .state.p-primary-o label:after {\n background-color: #428bca !important;\n}\n\n.pretty.p-switch input:checked ~ .state.p-primary:before {\n border-color: #428bca;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state.p-primary:before {\n background-color: #428bca !important;\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state.p-primary:before {\n border-color: #245682;\n background-color: #245682 !important;\n}\n\n.pretty input:checked ~ .state.p-info label:after,\n.pretty.p-toggle .state.p-info label:after {\n background-color: #5bc0de !important;\n}\n\n.pretty input:checked ~ .state.p-info .icon,\n.pretty input:checked ~ .state.p-info .svg,\n.pretty.p-toggle .state.p-info .icon,\n.pretty.p-toggle .state.p-info .svg {\n color: #fff;\n stroke: #fff;\n}\n\n.pretty input:checked ~ .state.p-info-o label:before,\n.pretty.p-toggle .state.p-info-o label:before {\n border-color: #5bc0de;\n}\n\n.pretty input:checked ~ .state.p-info-o label:after,\n.pretty.p-toggle .state.p-info-o label:after {\n background-color: transparent;\n}\n\n.pretty input:checked ~ .state.p-info-o .icon,\n.pretty input:checked ~ .state.p-info-o .svg,\n.pretty input:checked ~ .state.p-info-o svg,\n.pretty.p-toggle .state.p-info-o .icon,\n.pretty.p-toggle .state.p-info-o .svg,\n.pretty.p-toggle .state.p-info-o svg {\n color: #5bc0de;\n stroke: #5bc0de;\n}\n\n.pretty.p-default:not(.p-fill) input:checked ~ .state.p-info-o label:after {\n background-color: #5bc0de !important;\n}\n\n.pretty.p-switch input:checked ~ .state.p-info:before {\n border-color: #5bc0de;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state.p-info:before {\n background-color: #5bc0de !important;\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state.p-info:before {\n border-color: #2390b0;\n background-color: #2390b0 !important;\n}\n\n.pretty input:checked ~ .state.p-success label:after,\n.pretty.p-toggle .state.p-success label:after {\n background-color: #5cb85c !important;\n}\n\n.pretty input:checked ~ .state.p-success .icon,\n.pretty input:checked ~ .state.p-success .svg,\n.pretty.p-toggle .state.p-success .icon,\n.pretty.p-toggle .state.p-success .svg {\n color: #fff;\n stroke: #fff;\n}\n\n.pretty input:checked ~ .state.p-success-o label:before,\n.pretty.p-toggle .state.p-success-o label:before {\n border-color: #5cb85c;\n}\n\n.pretty input:checked ~ .state.p-success-o label:after,\n.pretty.p-toggle .state.p-success-o label:after {\n background-color: transparent;\n}\n\n.pretty input:checked ~ .state.p-success-o .icon,\n.pretty input:checked ~ .state.p-success-o .svg,\n.pretty input:checked ~ .state.p-success-o svg,\n.pretty.p-toggle .state.p-success-o .icon,\n.pretty.p-toggle .state.p-success-o .svg,\n.pretty.p-toggle .state.p-success-o svg {\n color: #5cb85c;\n stroke: #5cb85c;\n}\n\n.pretty.p-default:not(.p-fill) input:checked ~ .state.p-success-o label:after {\n background-color: #5cb85c !important;\n}\n\n.pretty.p-switch input:checked ~ .state.p-success:before {\n border-color: #5cb85c;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state.p-success:before {\n background-color: #5cb85c !important;\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state.p-success:before {\n border-color: #357935;\n background-color: #357935 !important;\n}\n\n.pretty input:checked ~ .state.p-warning label:after,\n.pretty.p-toggle .state.p-warning label:after {\n background-color: #f0ad4e !important;\n}\n\n.pretty input:checked ~ .state.p-warning .icon,\n.pretty input:checked ~ .state.p-warning .svg,\n.pretty.p-toggle .state.p-warning .icon,\n.pretty.p-toggle .state.p-warning .svg {\n color: #fff;\n stroke: #fff;\n}\n\n.pretty input:checked ~ .state.p-warning-o label:before,\n.pretty.p-toggle .state.p-warning-o label:before {\n border-color: #f0ad4e;\n}\n\n.pretty input:checked ~ .state.p-warning-o label:after,\n.pretty.p-toggle .state.p-warning-o label:after {\n background-color: transparent;\n}\n\n.pretty input:checked ~ .state.p-warning-o .icon,\n.pretty input:checked ~ .state.p-warning-o .svg,\n.pretty input:checked ~ .state.p-warning-o svg,\n.pretty.p-toggle .state.p-warning-o .icon,\n.pretty.p-toggle .state.p-warning-o .svg,\n.pretty.p-toggle .state.p-warning-o svg {\n color: #f0ad4e;\n stroke: #f0ad4e;\n}\n\n.pretty.p-default:not(.p-fill) input:checked ~ .state.p-warning-o label:after {\n background-color: #f0ad4e !important;\n}\n\n.pretty.p-switch input:checked ~ .state.p-warning:before {\n border-color: #f0ad4e;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state.p-warning:before {\n background-color: #f0ad4e !important;\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state.p-warning:before {\n border-color: #c77c11;\n background-color: #c77c11 !important;\n}\n\n.pretty input:checked ~ .state.p-danger label:after,\n.pretty.p-toggle .state.p-danger label:after {\n background-color: #d9534f !important;\n}\n\n.pretty input:checked ~ .state.p-danger .icon,\n.pretty input:checked ~ .state.p-danger .svg,\n.pretty.p-toggle .state.p-danger .icon,\n.pretty.p-toggle .state.p-danger .svg {\n color: #fff;\n stroke: #fff;\n}\n\n.pretty input:checked ~ .state.p-danger-o label:before,\n.pretty.p-toggle .state.p-danger-o label:before {\n border-color: #d9534f;\n}\n\n.pretty input:checked ~ .state.p-danger-o label:after,\n.pretty.p-toggle .state.p-danger-o label:after {\n background-color: transparent;\n}\n\n.pretty input:checked ~ .state.p-danger-o .icon,\n.pretty input:checked ~ .state.p-danger-o .svg,\n.pretty input:checked ~ .state.p-danger-o svg,\n.pretty.p-toggle .state.p-danger-o .icon,\n.pretty.p-toggle .state.p-danger-o .svg,\n.pretty.p-toggle .state.p-danger-o svg {\n color: #d9534f;\n stroke: #d9534f;\n}\n\n.pretty.p-default:not(.p-fill) input:checked ~ .state.p-danger-o label:after {\n background-color: #d9534f !important;\n}\n\n.pretty.p-switch input:checked ~ .state.p-danger:before {\n border-color: #d9534f;\n}\n\n.pretty.p-switch.p-fill input:checked ~ .state.p-danger:before {\n background-color: #d9534f !important;\n}\n\n.pretty.p-switch.p-slim input:checked ~ .state.p-danger:before {\n border-color: #a02622;\n background-color: #a02622 !important;\n}\n\n.pretty.p-bigger label:before,\n.pretty.p-bigger label:after,\n.pretty.p-bigger .icon,\n.pretty.p-bigger .svg,\n.pretty.p-bigger .img {\n font-size: 1.2em !important;\n top: calc((0% - (100% - 1em)) - 35%) !important;\n}\n\n.pretty.p-bigger label {\n text-indent: 1.7em;\n}\n\n@media print {\n .pretty .state:before,\n .pretty .state label:before,\n .pretty .state label:after,\n .pretty .state .icon {\n color-adjust: exact;\n /* stylelint-disable */\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n}\n",".#{$pretty--class-name}.p-default.p-fill {\n .state label {\n &:after {\n transform: scale(1);\n }\n }\n}",".#{$pretty--class-name}.p-default {\n .state label {\n &:after {\n transform: scale(0.6);\n }\n }\n\n input:checked ~ .state label {\n &:after {\n background-color: $pretty--color-default !important;\n }\n }\n}",".#{$pretty--class-name}.p-default.p-thick {\n .state label {\n &:before,\n &:after {\n border-width: calc(1em / 7);\n }\n\n &:after {\n transform: scale(0.4) !important;\n }\n }\n}",".#{$pretty--class-name}.p-icon {\n .state {\n .icon {\n position: absolute;\n font-size: 1em;\n width: $pretty--box-size;\n height: $pretty--box-size;\n left: 0;\n z-index: $pretty--z-index-between;\n text-align: center;\n line-height: normal;\n top: $pretty-top-offset;\n border: 1px solid transparent;\n opacity: 0;\n }\n\n .icon:before {\n margin: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n line-height: 1;\n }\n }\n\n input:checked ~ .state {\n .icon {\n opacity: 1;\n }\n\n label:before {\n border-color: #5a656b;\n }\n }\n}",".#{$pretty--class-name}.p-svg {\n .state {\n .svg {\n position: absolute;\n font-size: 1em;\n width: $pretty--box-size;\n height: $pretty--box-size;\n left: 0;\n z-index: $pretty--z-index-between;\n text-align: center;\n line-height: normal;\n top: $pretty-top-offset;\n border: 1px solid transparent;\n opacity: 0;\n }\n\n svg {\n margin: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n line-height: 1;\n }\n }\n\n input:checked ~ .state .svg {\n opacity: 1;\n }\n}",".#{$pretty--class-name}.p-image {\n .state {\n img {\n opacity: 0;\n position: absolute;\n width: $pretty--box-size;\n height: $pretty--box-size;\n top: 0;\n top: $pretty-top-offset;\n left: 0;\n z-index: $pretty--z-index-back;\n text-align: center;\n line-height: normal;\n transform: scale(0.8);\n }\n }\n\n input:checked ~ .state img {\n opacity: 1;\n }\n}",".#{$pretty--class-name}.p-switch {\n input{\n width:2em;\n }\n .state {\n position: relative;\n\n &:before {\n content: '';\n border: 1px solid $pretty--color-default;\n border-radius: 60px;\n width: 2em;\n box-sizing: unset;\n height: $pretty--box-size;\n position: absolute;\n top: 0;\n top: $pretty-top-offset-switch;\n z-index: $pretty--z-index-back;\n transition: all 0.5s ease;\n }\n\n label {\n text-indent: $pretty--label-text-offset-switch;\n\n &:before,\n &:after {\n transition: all 0.5s ease;\n border-radius: 100%;\n left: 0;\n border-color: transparent;\n transform: scale(0.8);\n }\n\n &:after {\n background-color: $pretty--color-default !important;\n }\n }\n }\n\n input:checked ~ .state {\n &:before {\n border-color: $pretty--color-dark;\n }\n\n label:before {\n opacity: 0;\n }\n\n label:after {\n background-color: $pretty--color-dark !important;\n left: 1em;\n }\n }\n}",".#{$pretty--class-name}.p-switch.p-fill {\n input:checked~.state {\n &:before {\n border-color: $pretty--color-dark;\n background-color: $pretty--color-dark !important;\n }\n label:before {\n opacity: 0;\n }\n label:after {\n background-color: #fff !important;\n left: 1em;\n }\n }\n}",".#{$pretty--class-name}.p-switch.p-slim {\n .state {\n &:before {\n height: 0.1em;\n background: $pretty--color-default !important;\n top: calc(50% - 0.1em);\n }\n }\n\n input:checked ~ .state {\n &:before {\n border-color: $pretty--color-dark;\n background-color: $pretty--color-dark !important;\n }\n }\n}",".#{$pretty--class-name}.p-has-hover {\n input:hover ~ .state:not(.p-is-hover) {\n display: none;\n }\n\n input:hover ~ .state.p-is-hover {\n display: block;\n\n .icon {\n display: block;\n }\n }\n}",".#{$pretty--class-name}.p-has-focus {\n input:focus {\n ~ .state label:before {\n box-shadow: 0px 0px 3px 0px rgb(189, 195, 199);\n }\n }\n}",".#{$pretty--class-name}.p-has-indeterminate {\n input[type='checkbox']:indeterminate ~.state:not(.p-is-indeterminate) {\n display: none;\n }\n\n input[type='checkbox']:indeterminate ~.state.p-is-indeterminate {\n display: block;\n\n .icon {\n display: block;\n opacity: 1;\n }\n }\n}",".#{$pretty--class-name}.p-toggle {\n .state {\n &.p-on {\n opacity: 0;\n display: none;\n }\n\n &.p-off,\n .icon,\n .svg,\n img {\n opacity: 1;\n display: inherit;\n }\n\n &.p-off .icon {\n color: $pretty--color-default;\n }\n }\n\n input:checked ~ .state {\n &.p-on {\n opacity: 1;\n display: inherit;\n }\n\n &.p-off {\n opacity: 0;\n display: none;\n }\n }\n}",".#{$pretty--class-name}.p-plain {\n input:checked ~ .state label,\n &.p-toggle .state label {\n &:before {\n content: none;\n }\n }\n\n &.p-plain .icon {\n transform: scale(1.1);\n }\n}",".#{$pretty--class-name}.p-round {\n .state label {\n &:before,\n &:after {\n border-radius: 100%;\n }\n }\n\n &.p-icon .state .icon {\n border-radius: 100%;\n overflow: hidden;\n\n &:before {\n transform: scale(0.8);\n }\n }\n}\n",".#{$pretty--class-name}.p-curve {\n .state label {\n &:before,\n &:after {\n border-radius: $pretty--curve-radius;\n }\n }\n}",".#{$pretty--class-name}.p-smooth {\n label:before,\n label:after,\n .icon,\n .svg {\n transition: all 0.5s ease;\n }\n\n input:checked + .state {\n label:after {\n transition: all 0.3s ease;\n }\n\n .icon,\n .svg,\n img {\n animation: zoom 0.2s ease;\n }\n }\n\n &.p-default input:checked + .state {\n label:after {\n animation: zoom 0.2s ease;\n }\n }\n\n &.p-plain input:checked + .state {\n label:before {\n content: '';\n transform: scale(0);\n transition: all 0.5s ease;\n }\n }\n}\n\n.#{$pretty--class-name}.p-tada:not(.p-default) {\n input:checked + .state {\n .icon,\n .svg,\n img,\n label:before,\n label:after {\n animation: tada 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1 alternate;\n opacity: 1;\n }\n }\n}\n\n.#{$pretty--class-name}.p-jelly:not(.p-default) {\n input:checked + .state {\n .icon,\n .svg,\n img,\n label:before,\n label:after {\n animation: jelly 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940);\n opacity: 1;\n }\n\n label:before {\n border-color: transparent;\n }\n }\n}\n\n.#{$pretty--class-name}.p-rotate:not(.p-default) {\n input:checked ~ .state {\n .icon,\n .svg,\n img,\n label:before,\n label:after {\n animation: rotate 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940);\n opacity: 1;\n }\n\n label:before {\n border-color: transparent;\n }\n }\n}\n\n.#{$pretty--class-name}.p-pulse:not(.p-switch) {\n input:checked ~ .state {\n label:before {\n animation: pulse 1s;\n }\n }\n}",".#{$pretty--class-name} {\n input {\n &[disabled] {\n cursor: not-allowed;\n display: none;\n\n & ~ * {\n opacity: .5;\n }\n }\n }\n}\r\n",".#{$pretty--class-name}.p-locked {\n input {\n display: none;\n cursor: not-allowed;\n }\n}",".#{$pretty--class-name} {\n @each $name, $color in $pretty--colors {\n input:checked ~ .state.p-#{$name},\n &.p-toggle .state.p-#{$name} {\n label:after {\n background-color: $color !important;\n }\n\n .icon,\n .svg {\n color: #fff;\n stroke: #fff;\n }\n }\n\n input:checked ~ .state.p-#{$name}-o,\n &.p-toggle .state.p-#{$name}-o {\n label:before {\n border-color: $color;\n }\n\n label:after {\n background-color: transparent;\n }\n\n .icon,\n .svg,\n svg {\n color: $color;\n stroke: $color;\n }\n }\n\n &.p-default:not(.p-fill) input:checked ~ .state.p-#{$name}-o label {\n &:after {\n background-color: $color !important;\n }\n }\n\n &.p-switch input:checked ~ .state.p-#{$name}:before {\n border-color: $color;\n }\n\n &.p-switch.p-fill input:checked ~ .state.p-#{$name}:before {\n background-color: $color !important;\n }\n\n &.p-switch.p-slim input:checked ~ .state.p-#{$name}:before {\n border-color: darken($color, 20%);\n background-color: darken($color, 20%) !important;\n }\n }\n}",".#{$pretty--class-name}.p-bigger {\n label:before,\n label:after,\n .icon,\n .svg,\n .img {\n font-size: $pretty--2x !important;\n top: calc((0% - (100% - 1em)) - 35%) !important;\n }\n\n label {\n text-indent: 1.7em;\n }\n}","@media print {\n .#{$pretty--class-name} {\n .state:before,\n .state label:before,\n .state label:after,\n .state .icon {\n color-adjust: exact;\n /* stylelint-disable */\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n }\n }\n}"]}
\ No newline at end of file
diff --git a/dist/pretty-checkbox.css b/dist/pretty-checkbox.css
new file mode 100644
index 0000000..aa84532
--- /dev/null
+++ b/dist/pretty-checkbox.css
@@ -0,0 +1,959 @@
+.pretty * {
+ box-sizing: border-box;
+}
+
+.pretty input:not([type='checkbox']):not([type='radio']) {
+ display: none;
+}
+
+.pretty input:not([type='checkbox']):not([type='radio']) + *:after {
+ content: "Invalid input type!";
+ border: 1px solid #dedede;
+ border-left: 3px solid #d9534f;
+ padding: 9px;
+ font-size: 1em;
+ font-weight: 600;
+ color: #d9534f;
+ position: absolute;
+ z-index: 3;
+ background: #fbfbfb;
+ top: 0;
+ left: 0;
+}
+
+.pretty {
+ position: relative;
+ display: inline-block;
+ margin-right: 1em;
+ white-space: nowrap;
+ line-height: 1;
+}
+
+.pretty input {
+ position: absolute;
+ left: 0;
+ top: 0;
+ min-width: 1em;
+ width: 100%;
+ height: 100%;
+ z-index: 2;
+ opacity: 0;
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+}
+
+.pretty .state label {
+ position: initial;
+ display: inline-block;
+ font-weight: normal;
+ margin: 0;
+ text-indent: 1.5em;
+ min-width: calc(1em + 2px);
+}
+
+.pretty .state label:before, .pretty .state label:after {
+ content: '';
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ display: block;
+ box-sizing: border-box;
+ border-radius: 0;
+ border: 1px solid transparent;
+ z-index: 0;
+ position: absolute;
+ left: 0;
+ top: calc((0% - (100% - 1em)) - 8%);
+ background-color: transparent;
+}
+
+.pretty .state label:before {
+ border-color: #bdc3c7;
+}
+
+.pretty .state.p-is-hover, .pretty .state.p-is-indeterminate {
+ display: none;
+}
+
+@-webkit-keyframes zoom {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ }
+}
+
+@keyframes zoom {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ }
+}
+
+@-webkit-keyframes tada {
+ 0% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ -webkit-transform: scale(7);
+ transform: scale(7);
+ }
+ 38% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 55% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+ 72% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 81% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.24);
+ transform: scale(1.24);
+ }
+ 89% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 95% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.04);
+ transform: scale(1.04);
+ }
+ 100% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@keyframes tada {
+ 0% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ -webkit-transform: scale(7);
+ transform: scale(7);
+ }
+ 38% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ opacity: 1;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 55% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ }
+ 72% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 81% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.24);
+ transform: scale(1.24);
+ }
+ 89% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+ 95% {
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ -webkit-transform: scale(1.04);
+ transform: scale(1.04);
+ }
+ 100% {
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ }
+}
+
+@-webkit-keyframes jelly {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 30% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+ 40% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+ 50% {
+ -webkit-transform: scale3d(0.85, 1.15, 1);
+ transform: scale3d(0.85, 1.15, 1);
+ }
+ 65% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+ 75% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes jelly {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 30% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+ 40% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+ 50% {
+ -webkit-transform: scale3d(0.85, 1.15, 1);
+ transform: scale3d(0.85, 1.15, 1);
+ }
+ 65% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+ 75% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@-webkit-keyframes rotate {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateZ(-200px) rotate(-45deg);
+ transform: translateZ(-200px) rotate(-45deg);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateZ(0) rotate(0);
+ transform: translateZ(0) rotate(0);
+ }
+}
+
+@keyframes rotate {
+ 0% {
+ opacity: 0;
+ -webkit-transform: translateZ(-200px) rotate(-45deg);
+ transform: translateZ(-200px) rotate(-45deg);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: translateZ(0) rotate(0);
+ transform: translateZ(0) rotate(0);
+ }
+}
+
+@-webkit-keyframes pulse {
+ 0% {
+ box-shadow: 0px 0px 0px 0px #bdc3c7;
+ }
+ 100% {
+ box-shadow: 0px 0px 0px 1.5em rgba(189, 195, 199, 0);
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ box-shadow: 0px 0px 0px 0px #bdc3c7;
+ }
+ 100% {
+ box-shadow: 0px 0px 0px 1.5em rgba(189, 195, 199, 0);
+ }
+}
+
+.pretty.p-default.p-fill .state label:after {
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+}
+
+.pretty.p-default .state label:after {
+ -webkit-transform: scale(0.6);
+ -ms-transform: scale(0.6);
+ transform: scale(0.6);
+}
+
+.pretty.p-default input:checked ~ .state label:after {
+ background-color: #bdc3c7 !important;
+}
+
+.pretty.p-default.p-thick .state label:before, .pretty.p-default.p-thick .state label:after {
+ border-width: calc(1em / 7);
+}
+
+.pretty.p-default.p-thick .state label:after {
+ -webkit-transform: scale(0.4) !important;
+ -ms-transform: scale(0.4) !important;
+ transform: scale(0.4) !important;
+}
+
+.pretty.p-icon .state .icon {
+ position: absolute;
+ font-size: 1em;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ left: 0;
+ z-index: 1;
+ text-align: center;
+ line-height: normal;
+ top: calc((0% - (100% - 1em)) - 8%);
+ border: 1px solid transparent;
+ opacity: 0;
+}
+
+.pretty.p-icon .state .icon:before {
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 1;
+}
+
+.pretty.p-icon input:checked ~ .state .icon {
+ opacity: 1;
+}
+
+.pretty.p-icon input:checked ~ .state label:before {
+ border-color: #5a656b;
+}
+
+.pretty.p-svg .state .svg {
+ position: absolute;
+ font-size: 1em;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ left: 0;
+ z-index: 1;
+ text-align: center;
+ line-height: normal;
+ top: calc((0% - (100% - 1em)) - 8%);
+ border: 1px solid transparent;
+ opacity: 0;
+}
+
+.pretty.p-svg .state svg {
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 1;
+}
+
+.pretty.p-svg input:checked ~ .state .svg {
+ opacity: 1;
+}
+
+.pretty.p-image .state img {
+ opacity: 0;
+ position: absolute;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ top: 0;
+ top: calc((0% - (100% - 1em)) - 8%);
+ left: 0;
+ z-index: 0;
+ text-align: center;
+ line-height: normal;
+ -webkit-transform: scale(0.8);
+ -ms-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.p-image input:checked ~ .state img {
+ opacity: 1;
+}
+
+.pretty.p-switch input {
+ width: 2em;
+}
+
+.pretty.p-switch .state {
+ position: relative;
+}
+
+.pretty.p-switch .state:before {
+ content: '';
+ border: 1px solid #bdc3c7;
+ border-radius: 60px;
+ width: 2em;
+ box-sizing: unset;
+ height: calc(1em + 2px);
+ position: absolute;
+ top: 0;
+ top: calc((0% - (100% - 1em)) - 16%);
+ z-index: 0;
+ transition: all 0.5s ease;
+}
+
+.pretty.p-switch .state label {
+ text-indent: 2.5em;
+}
+
+.pretty.p-switch .state label:before, .pretty.p-switch .state label:after {
+ transition: all 0.5s ease;
+ border-radius: 100%;
+ left: 0;
+ border-color: transparent;
+ -webkit-transform: scale(0.8);
+ -ms-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.p-switch .state label:after {
+ background-color: #bdc3c7 !important;
+}
+
+.pretty.p-switch input:checked ~ .state:before {
+ border-color: #5a656b;
+}
+
+.pretty.p-switch input:checked ~ .state label:before {
+ opacity: 0;
+}
+
+.pretty.p-switch input:checked ~ .state label:after {
+ background-color: #5a656b !important;
+ left: 1em;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state:before {
+ border-color: #5a656b;
+ background-color: #5a656b !important;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state label:before {
+ opacity: 0;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state label:after {
+ background-color: #fff !important;
+ left: 1em;
+}
+
+.pretty.p-switch.p-slim .state:before {
+ height: 0.1em;
+ background: #bdc3c7 !important;
+ top: calc(50% - 0.1em);
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state:before {
+ border-color: #5a656b;
+ background-color: #5a656b !important;
+}
+
+.pretty.p-has-hover input:hover ~ .state:not(.p-is-hover) {
+ display: none;
+}
+
+.pretty.p-has-hover input:hover ~ .state.p-is-hover {
+ display: block;
+}
+
+.pretty.p-has-hover input:hover ~ .state.p-is-hover .icon {
+ display: block;
+}
+
+.pretty.p-has-focus input:focus ~ .state label:before {
+ box-shadow: 0px 0px 3px 0px #bdc3c7;
+}
+
+.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state:not(.p-is-indeterminate) {
+ display: none;
+}
+
+.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state.p-is-indeterminate {
+ display: block;
+}
+
+.pretty.p-has-indeterminate input[type='checkbox']:indeterminate ~ .state.p-is-indeterminate .icon {
+ display: block;
+ opacity: 1;
+}
+
+.pretty.p-toggle .state.p-on {
+ opacity: 0;
+ display: none;
+}
+
+.pretty.p-toggle .state.p-off,
+.pretty.p-toggle .state .icon,
+.pretty.p-toggle .state .svg,
+.pretty.p-toggle .state img {
+ opacity: 1;
+ display: inherit;
+}
+
+.pretty.p-toggle .state.p-off .icon {
+ color: #bdc3c7;
+}
+
+.pretty.p-toggle input:checked ~ .state.p-on {
+ opacity: 1;
+ display: inherit;
+}
+
+.pretty.p-toggle input:checked ~ .state.p-off {
+ opacity: 0;
+ display: none;
+}
+
+.pretty.p-plain input:checked ~ .state label:before,
+.pretty.p-plain.p-toggle .state label:before {
+ content: none;
+}
+
+.pretty.p-plain.p-plain .icon {
+ -webkit-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ transform: scale(1.1);
+}
+
+.pretty.p-round .state label:before, .pretty.p-round .state label:after {
+ border-radius: 100%;
+}
+
+.pretty.p-round.p-icon .state .icon {
+ border-radius: 100%;
+ overflow: hidden;
+}
+
+.pretty.p-round.p-icon .state .icon:before {
+ -webkit-transform: scale(0.8);
+ -ms-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.p-curve .state label:before, .pretty.p-curve .state label:after {
+ border-radius: 20%;
+}
+
+.pretty.p-smooth label:before,
+.pretty.p-smooth label:after,
+.pretty.p-smooth .icon,
+.pretty.p-smooth .svg {
+ transition: all 0.5s ease;
+}
+
+.pretty.p-smooth input:checked + .state label:after {
+ transition: all 0.3s ease;
+}
+
+.pretty.p-smooth input:checked + .state .icon,
+.pretty.p-smooth input:checked + .state .svg,
+.pretty.p-smooth input:checked + .state img {
+ -webkit-animation: zoom 0.2s ease;
+ animation: zoom 0.2s ease;
+}
+
+.pretty.p-smooth.p-default input:checked + .state label:after {
+ -webkit-animation: zoom 0.2s ease;
+ animation: zoom 0.2s ease;
+}
+
+.pretty.p-smooth.p-plain input:checked + .state label:before {
+ content: '';
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
+ transition: all 0.5s ease;
+}
+
+.pretty.p-tada:not(.p-default) input:checked + .state .icon,
+.pretty.p-tada:not(.p-default) input:checked + .state .svg,
+.pretty.p-tada:not(.p-default) input:checked + .state img,
+.pretty.p-tada:not(.p-default) input:checked + .state label:before,
+.pretty.p-tada:not(.p-default) input:checked + .state label:after {
+ -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
+ animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
+ opacity: 1;
+}
+
+.pretty.p-jelly:not(.p-default) input:checked + .state .icon,
+.pretty.p-jelly:not(.p-default) input:checked + .state .svg,
+.pretty.p-jelly:not(.p-default) input:checked + .state img,
+.pretty.p-jelly:not(.p-default) input:checked + .state label:before,
+.pretty.p-jelly:not(.p-default) input:checked + .state label:after {
+ -webkit-animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ opacity: 1;
+}
+
+.pretty.p-jelly:not(.p-default) input:checked + .state label:before {
+ border-color: transparent;
+}
+
+.pretty.p-rotate:not(.p-default) input:checked ~ .state .icon,
+.pretty.p-rotate:not(.p-default) input:checked ~ .state .svg,
+.pretty.p-rotate:not(.p-default) input:checked ~ .state img,
+.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before,
+.pretty.p-rotate:not(.p-default) input:checked ~ .state label:after {
+ -webkit-animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ opacity: 1;
+}
+
+.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before {
+ border-color: transparent;
+}
+
+.pretty.p-pulse:not(.p-switch) input:checked ~ .state label:before {
+ -webkit-animation: pulse 1s;
+ animation: pulse 1s;
+}
+
+.pretty input[disabled] {
+ cursor: not-allowed;
+ display: none;
+}
+
+.pretty input[disabled] ~ * {
+ opacity: .5;
+}
+
+.pretty.p-locked input {
+ display: none;
+ cursor: not-allowed;
+}
+
+.pretty input:checked ~ .state.p-primary label:after,
+.pretty.p-toggle .state.p-primary label:after {
+ background-color: #428bca !important;
+}
+
+.pretty input:checked ~ .state.p-primary .icon,
+.pretty input:checked ~ .state.p-primary .svg,
+.pretty.p-toggle .state.p-primary .icon,
+.pretty.p-toggle .state.p-primary .svg {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input:checked ~ .state.p-primary-o label:before,
+.pretty.p-toggle .state.p-primary-o label:before {
+ border-color: #428bca;
+}
+
+.pretty input:checked ~ .state.p-primary-o label:after,
+.pretty.p-toggle .state.p-primary-o label:after {
+ background-color: transparent;
+}
+
+.pretty input:checked ~ .state.p-primary-o .icon,
+.pretty input:checked ~ .state.p-primary-o .svg,
+.pretty input:checked ~ .state.p-primary-o svg,
+.pretty.p-toggle .state.p-primary-o .icon,
+.pretty.p-toggle .state.p-primary-o .svg,
+.pretty.p-toggle .state.p-primary-o svg {
+ color: #428bca;
+ stroke: #428bca;
+}
+
+.pretty.p-default:not(.p-fill) input:checked ~ .state.p-primary-o label:after {
+ background-color: #428bca !important;
+}
+
+.pretty.p-switch input:checked ~ .state.p-primary:before {
+ border-color: #428bca;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state.p-primary:before {
+ background-color: #428bca !important;
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state.p-primary:before {
+ border-color: #245682;
+ background-color: #245682 !important;
+}
+
+.pretty input:checked ~ .state.p-info label:after,
+.pretty.p-toggle .state.p-info label:after {
+ background-color: #5bc0de !important;
+}
+
+.pretty input:checked ~ .state.p-info .icon,
+.pretty input:checked ~ .state.p-info .svg,
+.pretty.p-toggle .state.p-info .icon,
+.pretty.p-toggle .state.p-info .svg {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input:checked ~ .state.p-info-o label:before,
+.pretty.p-toggle .state.p-info-o label:before {
+ border-color: #5bc0de;
+}
+
+.pretty input:checked ~ .state.p-info-o label:after,
+.pretty.p-toggle .state.p-info-o label:after {
+ background-color: transparent;
+}
+
+.pretty input:checked ~ .state.p-info-o .icon,
+.pretty input:checked ~ .state.p-info-o .svg,
+.pretty input:checked ~ .state.p-info-o svg,
+.pretty.p-toggle .state.p-info-o .icon,
+.pretty.p-toggle .state.p-info-o .svg,
+.pretty.p-toggle .state.p-info-o svg {
+ color: #5bc0de;
+ stroke: #5bc0de;
+}
+
+.pretty.p-default:not(.p-fill) input:checked ~ .state.p-info-o label:after {
+ background-color: #5bc0de !important;
+}
+
+.pretty.p-switch input:checked ~ .state.p-info:before {
+ border-color: #5bc0de;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state.p-info:before {
+ background-color: #5bc0de !important;
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state.p-info:before {
+ border-color: #2390b0;
+ background-color: #2390b0 !important;
+}
+
+.pretty input:checked ~ .state.p-success label:after,
+.pretty.p-toggle .state.p-success label:after {
+ background-color: #5cb85c !important;
+}
+
+.pretty input:checked ~ .state.p-success .icon,
+.pretty input:checked ~ .state.p-success .svg,
+.pretty.p-toggle .state.p-success .icon,
+.pretty.p-toggle .state.p-success .svg {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input:checked ~ .state.p-success-o label:before,
+.pretty.p-toggle .state.p-success-o label:before {
+ border-color: #5cb85c;
+}
+
+.pretty input:checked ~ .state.p-success-o label:after,
+.pretty.p-toggle .state.p-success-o label:after {
+ background-color: transparent;
+}
+
+.pretty input:checked ~ .state.p-success-o .icon,
+.pretty input:checked ~ .state.p-success-o .svg,
+.pretty input:checked ~ .state.p-success-o svg,
+.pretty.p-toggle .state.p-success-o .icon,
+.pretty.p-toggle .state.p-success-o .svg,
+.pretty.p-toggle .state.p-success-o svg {
+ color: #5cb85c;
+ stroke: #5cb85c;
+}
+
+.pretty.p-default:not(.p-fill) input:checked ~ .state.p-success-o label:after {
+ background-color: #5cb85c !important;
+}
+
+.pretty.p-switch input:checked ~ .state.p-success:before {
+ border-color: #5cb85c;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state.p-success:before {
+ background-color: #5cb85c !important;
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state.p-success:before {
+ border-color: #357935;
+ background-color: #357935 !important;
+}
+
+.pretty input:checked ~ .state.p-warning label:after,
+.pretty.p-toggle .state.p-warning label:after {
+ background-color: #f0ad4e !important;
+}
+
+.pretty input:checked ~ .state.p-warning .icon,
+.pretty input:checked ~ .state.p-warning .svg,
+.pretty.p-toggle .state.p-warning .icon,
+.pretty.p-toggle .state.p-warning .svg {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input:checked ~ .state.p-warning-o label:before,
+.pretty.p-toggle .state.p-warning-o label:before {
+ border-color: #f0ad4e;
+}
+
+.pretty input:checked ~ .state.p-warning-o label:after,
+.pretty.p-toggle .state.p-warning-o label:after {
+ background-color: transparent;
+}
+
+.pretty input:checked ~ .state.p-warning-o .icon,
+.pretty input:checked ~ .state.p-warning-o .svg,
+.pretty input:checked ~ .state.p-warning-o svg,
+.pretty.p-toggle .state.p-warning-o .icon,
+.pretty.p-toggle .state.p-warning-o .svg,
+.pretty.p-toggle .state.p-warning-o svg {
+ color: #f0ad4e;
+ stroke: #f0ad4e;
+}
+
+.pretty.p-default:not(.p-fill) input:checked ~ .state.p-warning-o label:after {
+ background-color: #f0ad4e !important;
+}
+
+.pretty.p-switch input:checked ~ .state.p-warning:before {
+ border-color: #f0ad4e;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state.p-warning:before {
+ background-color: #f0ad4e !important;
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state.p-warning:before {
+ border-color: #c77c11;
+ background-color: #c77c11 !important;
+}
+
+.pretty input:checked ~ .state.p-danger label:after,
+.pretty.p-toggle .state.p-danger label:after {
+ background-color: #d9534f !important;
+}
+
+.pretty input:checked ~ .state.p-danger .icon,
+.pretty input:checked ~ .state.p-danger .svg,
+.pretty.p-toggle .state.p-danger .icon,
+.pretty.p-toggle .state.p-danger .svg {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input:checked ~ .state.p-danger-o label:before,
+.pretty.p-toggle .state.p-danger-o label:before {
+ border-color: #d9534f;
+}
+
+.pretty input:checked ~ .state.p-danger-o label:after,
+.pretty.p-toggle .state.p-danger-o label:after {
+ background-color: transparent;
+}
+
+.pretty input:checked ~ .state.p-danger-o .icon,
+.pretty input:checked ~ .state.p-danger-o .svg,
+.pretty input:checked ~ .state.p-danger-o svg,
+.pretty.p-toggle .state.p-danger-o .icon,
+.pretty.p-toggle .state.p-danger-o .svg,
+.pretty.p-toggle .state.p-danger-o svg {
+ color: #d9534f;
+ stroke: #d9534f;
+}
+
+.pretty.p-default:not(.p-fill) input:checked ~ .state.p-danger-o label:after {
+ background-color: #d9534f !important;
+}
+
+.pretty.p-switch input:checked ~ .state.p-danger:before {
+ border-color: #d9534f;
+}
+
+.pretty.p-switch.p-fill input:checked ~ .state.p-danger:before {
+ background-color: #d9534f !important;
+}
+
+.pretty.p-switch.p-slim input:checked ~ .state.p-danger:before {
+ border-color: #a02622;
+ background-color: #a02622 !important;
+}
+
+.pretty.p-bigger label:before,
+.pretty.p-bigger label:after,
+.pretty.p-bigger .icon,
+.pretty.p-bigger .svg,
+.pretty.p-bigger .img {
+ font-size: 1.2em !important;
+ top: calc((0% - (100% - 1em)) - 35%) !important;
+}
+
+.pretty.p-bigger label {
+ text-indent: 1.7em;
+}
+
+@media print {
+ .pretty .state:before,
+ .pretty .state label:before,
+ .pretty .state label:after,
+ .pretty .state .icon {
+ color-adjust: exact;
+ /* stylelint-disable */
+ -webkit-print-color-adjust: exact;
+ print-color-adjust: exact;
+ }
+}
+
+/*# sourceMappingURL=maps/pretty-checkbox.css.map */
diff --git a/dist/pretty-checkbox.min.css b/dist/pretty-checkbox.min.css
new file mode 100644
index 0000000..d31e1b1
--- /dev/null
+++ b/dist/pretty-checkbox.min.css
@@ -0,0 +1,12 @@
+/**
+ * pretty-checkbox.css
+ *
+ * A pure CSS library to beautify checkbox and radio buttons.
+ *
+ * Source: https://github.com/lokesh-coder/pretty-checkbox
+ * Demo: https://lokesh-coder.github.io/pretty-checkbox
+ *
+ * Copyright (c) 2017 Lokesh rajendran
+ */
+
+.pretty *{box-sizing:border-box}.pretty input:not([type=checkbox]):not([type=radio]){display:none}.pretty{position:relative;display:inline-block;margin-right:1em;white-space:nowrap;line-height:1}.pretty input{position:absolute;left:0;top:0;min-width:1em;width:100%;height:100%;z-index:2;opacity:0;margin:0;padding:0;cursor:pointer}.pretty .state label{position:initial;display:inline-block;font-weight:400;margin:0;text-indent:1.5em;min-width:calc(1em + 2px)}.pretty .state label:after,.pretty .state label:before{content:'';width:calc(1em + 2px);height:calc(1em + 2px);display:block;box-sizing:border-box;border-radius:0;border:1px solid transparent;z-index:0;position:absolute;left:0;top:calc((0% - (100% - 1em)) - 8%);background-color:transparent}.pretty .state label:before{border-color:#bdc3c7}.pretty .state.p-is-hover,.pretty .state.p-is-indeterminate{display:none}@-webkit-keyframes zoom{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes zoom{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes tada{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:scale(7);transform:scale(7)}38%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1;-webkit-transform:scale(1);transform:scale(1)}55%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.5);transform:scale(1.5)}72%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}81%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.24);transform:scale(1.24)}89%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}95%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.04);transform:scale(1.04)}100%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}}@keyframes tada{0%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0;-webkit-transform:scale(7);transform:scale(7)}38%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1;-webkit-transform:scale(1);transform:scale(1)}55%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.5);transform:scale(1.5)}72%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}81%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.24);transform:scale(1.24)}89%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}95%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-transform:scale(1.04);transform:scale(1.04)}100%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes jelly{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}40%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}50%{-webkit-transform:scale3d(.85,1.15,1);transform:scale3d(.85,1.15,1)}65%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}75%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes jelly{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}40%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}50%{-webkit-transform:scale3d(.85,1.15,1);transform:scale3d(.85,1.15,1)}65%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}75%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes rotate{0%{opacity:0;-webkit-transform:translateZ(-200px) rotate(-45deg);transform:translateZ(-200px) rotate(-45deg)}100%{opacity:1;-webkit-transform:translateZ(0) rotate(0);transform:translateZ(0) rotate(0)}}@keyframes rotate{0%{opacity:0;-webkit-transform:translateZ(-200px) rotate(-45deg);transform:translateZ(-200px) rotate(-45deg)}100%{opacity:1;-webkit-transform:translateZ(0) rotate(0);transform:translateZ(0) rotate(0)}}@-webkit-keyframes pulse{0%{box-shadow:0 0 0 0 #bdc3c7}100%{box-shadow:0 0 0 1.5em rgba(189,195,199,0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 #bdc3c7}100%{box-shadow:0 0 0 1.5em rgba(189,195,199,0)}}.pretty.p-default.p-fill .state label:after{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.pretty.p-default .state label:after{-webkit-transform:scale(.6);-ms-transform:scale(.6);transform:scale(.6)}.pretty.p-default input:checked~.state label:after{background-color:#bdc3c7!important}.pretty.p-default.p-thick .state label:after,.pretty.p-default.p-thick .state label:before{border-width:calc(1em / 7)}.pretty.p-default.p-thick .state label:after{-webkit-transform:scale(.4)!important;-ms-transform:scale(.4)!important;transform:scale(.4)!important}.pretty.p-icon .state .icon{position:absolute;font-size:1em;width:calc(1em + 2px);height:calc(1em + 2px);left:0;z-index:1;text-align:center;line-height:normal;top:calc((0% - (100% - 1em)) - 8%);border:1px solid transparent;opacity:0}.pretty.p-icon .state .icon:before{margin:0;width:100%;height:100%;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1}.pretty.p-icon input:checked~.state .icon{opacity:1}.pretty.p-icon input:checked~.state label:before{border-color:#5a656b}.pretty.p-svg .state .svg{position:absolute;font-size:1em;width:calc(1em + 2px);height:calc(1em + 2px);left:0;z-index:1;text-align:center;line-height:normal;top:calc((0% - (100% - 1em)) - 8%);border:1px solid transparent;opacity:0}.pretty.p-svg .state svg{margin:0;width:100%;height:100%;text-align:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1}.pretty.p-svg input:checked~.state .svg{opacity:1}.pretty.p-image .state img{opacity:0;position:absolute;width:calc(1em + 2px);height:calc(1em + 2px);top:0;top:calc((0% - (100% - 1em)) - 8%);left:0;z-index:0;text-align:center;line-height:normal;-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.pretty.p-image input:checked~.state img{opacity:1}.pretty.p-switch .state{position:relative}.pretty.p-switch .state:before{content:'';border:1px solid #bdc3c7;border-radius:60px;width:2em;box-sizing:unset;height:calc(1em + 2px);position:absolute;top:0;top:calc((0% - (100% - 1em)) - 16%);z-index:0;transition:all .5s ease}.pretty.p-switch .state label{text-indent:2.5em}.pretty.p-switch .state label:after,.pretty.p-switch .state label:before{transition:all .5s ease;border-radius:100%;left:0;border-color:transparent;-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.pretty.p-switch .state label:after{background-color:#bdc3c7!important}.pretty.p-switch input:checked~.state:before{border-color:#5a656b}.pretty.p-switch input:checked~.state label:before{opacity:0}.pretty.p-switch input:checked~.state label:after{background-color:#5a656b!important;left:1em}.pretty.p-switch.p-fill input:checked~.state:before{border-color:#5a656b;background-color:#5a656b!important}.pretty.p-switch.p-fill input:checked~.state label:before{opacity:0}.pretty.p-switch.p-fill input:checked~.state label:after{background-color:#fff;left:1em}.pretty.p-switch.p-slim .state:before{height:.1em;background:#bdc3c7!important;top:calc(50% - .1em)}.pretty.p-switch.p-slim input:checked~.state:before{border-color:#5a656b;background-color:#5a656b!important}.pretty.p-has-hover input:hover~.state:not(.p-is-hover){display:none}.pretty.p-has-hover input:hover~.state.p-is-hover{display:block}.pretty.p-has-hover input:hover~.state.p-is-hover .icon{display:block}.pretty.p-has-focus input:focus~.state label:before{box-shadow:0 0 3px 0 #bdc3c7}.pretty.p-has-indeterminate input[type=checkbox]:indeterminate~.state:not(.p-is-indeterminate){display:none}.pretty.p-has-indeterminate input[type=checkbox]:indeterminate~.state.p-is-indeterminate{display:block}.pretty.p-has-indeterminate input[type=checkbox]:indeterminate~.state.p-is-indeterminate .icon{display:block;opacity:1}.pretty.p-toggle .state.p-on{opacity:0;display:none}.pretty.p-toggle .state .icon,.pretty.p-toggle .state .svg,.pretty.p-toggle .state img,.pretty.p-toggle .state.p-off{opacity:1;display:inherit}.pretty.p-toggle .state.p-off .icon{color:#bdc3c7}.pretty.p-toggle input:checked~.state.p-on{opacity:1;display:inherit}.pretty.p-toggle input:checked~.state.p-off{opacity:0;display:none}.pretty.p-plain input:checked~.state label:before,.pretty.p-plain.p-toggle .state label:before{content:none}.pretty.p-plain.p-plain .icon{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.pretty.p-round .state label:after,.pretty.p-round .state label:before{border-radius:100%}.pretty.p-round.p-icon .state .icon{border-radius:100%;overflow:hidden}.pretty.p-round.p-icon .state .icon:before{-webkit-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8)}.pretty.p-curve .state label:after,.pretty.p-curve .state label:before{border-radius:20%}.pretty.p-smooth .icon,.pretty.p-smooth .svg,.pretty.p-smooth label:after,.pretty.p-smooth label:before{transition:all .5s ease}.pretty.p-smooth input:checked+.state label:after{transition:all .3s ease}.pretty.p-smooth input:checked+.state .icon,.pretty.p-smooth input:checked+.state .svg,.pretty.p-smooth input:checked+.state img{-webkit-animation:zoom .2s ease;animation:zoom .2s ease}.pretty.p-smooth.p-default input:checked+.state label:after{-webkit-animation:zoom .2s ease;animation:zoom .2s ease}.pretty.p-smooth.p-plain input:checked+.state label:before{content:'';-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);transition:all .5s ease}.pretty.p-tada:not(.p-default) input:checked+.state .icon,.pretty.p-tada:not(.p-default) input:checked+.state .svg,.pretty.p-tada:not(.p-default) input:checked+.state img,.pretty.p-tada:not(.p-default) input:checked+.state label:after,.pretty.p-tada:not(.p-default) input:checked+.state label:before{-webkit-animation:tada .7s cubic-bezier(.25,.46,.45,.94) 1 alternate;animation:tada .7s cubic-bezier(.25,.46,.45,.94) 1 alternate;opacity:1}.pretty.p-jelly:not(.p-default) input:checked+.state .icon,.pretty.p-jelly:not(.p-default) input:checked+.state .svg,.pretty.p-jelly:not(.p-default) input:checked+.state img,.pretty.p-jelly:not(.p-default) input:checked+.state label:after,.pretty.p-jelly:not(.p-default) input:checked+.state label:before{-webkit-animation:jelly .7s cubic-bezier(.25,.46,.45,.94);animation:jelly .7s cubic-bezier(.25,.46,.45,.94);opacity:1}.pretty.p-jelly:not(.p-default) input:checked+.state label:before{border-color:transparent}.pretty.p-rotate:not(.p-default) input:checked~.state .icon,.pretty.p-rotate:not(.p-default) input:checked~.state .svg,.pretty.p-rotate:not(.p-default) input:checked~.state img,.pretty.p-rotate:not(.p-default) input:checked~.state label:after,.pretty.p-rotate:not(.p-default) input:checked~.state label:before{-webkit-animation:rotate .7s cubic-bezier(.25,.46,.45,.94);animation:rotate .7s cubic-bezier(.25,.46,.45,.94);opacity:1}.pretty.p-rotate:not(.p-default) input:checked~.state label:before{border-color:transparent}.pretty.p-pulse:not(.p-switch) input:checked~.state label:before{-webkit-animation:pulse 1s;animation:pulse 1s}.pretty input[disabled]{cursor:not-allowed;display:none}.pretty input[disabled]~*{opacity:.5}.pretty.p-locked input{display:none;cursor:not-allowed}.pretty input:checked~.state.p-primary label:after,.pretty.p-toggle .state.p-primary label:after{background-color:#428bca!important}.pretty input:checked~.state.p-primary .icon,.pretty input:checked~.state.p-primary .svg,.pretty.p-toggle .state.p-primary .icon,.pretty.p-toggle .state.p-primary .svg{color:#fff;stroke:#fff}.pretty input:checked~.state.p-primary-o label:before,.pretty.p-toggle .state.p-primary-o label:before{border-color:#428bca}.pretty input:checked~.state.p-primary-o label:after,.pretty.p-toggle .state.p-primary-o label:after{background-color:transparent}.pretty input:checked~.state.p-primary-o .icon,.pretty input:checked~.state.p-primary-o .svg,.pretty input:checked~.state.p-primary-o svg,.pretty.p-toggle .state.p-primary-o .icon,.pretty.p-toggle .state.p-primary-o .svg,.pretty.p-toggle .state.p-primary-o svg{color:#428bca;stroke:#428bca}.pretty.p-default:not(.p-fill) input:checked~.state.p-primary-o label:after{background-color:#428bca!important}.pretty.p-switch input:checked~.state.p-primary:before{border-color:#428bca}.pretty.p-switch.p-fill input:checked~.state.p-primary:before{background-color:#428bca!important}.pretty.p-switch.p-slim input:checked~.state.p-primary:before{border-color:#245682;background-color:#245682!important}.pretty input:checked~.state.p-info label:after,.pretty.p-toggle .state.p-info label:after{background-color:#5bc0de!important}.pretty input:checked~.state.p-info .icon,.pretty input:checked~.state.p-info .svg,.pretty.p-toggle .state.p-info .icon,.pretty.p-toggle .state.p-info .svg{color:#fff;stroke:#fff}.pretty input:checked~.state.p-info-o label:before,.pretty.p-toggle .state.p-info-o label:before{border-color:#5bc0de}.pretty input:checked~.state.p-info-o label:after,.pretty.p-toggle .state.p-info-o label:after{background-color:transparent}.pretty input:checked~.state.p-info-o .icon,.pretty input:checked~.state.p-info-o .svg,.pretty input:checked~.state.p-info-o svg,.pretty.p-toggle .state.p-info-o .icon,.pretty.p-toggle .state.p-info-o .svg,.pretty.p-toggle .state.p-info-o svg{color:#5bc0de;stroke:#5bc0de}.pretty.p-default:not(.p-fill) input:checked~.state.p-info-o label:after{background-color:#5bc0de!important}.pretty.p-switch input:checked~.state.p-info:before{border-color:#5bc0de}.pretty.p-switch.p-fill input:checked~.state.p-info:before{background-color:#5bc0de!important}.pretty.p-switch.p-slim input:checked~.state.p-info:before{border-color:#2390b0;background-color:#2390b0!important}.pretty input:checked~.state.p-success label:after,.pretty.p-toggle .state.p-success label:after{background-color:#5cb85c!important}.pretty input:checked~.state.p-success .icon,.pretty input:checked~.state.p-success .svg,.pretty.p-toggle .state.p-success .icon,.pretty.p-toggle .state.p-success .svg{color:#fff;stroke:#fff}.pretty input:checked~.state.p-success-o label:before,.pretty.p-toggle .state.p-success-o label:before{border-color:#5cb85c}.pretty input:checked~.state.p-success-o label:after,.pretty.p-toggle .state.p-success-o label:after{background-color:transparent}.pretty input:checked~.state.p-success-o .icon,.pretty input:checked~.state.p-success-o .svg,.pretty input:checked~.state.p-success-o svg,.pretty.p-toggle .state.p-success-o .icon,.pretty.p-toggle .state.p-success-o .svg,.pretty.p-toggle .state.p-success-o svg{color:#5cb85c;stroke:#5cb85c}.pretty.p-default:not(.p-fill) input:checked~.state.p-success-o label:after{background-color:#5cb85c!important}.pretty.p-switch input:checked~.state.p-success:before{border-color:#5cb85c}.pretty.p-switch.p-fill input:checked~.state.p-success:before{background-color:#5cb85c!important}.pretty.p-switch.p-slim input:checked~.state.p-success:before{border-color:#357935;background-color:#357935!important}.pretty input:checked~.state.p-warning label:after,.pretty.p-toggle .state.p-warning label:after{background-color:#f0ad4e!important}.pretty input:checked~.state.p-warning .icon,.pretty input:checked~.state.p-warning .svg,.pretty.p-toggle .state.p-warning .icon,.pretty.p-toggle .state.p-warning .svg{color:#fff;stroke:#fff}.pretty input:checked~.state.p-warning-o label:before,.pretty.p-toggle .state.p-warning-o label:before{border-color:#f0ad4e}.pretty input:checked~.state.p-warning-o label:after,.pretty.p-toggle .state.p-warning-o label:after{background-color:transparent}.pretty input:checked~.state.p-warning-o .icon,.pretty input:checked~.state.p-warning-o .svg,.pretty input:checked~.state.p-warning-o svg,.pretty.p-toggle .state.p-warning-o .icon,.pretty.p-toggle .state.p-warning-o .svg,.pretty.p-toggle .state.p-warning-o svg{color:#f0ad4e;stroke:#f0ad4e}.pretty.p-default:not(.p-fill) input:checked~.state.p-warning-o label:after{background-color:#f0ad4e!important}.pretty.p-switch input:checked~.state.p-warning:before{border-color:#f0ad4e}.pretty.p-switch.p-fill input:checked~.state.p-warning:before{background-color:#f0ad4e!important}.pretty.p-switch.p-slim input:checked~.state.p-warning:before{border-color:#c77c11;background-color:#c77c11!important}.pretty input:checked~.state.p-danger label:after,.pretty.p-toggle .state.p-danger label:after{background-color:#d9534f!important}.pretty input:checked~.state.p-danger .icon,.pretty input:checked~.state.p-danger .svg,.pretty.p-toggle .state.p-danger .icon,.pretty.p-toggle .state.p-danger .svg{color:#fff;stroke:#fff}.pretty input:checked~.state.p-danger-o label:before,.pretty.p-toggle .state.p-danger-o label:before{border-color:#d9534f}.pretty input:checked~.state.p-danger-o label:after,.pretty.p-toggle .state.p-danger-o label:after{background-color:transparent}.pretty input:checked~.state.p-danger-o .icon,.pretty input:checked~.state.p-danger-o .svg,.pretty input:checked~.state.p-danger-o svg,.pretty.p-toggle .state.p-danger-o .icon,.pretty.p-toggle .state.p-danger-o .svg,.pretty.p-toggle .state.p-danger-o svg{color:#d9534f;stroke:#d9534f}.pretty.p-default:not(.p-fill) input:checked~.state.p-danger-o label:after{background-color:#d9534f!important}.pretty.p-switch input:checked~.state.p-danger:before{border-color:#d9534f}.pretty.p-switch.p-fill input:checked~.state.p-danger:before{background-color:#d9534f!important}.pretty.p-switch.p-slim input:checked~.state.p-danger:before{border-color:#a02622;background-color:#a02622!important}.pretty.p-bigger .icon,.pretty.p-bigger .img,.pretty.p-bigger .svg,.pretty.p-bigger label:after,.pretty.p-bigger label:before{font-size:1.2em!important;top:calc((0% - (100% - 1em)) - 35%)!important}.pretty.p-bigger label{text-indent:1.7em}@media print{.pretty .state .icon,.pretty .state label:after,.pretty .state label:before,.pretty .state:before{color-adjust:exact;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
\ No newline at end of file
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000..5c73823
Binary files /dev/null and b/logo.png differ
diff --git a/package.json b/package.json
index 47ffe23..da1141e 100644
--- a/package.json
+++ b/package.json
@@ -1,29 +1,59 @@
{
"name": "pretty-checkbox",
- "version": "2.2.1",
- "description": "Scalable css3 pretty checkbox and radio buttons with custom font icon library",
- "main": "src/pretty.min.css",
+ "version": "3.0.0",
+ "description": "A pure css library to beautify checkbox and radio buttons.",
+ "main": "dist/pretty.min.css",
+ "scripts": {
+ "lint":"gulp lint:scss",
+ "fix": "stylelint \"src\\**\\*.scss\" --syntax scss --fix",
+ "format": "gulp css:format",
+ "build": "gulp build",
+ "ci": "npm run build && git add dist -f && git commit -m \"build(release): auto build [ci skip]\"",
+ "release": "corp-semantic-release --branch master",
+ "log": "conventional-github-releaser -p angular -r 0"
+ },
"dependencies": {},
"devDependencies": {
"browser-sync": "^2.8.2",
+ "conventional-github-releaser": "^1.1.12",
+ "corp-semantic-release": "^6.1.0",
+ "del": "^3.0.0",
"gulp": "^3.9.0",
"gulp-autoprefixer": "^3.1.1",
+ "gulp-clean-css": "^3.9.0",
+ "gulp-header-comment": "^0.2.1",
"gulp-rename": "^1.2.2",
- "gulp-sass": "^2.3.1"
+ "gulp-sass": "^2.3.1",
+ "gulp-sequence": "^0.4.6",
+ "gulp-sourcemaps": "^2.6.1",
+ "gulp-stylefmt": "^1.1.0",
+ "gulp-stylelint": "^5.0.0",
+ "rimraf": "2.6.1",
+ "stylefmt": "^6.0.0",
+ "stylelint": "^8.2.0",
+ "stylelint-config-recommended": "^1.0.0",
+ "stylelint-config-recommended-scss": "^2.0.0",
+ "stylelint-scss": "^2.1.0"
},
- "scripts": {},
"repository": {
"type": "git",
- "url": "git+https://github.com/lokesh-coder/pretty-checkbox.git"
+ "url": "git+https://github.com/lokesh-coder/pretty-checkbox.git",
+ "link": "https://github.com/lokesh-coder/pretty-checkbox"
},
"keywords": [
"checkbox",
"radio",
"bootstrap",
+ "fonticon",
+ "icon",
+ "svg",
+ "switch",
+ "toggle",
+ "sass",
"css3",
"animation"
],
- "author": "lokesh",
+ "author": "Lokesh Rajendran",
"license": "MIT",
"bugs": {
"url": "https://github.com/lokesh-coder/pretty-checkbox/issues"
diff --git a/preview.gif b/preview.gif
new file mode 100644
index 0000000..a613070
Binary files /dev/null and b/preview.gif differ
diff --git a/src/pretty-checkbox.scss b/src/pretty-checkbox.scss
new file mode 100644
index 0000000..1e6fa0f
--- /dev/null
+++ b/src/pretty-checkbox.scss
@@ -0,0 +1,27 @@
+@import './scss/variables';
+@import './scss/core';
+@import './scss/essentials/keyframes';
+@import './scss/essentials/functions';
+@import './scss/essentials/mixins';
+@import './scss/elements/default/fill';
+@import './scss/elements/default/outline';
+@import './scss/elements/default/thick';
+@import './scss/elements/font-icon/general';
+@import './scss/elements/svg/general';
+@import './scss/elements/image/general';
+@import './scss/elements/switch/general';
+@import './scss/elements/switch/fill';
+@import './scss/elements/switch/slim';
+@import './scss/states/hover';
+@import './scss/states/focus';
+@import './scss/states/indeterminate';
+@import './scss/extras/toggle';
+@import './scss/extras/plain';
+@import './scss/extras/round';
+@import './scss/extras/curve';
+@import './scss/extras/animation';
+@import './scss/extras/disabled';
+@import './scss/extras/locked';
+@import './scss/extras/colors';
+@import './scss/extras/bigger';
+@import './scss/extras/print';
\ No newline at end of file
diff --git a/src/pretty.css b/src/pretty.css
deleted file mode 100644
index c39d77f..0000000
--- a/src/pretty.css
+++ /dev/null
@@ -1,1006 +0,0 @@
-.pretty > input + label > i.g-mdi:before,
-.pretty > input + label + label > i.g-mdi:before {
- content: attr(data-icon);
- display: inline-block;
- font: normal normal normal 24px/1 "Material Icons";
- font-size: inherit;
- text-rendering: auto;
- line-height: inherit;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- -webkit-transform: translate(0, 0);
- transform: translate(0, 0);
-}
-
-@media print {
- .pretty > input:not(:checked) + label i:before {
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- color: transparent !important;
- }
- .pretty :not(.toggle) input:not(:checked) + label i:before,
- .pretty > input[type='radio']:checked + label > i.default:before,
- .pretty i:after {
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- color: transparent !important;
- }
- .pretty input:checked + label i:before {
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- }
- .pretty.primary input:checked + label i:before {
- color: white !important;
- }
- .pretty.success input:checked + label i:before {
- color: white !important;
- }
- .pretty.info input:checked + label i:before {
- color: white !important;
- }
- .pretty.warning input:checked + label i:before {
- color: white !important;
- }
- .pretty.danger input:checked + label i:before {
- color: white !important;
- }
-}
-
-.pretty {
- line-height: 1;
- position: relative;
- display: inline-block;
- margin: 0 10px 5px 0;
-}
-
-.pretty label {
- font-weight: normal;
-}
-
-.pretty > input[type='checkbox'],
-.pretty > input[type='radio'] {
- position: absolute;
- z-index: 99999999;
- top: 0;
- left: 0;
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- cursor: pointer;
- opacity: 0;
-}
-
-.pretty i {
- font-size: 1em !important;
- position: relative;
- display: inline-block;
- box-sizing: initial;
- min-width: 1em;
- margin-right: 2px;
- padding: 1px;
- text-align: center;
-}
-
-.pretty i:before {
- position: relative;
- z-index: 999;
- left: 0;
- display: inline-block;
- vertical-align: bottom;
- color: transparent;
- background-color: #fff;
-}
-
-.pretty i:after {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- content: '\0000';
- color: transparent;
- border: 1px solid #b9b9b9;
- border-radius: 0;
-}
-
-.pretty > input[type='checkbox']:checked + label > i:before,
-.pretty > input[type='radio']:checked + label > i:before {
- color: inherit;
- background-color: #fff;
-}
-
-.pretty > input[type='radio'] + label > i.default:before {
- left: 0;
- min-width: 1em;
- content: '\0000';
- color: transparent;
- border-radius: 0;
- background: #fff;
- -webkit-transform: scale(0.8);
- transform: scale(0.8);
-}
-
-.pretty > input[type='radio']:checked + label > i.default:before {
- background-color: #b9b9b9 !important;
-}
-
-.pretty > input[type='checkbox'][disabled],
-.pretty > input[type='radio'][disabled] {
- cursor: not-allowed;
- opacity: 0;
-}
-
-.pretty > input[type='checkbox'][disabled] + label,
-.pretty > input[type='radio'][disabled] + label {
- cursor: not-allowed;
- opacity: 0.5;
-}
-
-.pretty.plain > input[type='checkbox']:checked + label > i:after,
-.pretty.plain > input[type='radio']:checked + label > i:after {
- border-color: transparent;
-}
-
-.pretty.plain > input[type='checkbox'] + label + label > i:after,
-.pretty.plain > input[type='radio'] + label + label > i:after {
- border-color: transparent;
-}
-
-.pretty.plain > input[type='checkbox']:checked + label + label > i:after,
-.pretty.plain > input[type='radio']:checked + label + label > i:after {
- border-color: transparent;
-}
-
-.pretty.plain.toggle > input[type='checkbox'] + label > i:after, .pretty.plain.toggle > input[type='radio'] + label > i:after {
- border-color: transparent;
-}
-
-.pretty.circle label i {
- padding: 2px;
-}
-
-.pretty.circle label i:after,
-.pretty.circle label i:before {
- border-radius: 100px;
-}
-
-.pretty.circle label i.default:before {
- border-radius: 100px !important;
-}
-
-.pretty.curvy label i:after,
-.pretty.curvy label i:before {
- border-radius: 2px;
-}
-
-.pretty.curvy label i.default:before {
- border-radius: 2px !important;
-}
-
-.pretty.primary input:checked + label i:before {
- color: #fff;
- background-color: #428bca !important;
-}
-
-.pretty.primary input:checked + label i:after {
- border-color: #428bca;
- background-color: #428bca !important;
-}
-
-.pretty.primary input[type='radio']:checked + label i.default:before {
- background-color: #428bca !important;
- color: transparent;
-}
-
-.pretty.primary input[type='radio']:checked + label i.default:after {
- background-color: initial !important;
- border-color: #428bca;
-}
-
-.pretty.primary.smooth input:checked ~ label i:after {
- -webkit-transform: scale(1) !important;
- transform: scale(1) !important;
-}
-
-.pretty.o-primary input:checked + label i:before {
- color: #428bca;
-}
-
-.pretty.o-primary input:checked + label i:after {
- border-color: #428bca;
-}
-
-.pretty.toggle i.primary:before {
- color: #428bca !important;
-}
-
-.pretty.toggle i.success:before {
- color: #5cb85c !important;
-}
-
-.pretty.toggle i.info:before {
- color: #5bc0de !important;
-}
-
-.pretty.toggle i.warning:before {
- color: #f0ad4e !important;
-}
-
-.pretty.toggle i.danger:before {
- color: #d9534f !important;
-}
-
-.pretty.success input:checked + label i:before {
- color: #fff;
- background-color: #5cb85c !important;
-}
-
-.pretty.success input:checked + label i:after {
- border-color: #5cb85c;
- background-color: #5cb85c !important;
-}
-
-.pretty.success input[type='radio']:checked + label i.default:before {
- background-color: #5cb85c !important;
- color: transparent;
-}
-
-.pretty.success input[type='radio']:checked + label i.default:after {
- background-color: initial !important;
- border-color: #5cb85c;
-}
-
-.pretty.success.smooth input:checked ~ label i:after {
- -webkit-transform: scale(1) !important;
- transform: scale(1) !important;
-}
-
-.pretty.o-success input:checked + label i:before {
- color: #5cb85c;
-}
-
-.pretty.o-success input:checked + label i:after {
- border-color: #5cb85c;
-}
-
-.pretty.toggle i.primary:before {
- color: #428bca !important;
-}
-
-.pretty.toggle i.success:before {
- color: #5cb85c !important;
-}
-
-.pretty.toggle i.info:before {
- color: #5bc0de !important;
-}
-
-.pretty.toggle i.warning:before {
- color: #f0ad4e !important;
-}
-
-.pretty.toggle i.danger:before {
- color: #d9534f !important;
-}
-
-.pretty.info input:checked + label i:before {
- color: #fff;
- background-color: #5bc0de !important;
-}
-
-.pretty.info input:checked + label i:after {
- border-color: #5bc0de;
- background-color: #5bc0de !important;
-}
-
-.pretty.info input[type='radio']:checked + label i.default:before {
- background-color: #5bc0de !important;
- color: transparent;
-}
-
-.pretty.info input[type='radio']:checked + label i.default:after {
- background-color: initial !important;
- border-color: #5bc0de;
-}
-
-.pretty.info.smooth input:checked ~ label i:after {
- -webkit-transform: scale(1) !important;
- transform: scale(1) !important;
-}
-
-.pretty.o-info input:checked + label i:before {
- color: #5bc0de;
-}
-
-.pretty.o-info input:checked + label i:after {
- border-color: #5bc0de;
-}
-
-.pretty.toggle i.primary:before {
- color: #428bca !important;
-}
-
-.pretty.toggle i.success:before {
- color: #5cb85c !important;
-}
-
-.pretty.toggle i.info:before {
- color: #5bc0de !important;
-}
-
-.pretty.toggle i.warning:before {
- color: #f0ad4e !important;
-}
-
-.pretty.toggle i.danger:before {
- color: #d9534f !important;
-}
-
-.pretty.warning input:checked + label i:before {
- color: #fff;
- background-color: #f0ad4e !important;
-}
-
-.pretty.warning input:checked + label i:after {
- border-color: #f0ad4e;
- background-color: #f0ad4e !important;
-}
-
-.pretty.warning input[type='radio']:checked + label i.default:before {
- background-color: #f0ad4e !important;
- color: transparent;
-}
-
-.pretty.warning input[type='radio']:checked + label i.default:after {
- background-color: initial !important;
- border-color: #f0ad4e;
-}
-
-.pretty.warning.smooth input:checked ~ label i:after {
- -webkit-transform: scale(1) !important;
- transform: scale(1) !important;
-}
-
-.pretty.o-warning input:checked + label i:before {
- color: #f0ad4e;
-}
-
-.pretty.o-warning input:checked + label i:after {
- border-color: #f0ad4e;
-}
-
-.pretty.toggle i.primary:before {
- color: #428bca !important;
-}
-
-.pretty.toggle i.success:before {
- color: #5cb85c !important;
-}
-
-.pretty.toggle i.info:before {
- color: #5bc0de !important;
-}
-
-.pretty.toggle i.warning:before {
- color: #f0ad4e !important;
-}
-
-.pretty.toggle i.danger:before {
- color: #d9534f !important;
-}
-
-.pretty.danger input:checked + label i:before {
- color: #fff;
- background-color: #d9534f !important;
-}
-
-.pretty.danger input:checked + label i:after {
- border-color: #d9534f;
- background-color: #d9534f !important;
-}
-
-.pretty.danger input[type='radio']:checked + label i.default:before {
- background-color: #d9534f !important;
- color: transparent;
-}
-
-.pretty.danger input[type='radio']:checked + label i.default:after {
- background-color: initial !important;
- border-color: #d9534f;
-}
-
-.pretty.danger.smooth input:checked ~ label i:after {
- -webkit-transform: scale(1) !important;
- transform: scale(1) !important;
-}
-
-.pretty.o-danger input:checked + label i:before {
- color: #d9534f;
-}
-
-.pretty.o-danger input:checked + label i:after {
- border-color: #d9534f;
-}
-
-.pretty.toggle i.primary:before {
- color: #428bca !important;
-}
-
-.pretty.toggle i.success:before {
- color: #5cb85c !important;
-}
-
-.pretty.toggle i.info:before {
- color: #5bc0de !important;
-}
-
-.pretty.toggle i.warning:before {
- color: #f0ad4e !important;
-}
-
-.pretty.toggle i.danger:before {
- color: #d9534f !important;
-}
-
-.pretty.toggle > input[type='checkbox'] + label > i:before, .pretty.toggle > input[type='radio'] + label > i:before {
- color: inherit;
-}
-
-.pretty.toggle > input[type='checkbox'] + label + label,
-.pretty.toggle > input[type='radio'] + label + label {
- display: none;
-}
-
-.pretty.toggle > input[type='checkbox']:checked + label,
-.pretty.toggle > input[type='radio']:checked + label {
- display: none;
-}
-
-.pretty.toggle > input[type='checkbox']:checked + label + label,
-.pretty.toggle > input[type='radio']:checked + label + label {
- display: inline-block;
-}
-
-.pretty.toggle > input[type='checkbox']:checked + label + label > i:before,
-.pretty.toggle > input[type='radio']:checked + label + label > i:before {
- color: inherit;
-}
-
-.pretty.primary.hover:hover input + label i:before {
- background-color: rgba(66, 139, 202, 0.5) !important;
- color: #fff !important;
-}
-
-.pretty.primary.hover:hover input + label i:after {
- border-color: rgba(66, 139, 202, 0.5) !important;
-}
-
-.pretty.o-primary.hover:hover input + label i:before {
- color: rgba(66, 139, 202, 0.8);
-}
-
-.pretty.success.hover:hover input + label i:before {
- background-color: rgba(92, 184, 92, 0.5) !important;
- color: #fff !important;
-}
-
-.pretty.success.hover:hover input + label i:after {
- border-color: rgba(92, 184, 92, 0.5) !important;
-}
-
-.pretty.o-success.hover:hover input + label i:before {
- color: rgba(92, 184, 92, 0.8);
-}
-
-.pretty.info.hover:hover input + label i:before {
- background-color: rgba(91, 192, 222, 0.5) !important;
- color: #fff !important;
-}
-
-.pretty.info.hover:hover input + label i:after {
- border-color: rgba(91, 192, 222, 0.5) !important;
-}
-
-.pretty.o-info.hover:hover input + label i:before {
- color: rgba(91, 192, 222, 0.8);
-}
-
-.pretty.warning.hover:hover input + label i:before {
- background-color: rgba(240, 173, 78, 0.5) !important;
- color: #fff !important;
-}
-
-.pretty.warning.hover:hover input + label i:after {
- border-color: rgba(240, 173, 78, 0.5) !important;
-}
-
-.pretty.o-warning.hover:hover input + label i:before {
- color: rgba(240, 173, 78, 0.8);
-}
-
-.pretty.danger.hover:hover input + label i:before {
- background-color: rgba(217, 83, 79, 0.5) !important;
- color: #fff !important;
-}
-
-.pretty.danger.hover:hover input + label i:after {
- border-color: rgba(217, 83, 79, 0.5) !important;
-}
-
-.pretty.o-danger.hover:hover input + label i:before {
- color: rgba(217, 83, 79, 0.8);
-}
-
-.pretty.smooth i:before {
- -webkit-transition: all .5s ease;
- transition: all .5s ease;
- -webkit-transform: scale(0);
- transform: scale(0);
-}
-
-.pretty.smooth i:after {
- -webkit-transition: all .5s ease;
- transition: all .5s ease;
-}
-
-.pretty.smooth > input[type='checkbox']:checked ~ label > i:before,
-.pretty.smooth > input[type='radio']:checked ~ label > i:before {
- -webkit-transform: scale(1);
- transform: scale(1);
-}
-
-.pretty.smooth > input[type='checkbox']:checked ~ label > i:after,
-.pretty.smooth > input[type='radio']:checked ~ label > i:after {
- -webkit-transform: scale(0);
- transform: scale(0);
-}
-
-.pretty.smooth > input[type='radio']:checked ~ label > i.default:before {
- -webkit-transform: scale(0.8);
- transform: scale(0.8);
-}
-
-.pretty.smooth > input[type='radio']:checked ~ label > i.default:after {
- -webkit-transform: scale(1);
- transform: scale(1);
-}
-
-.pretty.smooth.toggle i:before {
- -webkit-transform: none;
- transform: none;
-}
-
-.pretty.smooth.toggle > input[type='checkbox']:checked ~ label > i:before,
-.pretty.smooth.toggle > input[type='radio']:checked ~ label > i:before {
- -webkit-transform: none;
- transform: none;
-}
-
-.pretty.smooth.toggle > input[type='checkbox']:checked ~ label > i:after,
-.pretty.smooth.toggle > input[type='radio']:checked ~ label > i:after {
- -webkit-transform: none;
- transform: none;
-}
-
-@-webkit-keyframes tada {
- 0% {
- -webkit-transform: scale(7);
- transform: scale(7);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 72% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 81% {
- -webkit-transform: scale(1.24);
- transform: scale(1.24);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 89% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 95% {
- -webkit-transform: scale(1.04);
- transform: scale(1.04);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-}
-
-@keyframes tada {
- 0% {
- -webkit-transform: scale(7);
- transform: scale(7);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 72% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 81% {
- -webkit-transform: scale(1.24);
- transform: scale(1.24);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 89% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 95% {
- -webkit-transform: scale(1.04);
- transform: scale(1.04);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-}
-
-@-webkit-keyframes bounce {
- 0% {
- -webkit-transform: translateY(-50px);
- transform: translateY(-50px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- -webkit-transform: translateY(-30px);
- transform: translateY(-30px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 72% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 81% {
- -webkit-transform: translateY(-18px);
- transform: translateY(-18px);
- -webkit-animation-timing-function: ease-in;
- }
- 90% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 95% {
- -webkit-transform: translateY(-8px);
- transform: translateY(-8px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 100% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-}
-
-@keyframes bounce {
- 0% {
- -webkit-transform: translateY(-50px);
- transform: translateY(-50px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- -webkit-transform: translateY(-30px);
- transform: translateY(-30px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 72% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 81% {
- -webkit-transform: translateY(-18px);
- transform: translateY(-18px);
- -webkit-animation-timing-function: ease-in;
- }
- 90% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
- 95% {
- -webkit-transform: translateY(-8px);
- transform: translateY(-8px);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
- 100% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-}
-
-@-webkit-keyframes rotate {
- 0% {
- -webkit-transform: translateZ(-200px) rotate(-45deg);
- transform: translateZ(-200px) rotate(-45deg);
- opacity: 0;
- }
- 100% {
- -webkit-transform: translateZ(0) rotate(0);
- transform: translateZ(0) rotate(0);
- opacity: 1;
- }
-}
-
-@keyframes rotate {
- 0% {
- -webkit-transform: translateZ(-200px) rotate(-45deg);
- transform: translateZ(-200px) rotate(-45deg);
- opacity: 0;
- }
- 100% {
- -webkit-transform: translateZ(0) rotate(0);
- transform: translateZ(0) rotate(0);
- opacity: 1;
- }
-}
-
-@-webkit-keyframes jelly {
- 0% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
- 30% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
- 40% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
- 50% {
- -webkit-transform: scale3d(0.85, 1.15, 1);
- transform: scale3d(0.85, 1.15, 1);
- }
- 65% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
- 75% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
- 100% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-
-@keyframes jelly {
- 0% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
- 30% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
- 40% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
- 50% {
- -webkit-transform: scale3d(0.85, 1.15, 1);
- transform: scale3d(0.85, 1.15, 1);
- }
- 65% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
- 75% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
- 100% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-
-@-webkit-keyframes vibrate {
- 0% {
- -webkit-transform: translate(0);
- transform: translate(0);
- }
- 10% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 20% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 30% {
- -webkit-transform: translate(-2px, 2px);
- transform: translate(-2px, 2px);
- }
- 40% {
- -webkit-transform: translate(2px, 2px);
- transform: translate(2px, 2px);
- }
- 50% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 60% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 70% {
- -webkit-transform: translate(-2px, 2px);
- transform: translate(-2px, 2px);
- }
- 80% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 90% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 100% {
- -webkit-transform: translate(0);
- transform: translate(0);
- }
-}
-
-@keyframes vibrate {
- 0% {
- -webkit-transform: translate(0);
- transform: translate(0);
- }
- 10% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 20% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 30% {
- -webkit-transform: translate(-2px, 2px);
- transform: translate(-2px, 2px);
- }
- 40% {
- -webkit-transform: translate(2px, 2px);
- transform: translate(2px, 2px);
- }
- 50% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 60% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 70% {
- -webkit-transform: translate(-2px, 2px);
- transform: translate(-2px, 2px);
- }
- 80% {
- -webkit-transform: translate(-2px, -2px);
- transform: translate(-2px, -2px);
- }
- 90% {
- -webkit-transform: translate(2px, -2px);
- transform: translate(2px, -2px);
- }
- 100% {
- -webkit-transform: translate(0);
- transform: translate(0);
- }
-}
-
-.pretty.a-tada > input[type='checkbox']:checked + label > i,
-.pretty.a-tada > input[type='radio']:checked + label > i {
- -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
- animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
-}
-
-.pretty.a-bounce > input[type='checkbox']:checked + label > i,
-.pretty.a-bounce > input[type='radio']:checked + label > i {
- -webkit-animation: bounce 1.1s both;
- animation: bounce 1.1s both;
-}
-
-.pretty.a-rotate > input[type='checkbox']:checked + label > i,
-.pretty.a-rotate > input[type='radio']:checked + label > i {
- -webkit-animation: rotate 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
- animation: rotate 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
-}
-
-.pretty.a-jelly > input[type='checkbox']:checked + label > i,
-.pretty.a-jelly > input[type='radio']:checked + label > i {
- -webkit-animation: jelly 0.9s both;
- animation: jelly 0.9s both;
-}
-
-.pretty.a-vibrate > input[type='checkbox']:checked + label > i,
-.pretty.a-vibrate > input[type='radio']:checked + label > i {
- -webkit-animation: vibrate 0.5s linear infinite both;
- animation: vibrate 0.5s linear infinite both;
-}
diff --git a/src/pretty.min.css b/src/pretty.min.css
deleted file mode 100644
index d5caf61..0000000
--- a/src/pretty.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.pretty>input+label>i.g-mdi:before,.pretty>input+label+label>i.g-mdi:before{content:attr(data-icon);display:inline-block;font:normal normal normal 24px/1 "Material Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translate(0, 0);transform:translate(0, 0)}@media print{.pretty>input:not(:checked)+label i:before{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:transparent !important}.pretty :not(.toggle) input:not(:checked)+label i:before,.pretty>input[type='radio']:checked+label>i.default:before,.pretty i:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:transparent !important}.pretty input:checked+label i:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pretty.primary input:checked+label i:before{color:white !important}.pretty.success input:checked+label i:before{color:white !important}.pretty.info input:checked+label i:before{color:white !important}.pretty.warning input:checked+label i:before{color:white !important}.pretty.danger input:checked+label i:before{color:white !important}}.pretty{line-height:1;position:relative;display:inline-block;margin:0 10px 5px 0}.pretty label{font-weight:normal}.pretty>input[type='checkbox'],.pretty>input[type='radio']{position:absolute;z-index:99999999;top:0;left:0;display:block;width:100%;height:100%;margin:0;cursor:pointer;opacity:0}.pretty i{font-size:1em !important;position:relative;display:inline-block;box-sizing:initial;min-width:1em;margin-right:2px;padding:1px;text-align:center}.pretty i:before{position:relative;z-index:999;left:0;display:inline-block;vertical-align:bottom;color:transparent;background-color:#fff}.pretty i:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'\0000';color:transparent;border:1px solid #b9b9b9;border-radius:0}.pretty>input[type='checkbox']:checked+label>i:before,.pretty>input[type='radio']:checked+label>i:before{color:inherit;background-color:#fff}.pretty>input[type='radio']+label>i.default:before{left:0;min-width:1em;content:'\0000';color:transparent;border-radius:0;background:#fff;-webkit-transform:scale(0.8);transform:scale(0.8)}.pretty>input[type='radio']:checked+label>i.default:before{background-color:#b9b9b9 !important}.pretty>input[type='checkbox'][disabled],.pretty>input[type='radio'][disabled]{cursor:not-allowed;opacity:0}.pretty>input[type='checkbox'][disabled]+label,.pretty>input[type='radio'][disabled]+label{cursor:not-allowed;opacity:0.5}.pretty.plain>input[type='checkbox']:checked+label>i:after,.pretty.plain>input[type='radio']:checked+label>i:after{border-color:transparent}.pretty.plain>input[type='checkbox']+label+label>i:after,.pretty.plain>input[type='radio']+label+label>i:after{border-color:transparent}.pretty.plain>input[type='checkbox']:checked+label+label>i:after,.pretty.plain>input[type='radio']:checked+label+label>i:after{border-color:transparent}.pretty.plain.toggle>input[type='checkbox']+label>i:after,.pretty.plain.toggle>input[type='radio']+label>i:after{border-color:transparent}.pretty.circle label i{padding:2px}.pretty.circle label i:after,.pretty.circle label i:before{border-radius:100px}.pretty.circle label i.default:before{border-radius:100px !important}.pretty.curvy label i:after,.pretty.curvy label i:before{border-radius:2px}.pretty.curvy label i.default:before{border-radius:2px !important}.pretty.primary input:checked+label i:before{color:#fff;background-color:#428bca !important}.pretty.primary input:checked+label i:after{border-color:#428bca;background-color:#428bca !important}.pretty.primary input[type='radio']:checked+label i.default:before{background-color:#428bca !important;color:transparent}.pretty.primary input[type='radio']:checked+label i.default:after{background-color:initial !important;border-color:#428bca}.pretty.primary.smooth input:checked ~ label i:after{-webkit-transform:scale(1) !important;transform:scale(1) !important}.pretty.o-primary input:checked+label i:before{color:#428bca}.pretty.o-primary input:checked+label i:after{border-color:#428bca}.pretty.toggle i.primary:before{color:#428bca !important}.pretty.toggle i.success:before{color:#5cb85c !important}.pretty.toggle i.info:before{color:#5bc0de !important}.pretty.toggle i.warning:before{color:#f0ad4e !important}.pretty.toggle i.danger:before{color:#d9534f !important}.pretty.success input:checked+label i:before{color:#fff;background-color:#5cb85c !important}.pretty.success input:checked+label i:after{border-color:#5cb85c;background-color:#5cb85c !important}.pretty.success input[type='radio']:checked+label i.default:before{background-color:#5cb85c !important;color:transparent}.pretty.success input[type='radio']:checked+label i.default:after{background-color:initial !important;border-color:#5cb85c}.pretty.success.smooth input:checked ~ label i:after{-webkit-transform:scale(1) !important;transform:scale(1) !important}.pretty.o-success input:checked+label i:before{color:#5cb85c}.pretty.o-success input:checked+label i:after{border-color:#5cb85c}.pretty.toggle i.primary:before{color:#428bca !important}.pretty.toggle i.success:before{color:#5cb85c !important}.pretty.toggle i.info:before{color:#5bc0de !important}.pretty.toggle i.warning:before{color:#f0ad4e !important}.pretty.toggle i.danger:before{color:#d9534f !important}.pretty.info input:checked+label i:before{color:#fff;background-color:#5bc0de !important}.pretty.info input:checked+label i:after{border-color:#5bc0de;background-color:#5bc0de !important}.pretty.info input[type='radio']:checked+label i.default:before{background-color:#5bc0de !important;color:transparent}.pretty.info input[type='radio']:checked+label i.default:after{background-color:initial !important;border-color:#5bc0de}.pretty.info.smooth input:checked ~ label i:after{-webkit-transform:scale(1) !important;transform:scale(1) !important}.pretty.o-info input:checked+label i:before{color:#5bc0de}.pretty.o-info input:checked+label i:after{border-color:#5bc0de}.pretty.toggle i.primary:before{color:#428bca !important}.pretty.toggle i.success:before{color:#5cb85c !important}.pretty.toggle i.info:before{color:#5bc0de !important}.pretty.toggle i.warning:before{color:#f0ad4e !important}.pretty.toggle i.danger:before{color:#d9534f !important}.pretty.warning input:checked+label i:before{color:#fff;background-color:#f0ad4e !important}.pretty.warning input:checked+label i:after{border-color:#f0ad4e;background-color:#f0ad4e !important}.pretty.warning input[type='radio']:checked+label i.default:before{background-color:#f0ad4e !important;color:transparent}.pretty.warning input[type='radio']:checked+label i.default:after{background-color:initial !important;border-color:#f0ad4e}.pretty.warning.smooth input:checked ~ label i:after{-webkit-transform:scale(1) !important;transform:scale(1) !important}.pretty.o-warning input:checked+label i:before{color:#f0ad4e}.pretty.o-warning input:checked+label i:after{border-color:#f0ad4e}.pretty.toggle i.primary:before{color:#428bca !important}.pretty.toggle i.success:before{color:#5cb85c !important}.pretty.toggle i.info:before{color:#5bc0de !important}.pretty.toggle i.warning:before{color:#f0ad4e !important}.pretty.toggle i.danger:before{color:#d9534f !important}.pretty.danger input:checked+label i:before{color:#fff;background-color:#d9534f !important}.pretty.danger input:checked+label i:after{border-color:#d9534f;background-color:#d9534f !important}.pretty.danger input[type='radio']:checked+label i.default:before{background-color:#d9534f !important;color:transparent}.pretty.danger input[type='radio']:checked+label i.default:after{background-color:initial !important;border-color:#d9534f}.pretty.danger.smooth input:checked ~ label i:after{-webkit-transform:scale(1) !important;transform:scale(1) !important}.pretty.o-danger input:checked+label i:before{color:#d9534f}.pretty.o-danger input:checked+label i:after{border-color:#d9534f}.pretty.toggle i.primary:before{color:#428bca !important}.pretty.toggle i.success:before{color:#5cb85c !important}.pretty.toggle i.info:before{color:#5bc0de !important}.pretty.toggle i.warning:before{color:#f0ad4e !important}.pretty.toggle i.danger:before{color:#d9534f !important}.pretty.toggle>input[type='checkbox']+label>i:before,.pretty.toggle>input[type='radio']+label>i:before{color:inherit}.pretty.toggle>input[type='checkbox']+label+label,.pretty.toggle>input[type='radio']+label+label{display:none}.pretty.toggle>input[type='checkbox']:checked+label,.pretty.toggle>input[type='radio']:checked+label{display:none}.pretty.toggle>input[type='checkbox']:checked+label+label,.pretty.toggle>input[type='radio']:checked+label+label{display:inline-block}.pretty.toggle>input[type='checkbox']:checked+label+label>i:before,.pretty.toggle>input[type='radio']:checked+label+label>i:before{color:inherit}.pretty.primary.hover:hover input+label i:before{background-color:rgba(66,139,202,0.5) !important;color:#fff !important}.pretty.primary.hover:hover input+label i:after{border-color:rgba(66,139,202,0.5) !important}.pretty.o-primary.hover:hover input+label i:before{color:rgba(66,139,202,0.8)}.pretty.success.hover:hover input+label i:before{background-color:rgba(92,184,92,0.5) !important;color:#fff !important}.pretty.success.hover:hover input+label i:after{border-color:rgba(92,184,92,0.5) !important}.pretty.o-success.hover:hover input+label i:before{color:rgba(92,184,92,0.8)}.pretty.info.hover:hover input+label i:before{background-color:rgba(91,192,222,0.5) !important;color:#fff !important}.pretty.info.hover:hover input+label i:after{border-color:rgba(91,192,222,0.5) !important}.pretty.o-info.hover:hover input+label i:before{color:rgba(91,192,222,0.8)}.pretty.warning.hover:hover input+label i:before{background-color:rgba(240,173,78,0.5) !important;color:#fff !important}.pretty.warning.hover:hover input+label i:after{border-color:rgba(240,173,78,0.5) !important}.pretty.o-warning.hover:hover input+label i:before{color:rgba(240,173,78,0.8)}.pretty.danger.hover:hover input+label i:before{background-color:rgba(217,83,79,0.5) !important;color:#fff !important}.pretty.danger.hover:hover input+label i:after{border-color:rgba(217,83,79,0.5) !important}.pretty.o-danger.hover:hover input+label i:before{color:rgba(217,83,79,0.8)}.pretty.smooth i:before{-webkit-transition:all .5s ease;transition:all .5s ease;-webkit-transform:scale(0);transform:scale(0)}.pretty.smooth i:after{-webkit-transition:all .5s ease;transition:all .5s ease}.pretty.smooth>input[type='checkbox']:checked ~ label>i:before,.pretty.smooth>input[type='radio']:checked ~ label>i:before{-webkit-transform:scale(1);transform:scale(1)}.pretty.smooth>input[type='checkbox']:checked ~ label>i:after,.pretty.smooth>input[type='radio']:checked ~ label>i:after{-webkit-transform:scale(0);transform:scale(0)}.pretty.smooth>input[type='radio']:checked ~ label>i.default:before{-webkit-transform:scale(0.8);transform:scale(0.8)}.pretty.smooth>input[type='radio']:checked ~ label>i.default:after{-webkit-transform:scale(1);transform:scale(1)}.pretty.smooth.toggle i:before{-webkit-transform:none;transform:none}.pretty.smooth.toggle>input[type='checkbox']:checked ~ label>i:before,.pretty.smooth.toggle>input[type='radio']:checked ~ label>i:before{-webkit-transform:none;transform:none}.pretty.smooth.toggle>input[type='checkbox']:checked ~ label>i:after,.pretty.smooth.toggle>input[type='radio']:checked ~ label>i:after{-webkit-transform:none;transform:none}@-webkit-keyframes tada{0%{-webkit-transform:scale(7);transform:scale(7);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}38%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}55%{-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}72%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}81%{-webkit-transform:scale(1.24);transform:scale(1.24);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}89%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}95%{-webkit-transform:scale(1.04);transform:scale(1.04);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes tada{0%{-webkit-transform:scale(7);transform:scale(7);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}38%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}55%{-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}72%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}81%{-webkit-transform:scale(1.24);transform:scale(1.24);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}89%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}95%{-webkit-transform:scale(1.04);transform:scale(1.04);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@-webkit-keyframes bounce{0%{-webkit-transform:translateY(-50px);transform:translateY(-50px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}38%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}55%{-webkit-transform:translateY(-30px);transform:translateY(-30px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}72%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}81%{-webkit-transform:translateY(-18px);transform:translateY(-18px);-webkit-animation-timing-function:ease-in}90%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}95%{-webkit-transform:translateY(-8px);transform:translateY(-8px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes bounce{0%{-webkit-transform:translateY(-50px);transform:translateY(-50px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}38%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out;opacity:1}55%{-webkit-transform:translateY(-30px);transform:translateY(-30px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}72%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}81%{-webkit-transform:translateY(-18px);transform:translateY(-18px);-webkit-animation-timing-function:ease-in}90%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}95%{-webkit-transform:translateY(-8px);transform:translateY(-8px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@-webkit-keyframes rotate{0%{-webkit-transform:translateZ(-200px) rotate(-45deg);transform:translateZ(-200px) rotate(-45deg);opacity:0}100%{-webkit-transform:translateZ(0) rotate(0);transform:translateZ(0) rotate(0);opacity:1}}@keyframes rotate{0%{-webkit-transform:translateZ(-200px) rotate(-45deg);transform:translateZ(-200px) rotate(-45deg);opacity:0}100%{-webkit-transform:translateZ(0) rotate(0);transform:translateZ(0) rotate(0);opacity:1}}@-webkit-keyframes jelly{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}40%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}50%{-webkit-transform:scale3d(0.85, 1.15, 1);transform:scale3d(0.85, 1.15, 1)}65%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}75%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes jelly{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}40%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}50%{-webkit-transform:scale3d(0.85, 1.15, 1);transform:scale3d(0.85, 1.15, 1)}65%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}75%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@-webkit-keyframes vibrate{0%{-webkit-transform:translate(0);transform:translate(0)}10%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}20%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}30%{-webkit-transform:translate(-2px, 2px);transform:translate(-2px, 2px)}40%{-webkit-transform:translate(2px, 2px);transform:translate(2px, 2px)}50%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}60%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}70%{-webkit-transform:translate(-2px, 2px);transform:translate(-2px, 2px)}80%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}90%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}@keyframes vibrate{0%{-webkit-transform:translate(0);transform:translate(0)}10%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}20%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}30%{-webkit-transform:translate(-2px, 2px);transform:translate(-2px, 2px)}40%{-webkit-transform:translate(2px, 2px);transform:translate(2px, 2px)}50%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}60%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}70%{-webkit-transform:translate(-2px, 2px);transform:translate(-2px, 2px)}80%{-webkit-transform:translate(-2px, -2px);transform:translate(-2px, -2px)}90%{-webkit-transform:translate(2px, -2px);transform:translate(2px, -2px)}100%{-webkit-transform:translate(0);transform:translate(0)}}.pretty.a-tada>input[type='checkbox']:checked+label>i,.pretty.a-tada>input[type='radio']:checked+label>i{-webkit-animation:tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;animation:tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.pretty.a-bounce>input[type='checkbox']:checked+label>i,.pretty.a-bounce>input[type='radio']:checked+label>i{-webkit-animation:bounce 1.1s both;animation:bounce 1.1s both}.pretty.a-rotate>input[type='checkbox']:checked+label>i,.pretty.a-rotate>input[type='radio']:checked+label>i{-webkit-animation:rotate 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;animation:rotate 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.pretty.a-jelly>input[type='checkbox']:checked+label>i,.pretty.a-jelly>input[type='radio']:checked+label>i{-webkit-animation:jelly 0.9s both;animation:jelly 0.9s both}.pretty.a-vibrate>input[type='checkbox']:checked+label>i,.pretty.a-vibrate>input[type='radio']:checked+label>i{-webkit-animation:vibrate 0.5s linear infinite both;animation:vibrate 0.5s linear infinite both}
diff --git a/src/pretty.scss b/src/pretty.scss
deleted file mode 100644
index 0a95446..0000000
--- a/src/pretty.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-@import 'scss/support/index';
-@import 'scss/decorators/index';
\ No newline at end of file
diff --git a/src/scss/_core.scss b/src/scss/_core.scss
new file mode 100644
index 0000000..13b0736
--- /dev/null
+++ b/src/scss/_core.scss
@@ -0,0 +1,85 @@
+@charset 'utf-8';
+
+.#{$pretty--class-name} * {
+ box-sizing: border-box;
+}
+
+//Throw error on invalid input types.
+.#{$pretty--class-name} input:not([type='checkbox']):not([type='radio']) {
+ display: none;
+
+ @if $pretty--debug {
+ + *:after {
+ content: $pretty--err-message;
+ border: 1px solid #dedede;
+ border-left: 3px solid #d9534f;
+ padding: 9px;
+ font-size: 1em;
+ font-weight: 600;
+ color: #d9534f;
+ position: absolute;
+ z-index: 3;
+ background: #fbfbfb;
+ top: 0;
+ left: 0;
+ }
+ }
+}
+
+.#{$pretty--class-name} {
+ position: relative;
+ display: inline-block;
+ margin-right: 1em;
+ white-space: nowrap;
+ line-height: 1;
+
+ input {
+ position: absolute;
+ left: 0;
+ top: 0;
+ min-width: 1em;
+ width: 100%;
+ height: 100%;
+ z-index: $pretty--z-index-front;
+ opacity: 0;
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+ }
+
+ .state {
+ label {
+ position: initial;
+ display: inline-block;
+ font-weight: normal;
+ margin: 0;
+ text-indent: $pretty--label-text-offset;
+ min-width: $pretty--box-size;
+
+ &:before,
+ &:after {
+ content: '';
+ width: $pretty--box-size;
+ height: $pretty--box-size;
+ display: block;
+ box-sizing: border-box;
+ border-radius: 0;
+ border: 1px solid transparent;
+ z-index: $pretty--z-index-back;
+ position: absolute;
+ left: 0;
+ top: $pretty-top-offset;
+ background-color: transparent;
+ }
+
+ &:before {
+ border-color: $pretty--color-default;
+ }
+ }
+
+ &.p-is-hover,
+ &.p-is-indeterminate {
+ display: none;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss
new file mode 100644
index 0000000..750d59e
--- /dev/null
+++ b/src/scss/_variables.scss
@@ -0,0 +1,39 @@
+$pretty--class-name: pretty !default;
+
+// colors
+$pretty--color-default: #bdc3c7 !default;
+$pretty--color-primary: #428bca !default;
+$pretty--color-info: #5bc0de !default;
+$pretty--color-success: #5cb85c !default;
+$pretty--color-warning: #f0ad4e !default;
+$pretty--color-danger: #d9534f !default;
+$pretty--color-dark: #5a656b !default;
+
+// z-index
+$pretty--z-index-back: 0 !default;
+$pretty--z-index-between: 1 !default;
+$pretty--z-index-front: 2 !default;
+
+// box
+$pretty--curve-radius: 20% !default;
+$pretty--box-size: calc(1em + 2px) !default;
+
+// text
+$pretty--label-text-offset: 1.5em !default;
+$pretty--label-text-offset-switch: 2.5em !default;
+
+// scale
+$pretty--2x: 1.2em !default;
+
+// color set
+$pretty--colors: (primary, $pretty--color-primary), (info, $pretty--color-info), (success, $pretty--color-success), (warning, $pretty--color-warning), (danger, $pretty--color-danger) !default;
+
+// position
+$pretty-top: 8;
+$pretty-top-switch: ($pretty-top * 2) * 1%;
+$pretty-top-offset: calc((0% - (100% - 1em)) - #{$pretty-top * 1%});
+$pretty-top-offset-switch: calc((0% - (100% - 1em)) - #{$pretty-top-switch});
+
+// dev
+$pretty--debug: false !default;
+$pretty--err-message: 'Invalid input type!' !default;
\ No newline at end of file
diff --git a/src/scss/decorators/_animation.scss b/src/scss/decorators/_animation.scss
deleted file mode 100644
index 1addfc7..0000000
--- a/src/scss/decorators/_animation.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-.#{$pretty--class-name}.smooth {
- i {
- &:before {
- transition:all .5s ease;
- transform:scale(0);
- }
-
- &:after {
- transition:all .5s ease;
- }
- }
-
- & > input[type='checkbox']:checked ~ label>i,
- & > input[type='radio']:checked ~ label>i {
- &:before {
- transform:scale(1);
- }
-
- &:after {
- transform:scale(0);
- }
- }
-
- & > input[type='radio']:checked ~ label > i.default {
- &:before {
- transform:scale(.8);
- }
-
- &:after {
- transform:scale(1);
- }
- }
-}
-
-.#{$pretty--class-name}.smooth.toggle {
- i {
- &:before {
- transform:none;
- }
- }
-
- & > input[type='checkbox']:checked ~ label>i,
- & > input[type='radio']:checked ~ label>i {
- &:before {
- transform:none;
- }
-
- &:after {
- transform:none;
- }
- }
-}
diff --git a/src/scss/decorators/_circle.scss b/src/scss/decorators/_circle.scss
deleted file mode 100644
index feaef90..0000000
--- a/src/scss/decorators/_circle.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.#{$pretty--class-name}.circle {
- label i{
- padding: 2px;
- }
- label i:after,
- label i:before {
- border-radius: 100px;
- }
-
- label i.default:before {
- border-radius: 100px !important;
- }
-}
diff --git a/src/scss/decorators/_color.scss b/src/scss/decorators/_color.scss
deleted file mode 100644
index 3739d9c..0000000
--- a/src/scss/decorators/_color.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-@each $color in $outline-colors {
- .#{$pretty--class-name}.#{nth($color,1)} {
- input:checked+ label i {
- &:before {
- color: #fff;
- background-color: nth($color, 3) !important
- }
-
- &:after {
- border-color: nth($color, 3);
- background-color: nth($color, 3) !important
- }
- }
-
- input[type='radio']:checked+ label i.default {
- &:before {
- background-color: nth($color, 3) !important;
- color: transparent;
- }
-
- &:after {
- background-color: initial !important;
- border-color: nth($color, 3);
- }
- }
-
- &.smooth {
- input:checked ~ label i:after {
- transform:scale(1) !important;
- }
- }
- }
-
- .#{$pretty--class-name}.#{nth($color,2)} {
- input:checked+label i {
- &:before {
- color: nth($color, 3);
- }
-
- &:after {
- border-color: nth($color, 3);
- }
- }
- }
-
- .#{$pretty--class-name}.toggle {
- @each $subcolor in $outline-colors {
- i.#{nth($subcolor,1)} {
- &:before {
- color: nth($subcolor, 3) !important;
- }
- }
- }
- }
-}
diff --git a/src/scss/decorators/_core.scss b/src/scss/decorators/_core.scss
deleted file mode 100644
index bfb34e9..0000000
--- a/src/scss/decorators/_core.scss
+++ /dev/null
@@ -1,96 +0,0 @@
-.#{$pretty--class-name} {
- line-height: 1;
- position: relative;
- display: inline-block;
- margin: 0 10px 5px 0;
-}
-
-.#{$pretty--class-name} {
- label {
- font-weight: normal;
- }
-
- & > input[type='checkbox'],
- & > input[type='radio'] {
- position: absolute;
- z-index: 99999999;
- top: 0;
- left: 0;
- display: block;
- width: 100%;
- height: 100%;
- margin: 0;
- cursor: pointer;
- opacity: 0;
- }
-
- i {
- font-size: 1em !important;
- position: relative;
- display: inline-block;
- box-sizing: initial;
- min-width: 1em;
- margin-right: 2px;
- padding: 1px;
- text-align: center;
-
- &:before {
- position: relative;
- z-index: 999;
- left: 0;
- display: inline-block;
- vertical-align: bottom;
- color: transparent;
- background-color: $pretty--color-bg;
- }
-
- &:after {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- content: '\0000';
- color: transparent;
- border: 1px solid $pretty--color-border;
- border-radius: $pretty--border-radius;
- }
- }
-
- & > input[type='checkbox']:checked + label > i,
- & > input[type='radio']:checked + label > i {
- &:before {
- color: inherit;
- background-color: $pretty--color-bg;
- }
- }
-
- & > input[type='radio'] + label > i.default {
- &:before {
- left: 0;
- min-width: 1em;
- content: '\0000';
- color: transparent;
- border-radius: $pretty--border-radius;
- background: $pretty--color-bg;
- transform:scale(.8);
- }
- }
-
- & > input[type='radio']:checked + label > i.default {
- &:before {
- background-color: $pretty--color-radio !important;
- }
- }
-
- & > input[type='checkbox'][disabled],
- & > input[type='radio'][disabled] {
- cursor: not-allowed;
- opacity: 0;
-
- & + label {
- cursor: not-allowed;
- opacity: 0.5;
- }
- }
-}
diff --git a/src/scss/decorators/_curvy.scss b/src/scss/decorators/_curvy.scss
deleted file mode 100644
index 74bd748..0000000
--- a/src/scss/decorators/_curvy.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-.#{$pretty--class-name}.curvy {
- label i:after,
- label i:before {
- border-radius: 2px;
- }
-
- label i.default:before {
- border-radius: 2px !important;
- }
-}
diff --git a/src/scss/decorators/_hard_animation.scss b/src/scss/decorators/_hard_animation.scss
deleted file mode 100644
index 9815823..0000000
--- a/src/scss/decorators/_hard_animation.scss
+++ /dev/null
@@ -1,176 +0,0 @@
-@keyframes tada {
- 0% {
- transform: scale(7);
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- transform: scale(1);
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- transform: scale(1.5);
- animation-timing-function: ease-in;
- }
- 72% {
- transform: scale(1);
- animation-timing-function: ease-out;
- }
- 81% {
- transform: scale(1.24);
- animation-timing-function: ease-in;
- }
- 89% {
- transform: scale(1);
- animation-timing-function: ease-out;
- }
- 95% {
- transform: scale(1.04);
- animation-timing-function: ease-in;
- }
- 100% {
- transform: scale(1);
- animation-timing-function: ease-out;
- }
-};
-
-@keyframes bounce {
- 0% {
- transform: translateY(-50px);
- animation-timing-function: ease-in;
- opacity: 0;
- }
- 38% {
- transform: translateY(0);
- animation-timing-function: ease-out;
- opacity: 1;
- }
- 55% {
- transform: translateY(-30px);
- animation-timing-function: ease-in;
- }
- 72% {
- transform: translateY(0);
- animation-timing-function: ease-out;
- }
- 81% {
- transform: translateY(-18px);
- -webkit-animation-timing-function: ease-in;
- }
- 90% {
- transform: translateY(0);
- animation-timing-function: ease-out;
- }
- 95% {
- transform: translateY(-8px);
- animation-timing-function: ease-in;
- }
- 100% {
- transform: translateY(0);
- animation-timing-function: ease-out;
- }
-};
-
-
-@keyframes rotate {
- 0% {
- transform: translateZ(-200px) rotate(-45deg);
- opacity: 0;
- }
- 100% {
- transform: translateZ(0) rotate(0);
- opacity: 1;
- }
-}
-
-@keyframes jelly {
- 0% {
- transform: scale3d(1, 1, 1);
- }
- 30% {
- transform: scale3d(0.75, 1.25, 1);
- }
- 40% {
- transform: scale3d(1.25, 0.75, 1);
- }
- 50% {
- transform: scale3d(0.85, 1.15, 1);
- }
- 65% {
- transform: scale3d(1.05, 0.95, 1);
- }
- 75% {
- transform: scale3d(0.95, 1.05, 1);
- }
- 100% {
- transform: scale3d(1, 1, 1);
- }
-}
-
-@keyframes vibrate {
- 0% {
- transform: translate(0);
- }
- 10% {
- transform: translate(-2px, -2px);
- }
- 20% {
- transform: translate(2px, -2px);
- }
- 30% {
- transform: translate(-2px, 2px);
- }
- 40% {
- transform: translate(2px, 2px);
- }
- 50% {
- transform: translate(-2px, -2px);
- }
- 60% {
- transform: translate(2px, -2px);
- }
- 70% {
- transform: translate(-2px, 2px);
- }
- 80% {
- transform: translate(-2px, -2px);
- }
- 90% {
- transform: translate(2px, -2px);
- }
- 100% {
- transform: translate(0);
- }
-}
-
-.pretty.a-tada{
- & > input[type='checkbox']:checked + label>i,
- & > input[type='radio']:checked+ label>i {
- animation:tada 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
- }
-}
-.pretty.a-bounce{
- & > input[type='checkbox']:checked + label>i,
- & > input[type='radio']:checked+ label>i {
- animation:bounce 1.1s both;
- }
-}
-.pretty.a-rotate{
- & > input[type='checkbox']:checked + label>i,
- & > input[type='radio']:checked+ label>i {
- animation: rotate 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
- }
-}
-.pretty.a-jelly{
- & > input[type='checkbox']:checked + label>i,
- & > input[type='radio']:checked+ label>i {
- animation: jelly 0.9s both;
- }
-}
-.pretty.a-vibrate{
- & > input[type='checkbox']:checked + label>i,
- & > input[type='radio']:checked+ label>i {
- animation: vibrate 0.5s linear infinite both;
- }
-}
diff --git a/src/scss/decorators/_hover.scss b/src/scss/decorators/_hover.scss
deleted file mode 100644
index 7a3f2f5..0000000
--- a/src/scss/decorators/_hover.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-@each $color in $outline-colors {
- .#{$pretty--class-name}.#{nth($color,1)}.hover:hover {
- input+ label i {
- &:before {
- background-color: transparentize(nth($color, 3),0.5) !important;
- color: #fff !important;
- }
- &:after {
- border-color: transparentize(nth($color, 3),0.5) !important;
- }
- }
- }
-
- .#{$pretty--class-name}.#{nth($color,2)}.hover:hover {
- input+label i {
- &:before {
- color: transparentize(nth($color, 3),0.2);
- }
- }
- }
-}
diff --git a/src/scss/decorators/_index.scss b/src/scss/decorators/_index.scss
deleted file mode 100644
index ed18265..0000000
--- a/src/scss/decorators/_index.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-@import 'core';
-@import 'plain';
-@import 'circle';
-@import 'curvy';
-@import 'color';
-@import 'toggle';
-@import 'override';
-@import 'hover';
-@import 'animation';
-@import 'hard_animation';
diff --git a/src/scss/decorators/_override.scss b/src/scss/decorators/_override.scss
deleted file mode 100644
index 8b13789..0000000
--- a/src/scss/decorators/_override.scss
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/scss/decorators/_plain.scss b/src/scss/decorators/_plain.scss
deleted file mode 100644
index 6674324..0000000
--- a/src/scss/decorators/_plain.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-.#{$pretty--class-name}.plain {
- & > input[type='checkbox'] + label, & > input[type='radio'] + label {
- & > i:after {}
- }
-
- & > input[type='checkbox']:checked + label,
- & > input[type='radio']:checked + label {
- & > i:after {
- border-color: transparent;
- }
- }
-
- & > input[type='checkbox'] + label+label,
- & > input[type='radio'] + label+label {
- & > i:after {
- border-color: transparent;
- }
- }
-
- & > input[type='checkbox']:checked + label+label,
- & > input[type='radio']:checked + label+label {
- & > i:after {
- border-color: transparent;
- }
- }
-}
-
-.#{$pretty--class-name}.plain.toggle {
- & > input[type='checkbox'] + label, & > input[type='radio'] + label {
- & > i:after {
- border-color: transparent;
- }
- }
-}
diff --git a/src/scss/decorators/_toggle.scss b/src/scss/decorators/_toggle.scss
deleted file mode 100644
index 761cff7..0000000
--- a/src/scss/decorators/_toggle.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-.#{$pretty--class-name}.toggle {
- & > input[type='checkbox'] + label, & > input[type='radio'] + label {
- & > i:before {
- color: inherit;
- }
- }
-
- & > input[type='checkbox'] + label+label,
- & > input[type='radio'] + label+label {
- display: none;
- }
-
- & > input[type='checkbox']:checked + label,
- & > input[type='radio']:checked + label {
- display: none;
- }
-
- & > input[type='checkbox']:checked + label+label,
- & > input[type='radio']:checked + label+label {
- display: inline-block;
-
- & > i:before {
- color: inherit;
- }
- }
-}
diff --git a/src/scss/elements/default/_fill.scss b/src/scss/elements/default/_fill.scss
new file mode 100644
index 0000000..33707e2
--- /dev/null
+++ b/src/scss/elements/default/_fill.scss
@@ -0,0 +1,7 @@
+.#{$pretty--class-name}.p-default.p-fill {
+ .state label {
+ &:after {
+ transform: scale(1);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/default/_outline.scss b/src/scss/elements/default/_outline.scss
new file mode 100644
index 0000000..0914cc2
--- /dev/null
+++ b/src/scss/elements/default/_outline.scss
@@ -0,0 +1,13 @@
+.#{$pretty--class-name}.p-default {
+ .state label {
+ &:after {
+ transform: scale(0.6);
+ }
+ }
+
+ input:checked ~ .state label {
+ &:after {
+ background-color: $pretty--color-default !important;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/default/_thick.scss b/src/scss/elements/default/_thick.scss
new file mode 100644
index 0000000..8c16921
--- /dev/null
+++ b/src/scss/elements/default/_thick.scss
@@ -0,0 +1,12 @@
+.#{$pretty--class-name}.p-default.p-thick {
+ .state label {
+ &:before,
+ &:after {
+ border-width: calc(1em / 7);
+ }
+
+ &:after {
+ transform: scale(0.4) !important;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/font-icon/_general.scss b/src/scss/elements/font-icon/_general.scss
new file mode 100644
index 0000000..5a8ee41
--- /dev/null
+++ b/src/scss/elements/font-icon/_general.scss
@@ -0,0 +1,39 @@
+.#{$pretty--class-name}.p-icon {
+ .state {
+ .icon {
+ position: absolute;
+ font-size: 1em;
+ width: $pretty--box-size;
+ height: $pretty--box-size;
+ left: 0;
+ z-index: $pretty--z-index-between;
+ text-align: center;
+ line-height: normal;
+ top: $pretty-top-offset;
+ border: 1px solid transparent;
+ opacity: 0;
+ }
+
+ .icon:before {
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: flex;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ line-height: 1;
+ }
+ }
+
+ input:checked ~ .state {
+ .icon {
+ opacity: 1;
+ }
+
+ label:before {
+ border-color: #5a656b;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/image/_general.scss b/src/scss/elements/image/_general.scss
new file mode 100644
index 0000000..f9678c4
--- /dev/null
+++ b/src/scss/elements/image/_general.scss
@@ -0,0 +1,21 @@
+.#{$pretty--class-name}.p-image {
+ .state {
+ img {
+ opacity: 0;
+ position: absolute;
+ width: $pretty--box-size;
+ height: $pretty--box-size;
+ top: 0;
+ top: $pretty-top-offset;
+ left: 0;
+ z-index: $pretty--z-index-back;
+ text-align: center;
+ line-height: normal;
+ transform: scale(0.8);
+ }
+ }
+
+ input:checked ~ .state img {
+ opacity: 1;
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/svg/_general.scss b/src/scss/elements/svg/_general.scss
new file mode 100644
index 0000000..f594f53
--- /dev/null
+++ b/src/scss/elements/svg/_general.scss
@@ -0,0 +1,33 @@
+.#{$pretty--class-name}.p-svg {
+ .state {
+ .svg {
+ position: absolute;
+ font-size: 1em;
+ width: $pretty--box-size;
+ height: $pretty--box-size;
+ left: 0;
+ z-index: $pretty--z-index-between;
+ text-align: center;
+ line-height: normal;
+ top: $pretty-top-offset;
+ border: 1px solid transparent;
+ opacity: 0;
+ }
+
+ svg {
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: flex;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ line-height: 1;
+ }
+ }
+
+ input:checked ~ .state .svg {
+ opacity: 1;
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/switch/_fill.scss b/src/scss/elements/switch/_fill.scss
new file mode 100644
index 0000000..0f0ace5
--- /dev/null
+++ b/src/scss/elements/switch/_fill.scss
@@ -0,0 +1,15 @@
+.#{$pretty--class-name}.p-switch.p-fill {
+ input:checked~.state {
+ &:before {
+ border-color: $pretty--color-dark;
+ background-color: $pretty--color-dark !important;
+ }
+ label:before {
+ opacity: 0;
+ }
+ label:after {
+ background-color: #fff !important;
+ left: 1em;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/switch/_general.scss b/src/scss/elements/switch/_general.scss
new file mode 100644
index 0000000..e921aa8
--- /dev/null
+++ b/src/scss/elements/switch/_general.scss
@@ -0,0 +1,54 @@
+.#{$pretty--class-name}.p-switch {
+ input{
+ width:2em;
+ }
+ .state {
+ position: relative;
+
+ &:before {
+ content: '';
+ border: 1px solid $pretty--color-default;
+ border-radius: 60px;
+ width: 2em;
+ box-sizing: unset;
+ height: $pretty--box-size;
+ position: absolute;
+ top: 0;
+ top: $pretty-top-offset-switch;
+ z-index: $pretty--z-index-back;
+ transition: all 0.5s ease;
+ }
+
+ label {
+ text-indent: $pretty--label-text-offset-switch;
+
+ &:before,
+ &:after {
+ transition: all 0.5s ease;
+ border-radius: 100%;
+ left: 0;
+ border-color: transparent;
+ transform: scale(0.8);
+ }
+
+ &:after {
+ background-color: $pretty--color-default !important;
+ }
+ }
+ }
+
+ input:checked ~ .state {
+ &:before {
+ border-color: $pretty--color-dark;
+ }
+
+ label:before {
+ opacity: 0;
+ }
+
+ label:after {
+ background-color: $pretty--color-dark !important;
+ left: 1em;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/elements/switch/_slim.scss b/src/scss/elements/switch/_slim.scss
new file mode 100644
index 0000000..0b98b7f
--- /dev/null
+++ b/src/scss/elements/switch/_slim.scss
@@ -0,0 +1,16 @@
+.#{$pretty--class-name}.p-switch.p-slim {
+ .state {
+ &:before {
+ height: 0.1em;
+ background: $pretty--color-default !important;
+ top: calc(50% - 0.1em);
+ }
+ }
+
+ input:checked ~ .state {
+ &:before {
+ border-color: $pretty--color-dark;
+ background-color: $pretty--color-dark !important;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/essentials/_functions.scss b/src/scss/essentials/_functions.scss
new file mode 100644
index 0000000..cfa374b
--- /dev/null
+++ b/src/scss/essentials/_functions.scss
@@ -0,0 +1 @@
+// empty
\ No newline at end of file
diff --git a/src/scss/essentials/_keyframes.scss b/src/scss/essentials/_keyframes.scss
new file mode 100644
index 0000000..f0681e0
--- /dev/null
+++ b/src/scss/essentials/_keyframes.scss
@@ -0,0 +1,102 @@
+@keyframes zoom {
+ 0% {
+ opacity: 0;
+ transform: scale(0);
+ }
+}
+
+@keyframes tada {
+ 0% {
+ animation-timing-function: ease-in;
+ opacity: 0;
+ transform: scale(7);
+ }
+
+ 38% {
+ animation-timing-function: ease-out;
+ opacity: 1;
+ transform: scale(1);
+ }
+
+ 55% {
+ animation-timing-function: ease-in;
+ transform: scale(1.5);
+ }
+
+ 72% {
+ animation-timing-function: ease-out;
+ transform: scale(1);
+ }
+
+ 81% {
+ animation-timing-function: ease-in;
+ transform: scale(1.24);
+ }
+
+ 89% {
+ animation-timing-function: ease-out;
+ transform: scale(1);
+ }
+
+ 95% {
+ animation-timing-function: ease-in;
+ transform: scale(1.04);
+ }
+
+ 100% {
+ animation-timing-function: ease-out;
+ transform: scale(1);
+ }
+}
+
+@keyframes jelly {
+ 0% {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ transform: scale3d(.75, 1.25, 1);
+ }
+
+ 40% {
+ transform: scale3d(1.25, .75, 1);
+ }
+
+ 50% {
+ transform: scale3d(.85, 1.15, 1);
+ }
+
+ 65% {
+ transform: scale3d(1.05, .95, 1);
+ }
+
+ 75% {
+ transform: scale3d(.95, 1.05, 1);
+ }
+
+ 100% {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes rotate {
+ 0% {
+ opacity: 0;
+ transform: translateZ(-200px) rotate(-45deg);
+ }
+
+ 100% {
+ opacity: 1;
+ transform: translateZ(0) rotate(0);
+ }
+}
+
+@keyframes pulse {
+ 0% {
+ box-shadow: 0px 0px 0px 0px transparentize($pretty--color-default, 0);
+ }
+
+ 100% {
+ box-shadow: 0px 0px 0px 1.5em transparentize($pretty--color-default, 1);
+ }
+}
\ No newline at end of file
diff --git a/src/scss/essentials/_mixins.scss b/src/scss/essentials/_mixins.scss
new file mode 100644
index 0000000..cfa374b
--- /dev/null
+++ b/src/scss/essentials/_mixins.scss
@@ -0,0 +1 @@
+// empty
\ No newline at end of file
diff --git a/src/scss/extras/_animation.scss b/src/scss/extras/_animation.scss
new file mode 100644
index 0000000..0a07282
--- /dev/null
+++ b/src/scss/extras/_animation.scss
@@ -0,0 +1,89 @@
+.#{$pretty--class-name}.p-smooth {
+ label:before,
+ label:after,
+ .icon,
+ .svg {
+ transition: all 0.5s ease;
+ }
+
+ input:checked + .state {
+ label:after {
+ transition: all 0.3s ease;
+ }
+
+ .icon,
+ .svg,
+ img {
+ animation: zoom 0.2s ease;
+ }
+ }
+
+ &.p-default input:checked + .state {
+ label:after {
+ animation: zoom 0.2s ease;
+ }
+ }
+
+ &.p-plain input:checked + .state {
+ label:before {
+ content: '';
+ transform: scale(0);
+ transition: all 0.5s ease;
+ }
+ }
+}
+
+.#{$pretty--class-name}.p-tada:not(.p-default) {
+ input:checked + .state {
+ .icon,
+ .svg,
+ img,
+ label:before,
+ label:after {
+ animation: tada 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1 alternate;
+ opacity: 1;
+ }
+ }
+}
+
+.#{$pretty--class-name}.p-jelly:not(.p-default) {
+ input:checked + .state {
+ .icon,
+ .svg,
+ img,
+ label:before,
+ label:after {
+ animation: jelly 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940);
+ opacity: 1;
+ }
+
+ label:before {
+ border-color: transparent;
+ }
+ }
+}
+
+.#{$pretty--class-name}.p-rotate:not(.p-default) {
+ input:checked ~ .state {
+ .icon,
+ .svg,
+ img,
+ label:before,
+ label:after {
+ animation: rotate 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940);
+ opacity: 1;
+ }
+
+ label:before {
+ border-color: transparent;
+ }
+ }
+}
+
+.#{$pretty--class-name}.p-pulse:not(.p-switch) {
+ input:checked ~ .state {
+ label:before {
+ animation: pulse 1s;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_bigger.scss b/src/scss/extras/_bigger.scss
new file mode 100644
index 0000000..95909d0
--- /dev/null
+++ b/src/scss/extras/_bigger.scss
@@ -0,0 +1,14 @@
+.#{$pretty--class-name}.p-bigger {
+ label:before,
+ label:after,
+ .icon,
+ .svg,
+ .img {
+ font-size: $pretty--2x !important;
+ top: calc((0% - (100% - 1em)) - 35%) !important;
+ }
+
+ label {
+ text-indent: 1.7em;
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_colors.scss b/src/scss/extras/_colors.scss
new file mode 100644
index 0000000..a127124
--- /dev/null
+++ b/src/scss/extras/_colors.scss
@@ -0,0 +1,53 @@
+.#{$pretty--class-name} {
+ @each $name, $color in $pretty--colors {
+ input:checked ~ .state.p-#{$name},
+ &.p-toggle .state.p-#{$name} {
+ label:after {
+ background-color: $color !important;
+ }
+
+ .icon,
+ .svg {
+ color: #fff;
+ stroke: #fff;
+ }
+ }
+
+ input:checked ~ .state.p-#{$name}-o,
+ &.p-toggle .state.p-#{$name}-o {
+ label:before {
+ border-color: $color;
+ }
+
+ label:after {
+ background-color: transparent;
+ }
+
+ .icon,
+ .svg,
+ svg {
+ color: $color;
+ stroke: $color;
+ }
+ }
+
+ &.p-default:not(.p-fill) input:checked ~ .state.p-#{$name}-o label {
+ &:after {
+ background-color: $color !important;
+ }
+ }
+
+ &.p-switch input:checked ~ .state.p-#{$name}:before {
+ border-color: $color;
+ }
+
+ &.p-switch.p-fill input:checked ~ .state.p-#{$name}:before {
+ background-color: $color !important;
+ }
+
+ &.p-switch.p-slim input:checked ~ .state.p-#{$name}:before {
+ border-color: darken($color, 20%);
+ background-color: darken($color, 20%) !important;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_curve.scss b/src/scss/extras/_curve.scss
new file mode 100644
index 0000000..b67720a
--- /dev/null
+++ b/src/scss/extras/_curve.scss
@@ -0,0 +1,8 @@
+.#{$pretty--class-name}.p-curve {
+ .state label {
+ &:before,
+ &:after {
+ border-radius: $pretty--curve-radius;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_disabled.scss b/src/scss/extras/_disabled.scss
new file mode 100644
index 0000000..69a8d45
--- /dev/null
+++ b/src/scss/extras/_disabled.scss
@@ -0,0 +1,12 @@
+.#{$pretty--class-name} {
+ input {
+ &[disabled] {
+ cursor: not-allowed;
+ display: none;
+
+ & ~ * {
+ opacity: .5;
+ }
+ }
+ }
+}
diff --git a/src/scss/extras/_locked.scss b/src/scss/extras/_locked.scss
new file mode 100644
index 0000000..4ae9e6c
--- /dev/null
+++ b/src/scss/extras/_locked.scss
@@ -0,0 +1,6 @@
+.#{$pretty--class-name}.p-locked {
+ input {
+ display: none;
+ cursor: not-allowed;
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_plain.scss b/src/scss/extras/_plain.scss
new file mode 100644
index 0000000..bfa6b09
--- /dev/null
+++ b/src/scss/extras/_plain.scss
@@ -0,0 +1,12 @@
+.#{$pretty--class-name}.p-plain {
+ input:checked ~ .state label,
+ &.p-toggle .state label {
+ &:before {
+ content: none;
+ }
+ }
+
+ &.p-plain .icon {
+ transform: scale(1.1);
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_print.scss b/src/scss/extras/_print.scss
new file mode 100644
index 0000000..aab23f3
--- /dev/null
+++ b/src/scss/extras/_print.scss
@@ -0,0 +1,13 @@
+@media print {
+ .#{$pretty--class-name} {
+ .state:before,
+ .state label:before,
+ .state label:after,
+ .state .icon {
+ color-adjust: exact;
+ /* stylelint-disable */
+ -webkit-print-color-adjust: exact;
+ print-color-adjust: exact;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/extras/_round.scss b/src/scss/extras/_round.scss
new file mode 100644
index 0000000..87e5960
--- /dev/null
+++ b/src/scss/extras/_round.scss
@@ -0,0 +1,17 @@
+.#{$pretty--class-name}.p-round {
+ .state label {
+ &:before,
+ &:after {
+ border-radius: 100%;
+ }
+ }
+
+ &.p-icon .state .icon {
+ border-radius: 100%;
+ overflow: hidden;
+
+ &:before {
+ transform: scale(0.8);
+ }
+ }
+}
diff --git a/src/scss/extras/_toggle.scss b/src/scss/extras/_toggle.scss
new file mode 100644
index 0000000..426291d
--- /dev/null
+++ b/src/scss/extras/_toggle.scss
@@ -0,0 +1,32 @@
+.#{$pretty--class-name}.p-toggle {
+ .state {
+ &.p-on {
+ opacity: 0;
+ display: none;
+ }
+
+ &.p-off,
+ .icon,
+ .svg,
+ img {
+ opacity: 1;
+ display: inherit;
+ }
+
+ &.p-off .icon {
+ color: $pretty--color-default;
+ }
+ }
+
+ input:checked ~ .state {
+ &.p-on {
+ opacity: 1;
+ display: inherit;
+ }
+
+ &.p-off {
+ opacity: 0;
+ display: none;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/states/_focus.scss b/src/scss/states/_focus.scss
new file mode 100644
index 0000000..0f7d977
--- /dev/null
+++ b/src/scss/states/_focus.scss
@@ -0,0 +1,7 @@
+.#{$pretty--class-name}.p-has-focus {
+ input:focus {
+ ~ .state label:before {
+ box-shadow: 0px 0px 3px 0px rgb(189, 195, 199);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/states/_hover.scss b/src/scss/states/_hover.scss
new file mode 100644
index 0000000..e996752
--- /dev/null
+++ b/src/scss/states/_hover.scss
@@ -0,0 +1,13 @@
+.#{$pretty--class-name}.p-has-hover {
+ input:hover ~ .state:not(.p-is-hover) {
+ display: none;
+ }
+
+ input:hover ~ .state.p-is-hover {
+ display: block;
+
+ .icon {
+ display: block;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/states/_indeterminate.scss b/src/scss/states/_indeterminate.scss
new file mode 100644
index 0000000..4007b3c
--- /dev/null
+++ b/src/scss/states/_indeterminate.scss
@@ -0,0 +1,14 @@
+.#{$pretty--class-name}.p-has-indeterminate {
+ input[type='checkbox']:indeterminate ~.state:not(.p-is-indeterminate) {
+ display: none;
+ }
+
+ input[type='checkbox']:indeterminate ~.state.p-is-indeterminate {
+ display: block;
+
+ .icon {
+ display: block;
+ opacity: 1;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/scss/support/_animations.scss b/src/scss/support/_animations.scss
deleted file mode 100644
index 2e109dc..0000000
--- a/src/scss/support/_animations.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import 'mixins';
\ No newline at end of file
diff --git a/src/scss/support/_extend.scss b/src/scss/support/_extend.scss
deleted file mode 100644
index f6a42d0..0000000
--- a/src/scss/support/_extend.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-.#{$pretty--class-name} {
- & > input + label>i.#{$pretty--gmdi-class-name}:before,
- & > input + label+label > i.#{$pretty--gmdi-class-name}:before{
- content:attr(#{$pretty--gmdi-attr});
- display: inline-block;
- font: normal normal normal 24px/1 $pretty--gmdi-name;
- font-size: inherit;
- text-rendering: auto;
- line-height: inherit;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- transform: translate(0, 0);
- }
-}
\ No newline at end of file
diff --git a/src/scss/support/_index.scss b/src/scss/support/_index.scss
deleted file mode 100644
index 50d4032..0000000
--- a/src/scss/support/_index.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@import 'variables';
-@import 'mixins';
-@import 'extend';
-@import 'animations';
-@import 'print';
\ No newline at end of file
diff --git a/src/scss/support/_mixins.scss b/src/scss/support/_mixins.scss
deleted file mode 100644
index fd19150..0000000
--- a/src/scss/support/_mixins.scss
+++ /dev/null
@@ -1,34 +0,0 @@
-@mixin prefixer($property, $value) {
- -webkit-#{$property}: $value;
- -moz-#{$property}: $value;
- -o-#{$property}: $value;
- #{$property}: $value;
-}
-
-@mixin animation ($value) {
- @include prefixer($property: animation, $value: $value);
-}
-
-
-@mixin keyframes($animationName) {
- @keyframes #{$animationName} {
- @content;
- }
- @-webkit-keyframes #{$animationName} {
- @content;
- }
- @-moz-keyframes #{$animationName} {
- @content;
- }
- @-o-keyframes #{$animationName} {
- @content;
- }
-}
-
-@mixin transition ($value...) {
- @if length($value) >= 1 {
- @include prefixer($property: transition, $value: $value);
- } @else {
- @include prefixer($property: transition, $value: all 0.15s ease-in 0.05s);
- }
-}
\ No newline at end of file
diff --git a/src/scss/support/_print.scss b/src/scss/support/_print.scss
deleted file mode 100644
index 1070759..0000000
--- a/src/scss/support/_print.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-@media print {
-
- .#{$pretty--class-name} > input:not(:checked)+label i:before{
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- color: transparent !important;
- }
- .#{$pretty--class-name} :not(.toggle) input:not(:checked)+label i:before,
- .#{$pretty--class-name} > input[type='radio']:checked + label > i.default:before,
- .#{$pretty--class-name} i:after{
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- color: transparent !important;
- }
-
- .#{$pretty--class-name} input:checked + label i:before {
- -webkit-print-color-adjust: exact;
- print-color-adjust: exact;
- }
-
- @each $color in $outline-colors {
- .#{$pretty--class-name}.#{nth($color, 1)} input:checked + label i:before {
- color: white !important;
- }
- }
-}
diff --git a/src/scss/support/_variables.scss b/src/scss/support/_variables.scss
deleted file mode 100644
index b2a1ee8..0000000
--- a/src/scss/support/_variables.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-$pretty--class-name: pretty !default;
-
-$pretty--border-radius: 0 !default;
-
-$pretty--color-primary: #428bca !default;
-$pretty--color-success: #5cb85c !default;
-$pretty--color-info: #5bc0de !default;
-$pretty--color-warning: #f0ad4e !default;
-$pretty--color-danger: #d9534f !default;
-$pretty--color-border: #b9b9b9 !default;
-$pretty--color-radio: #b9b9b9 !default;
-$pretty--color-bg: #fff !default;
-
-$pretty--gmdi-class-name:'g-mdi';
-$pretty--gmdi-name:'Material Icons';
-$pretty--gmdi-attr:'data-icon';
-
-$outline-colors: (primary o-primary $pretty--color-primary, success o-success $pretty--color-success, info o-info $pretty--color-info, warning o-warning $pretty--color-warning, danger o-danger $pretty--color-danger);
diff --git a/src/test.css b/src/test.css
new file mode 100644
index 0000000..2f949f5
--- /dev/null
+++ b/src/test.css
@@ -0,0 +1,1459 @@
+.pretty * {
+ box-sizing: border-box;
+}
+
+.pretty {
+ position: relative;
+ display: inline-block;
+ margin-right: 1em;
+ line-height: unset;
+ white-space: nowrap;
+}
+
+.pretty input[type='checkbox'],
+.pretty input[type='radio'] {
+ position: absolute;
+ left: 0;
+ top: 0;
+ min-width: 1em;
+ width: 100%;
+ height: 100%;
+ z-index: 2;
+ opacity: 0;
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+}
+
+.pretty .state label {
+ position: initial;
+ display: inline-block;
+ font-weight: normal;
+ margin: 0;
+ text-indent: 1.5em;
+}
+
+.pretty .state label:before, .pretty .state label:after {
+ content: '';
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ display: inline-block;
+ box-sizing: border-box;
+ border-radius: 0%;
+ border: 1px solid transparent;
+ z-index: 0;
+ position: absolute;
+ left: 0;
+ top: 0;
+ top: calc(calc(50% - calc(100% - 1em)) - 1px);
+}
+
+.pretty .state label:before {
+ background-color: transparent;
+ border-color: #bdc3c7;
+ margin-right: 0.1em;
+}
+
+.pretty .state.--is-hover, .pretty .state.--is-indeterminate {
+ display: none;
+}
+
+@-webkit-keyframes tada {
+ 0% {
+ -webkit-transform: scale(7);
+ transform: scale(7);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+ 38% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ opacity: 1;
+ }
+ 55% {
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 72% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 81% {
+ -webkit-transform: scale(1.24);
+ transform: scale(1.24);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 89% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 95% {
+ -webkit-transform: scale(1.04);
+ transform: scale(1.04);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+}
+
+@keyframes tada {
+ 0% {
+ -webkit-transform: scale(7);
+ transform: scale(7);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+ 38% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ opacity: 1;
+ }
+ 55% {
+ -webkit-transform: scale(1.5);
+ transform: scale(1.5);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 72% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 81% {
+ -webkit-transform: scale(1.24);
+ transform: scale(1.24);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 89% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+ 95% {
+ -webkit-transform: scale(1.04);
+ transform: scale(1.04);
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ }
+}
+
+@-webkit-keyframes jelly {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 30% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+ 40% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+ 50% {
+ -webkit-transform: scale3d(0.85, 1.15, 1);
+ transform: scale3d(0.85, 1.15, 1);
+ }
+ 65% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+ 75% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@keyframes jelly {
+ 0% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+ 30% {
+ -webkit-transform: scale3d(0.75, 1.25, 1);
+ transform: scale3d(0.75, 1.25, 1);
+ }
+ 40% {
+ -webkit-transform: scale3d(1.25, 0.75, 1);
+ transform: scale3d(1.25, 0.75, 1);
+ }
+ 50% {
+ -webkit-transform: scale3d(0.85, 1.15, 1);
+ transform: scale3d(0.85, 1.15, 1);
+ }
+ 65% {
+ -webkit-transform: scale3d(1.05, 0.95, 1);
+ transform: scale3d(1.05, 0.95, 1);
+ }
+ 75% {
+ -webkit-transform: scale3d(0.95, 1.05, 1);
+ transform: scale3d(0.95, 1.05, 1);
+ }
+ 100% {
+ -webkit-transform: scale3d(1, 1, 1);
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+@-webkit-keyframes rotate {
+ 0% {
+ -webkit-transform: translateZ(-200px) rotate(-45deg);
+ transform: translateZ(-200px) rotate(-45deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: translateZ(0) rotate(0);
+ transform: translateZ(0) rotate(0);
+ opacity: 1;
+ }
+}
+
+@keyframes rotate {
+ 0% {
+ -webkit-transform: translateZ(-200px) rotate(-45deg);
+ transform: translateZ(-200px) rotate(-45deg);
+ opacity: 0;
+ }
+ 100% {
+ -webkit-transform: translateZ(0) rotate(0);
+ transform: translateZ(0) rotate(0);
+ opacity: 1;
+ }
+}
+
+.pretty.--default.--fill input[type='checkbox'] ~ .state label:after,
+.pretty.--default.--fill input[type='radio'] ~ .state label:after {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+
+.pretty.--default.--fill input[type='checkbox']:checked ~ .state label:after,
+.pretty.--default.--fill input[type='radio']:checked ~ .state label:after {
+ background-color: #bdc3c7;
+}
+
+.pretty.--default input[type='checkbox'] ~ .state label:after,
+.pretty.--default input[type='radio'] ~ .state label:after {
+ -webkit-transform: scale(0.6);
+ transform: scale(0.6);
+}
+
+.pretty.--default input[type='checkbox']:checked ~ .state label:after,
+.pretty.--default input[type='radio']:checked ~ .state label:after {
+ background-color: #bdc3c7;
+}
+
+.pretty.--default.--thick input[type='checkbox'] ~ .state label:before, .pretty.--default.--thick input[type='checkbox'] ~ .state label:after,
+.pretty.--default.--thick input[type='radio'] ~ .state label:before,
+.pretty.--default.--thick input[type='radio'] ~ .state label:after {
+ border-width: 0.13em;
+}
+
+.pretty.--default.--thick input[type='checkbox'] ~ .state label:after,
+.pretty.--default.--thick input[type='radio'] ~ .state label:after {
+ -webkit-transform: scale(0.4) !important;
+ transform: scale(0.4) !important;
+}
+
+.pretty.--default.--thick input[type='checkbox']:checked + .state label:after,
+.pretty.--default.--thick input[type='radio']:checked + .state label:after {
+ background-color: #bdc3c7;
+}
+
+.pretty.--icon .state .icon {
+ display: none;
+ position: absolute;
+ font-size: 1em;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ top: 0;
+ left: 0;
+ z-index: 1;
+ text-align: center;
+ line-height: normal;
+ top: calc(calc(50% - calc(100% - 1em)) - 1px);
+ border: 1px solid transparent;
+}
+
+.pretty.--icon .state .icon:before {
+ line-height: normal;
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 1;
+}
+
+.pretty.--icon input[type='checkbox']:checked ~ .state .icon,
+.pretty.--icon input[type='radio']:checked ~ .state .icon {
+ display: inline-block;
+ vertical-align: top;
+}
+
+.pretty.--icon input[type='checkbox']:checked ~ .state label:before,
+.pretty.--icon input[type='radio']:checked ~ .state label:before {
+ border-color: #5a656b;
+}
+
+.pretty.--svg .state .svg {
+ display: none;
+ position: absolute;
+ font-size: 1em;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ top: 0;
+ left: 0;
+ z-index: 1;
+ text-align: center;
+ line-height: normal;
+ top: calc(calc(50% - calc(100% - 1em)) - 1px);
+ border: 1px solid transparent;
+}
+
+.pretty.--svg .state svg {
+ line-height: normal;
+ margin: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ line-height: 1;
+}
+
+.pretty.--svg input[type='checkbox']:checked ~ .state .svg,
+.pretty.--svg input[type='radio']:checked ~ .state .svg {
+ display: inline-block;
+}
+
+.pretty.--image .state img {
+ display: none;
+ position: absolute;
+ width: calc(1em + 2px);
+ height: calc(1em + 2px);
+ top: 0;
+ top: calc(calc(50% - calc(100% - 1em)) - 2px);
+ left: 0;
+ z-index: 0;
+ text-align: center;
+ line-height: normal;
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.--image input[type='checkbox']:checked ~ .state img,
+.pretty.--image input[type='radio']:checked ~ .state img {
+ display: inline-block;
+}
+
+.pretty.--switch .state {
+ position: relative;
+}
+
+.pretty.--switch .state:before {
+ content: '';
+ border: 1px solid #bdc3c7;
+ border-radius: 60px;
+ width: 2em;
+ display: inline-block;
+ box-sizing: unset;
+ height: calc(1em + 2px);
+ position: absolute;
+ top: 0;
+ top: calc(calc(50% - calc(100% - 1em)) - 2px);
+ z-index: 0;
+ transition: all 0.5s ease;
+}
+
+.pretty.--switch .state label {
+ text-indent: 2.5em;
+}
+
+.pretty.--switch .state label:before, .pretty.--switch .state label:after {
+ transition: all 0.5s ease;
+ border-radius: 100%;
+ left: 0;
+ border-color: transparent;
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.--switch .state label:after {
+ background-color: #bdc3c7;
+}
+
+.pretty.--switch input[type='checkbox']:checked ~ .state:before,
+.pretty.--switch input[type='radio']:checked ~ .state:before {
+ border-color: #5a656b;
+}
+
+.pretty.--switch input[type='checkbox']:checked ~ .state label:before,
+.pretty.--switch input[type='radio']:checked ~ .state label:before {
+ opacity: 0;
+}
+
+.pretty.--switch input[type='checkbox']:checked ~ .state label:after,
+.pretty.--switch input[type='radio']:checked ~ .state label:after {
+ background-color: #5a656b;
+ left: 1em;
+}
+
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state:before,
+.pretty.--switch.--fill input[type='radio']:checked ~ .state:before {
+ border-color: #5a656b;
+ background-color: #5a656b;
+}
+
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state label:before,
+.pretty.--switch.--fill input[type='radio']:checked ~ .state label:before {
+ opacity: 0;
+}
+
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state label:after,
+.pretty.--switch.--fill input[type='radio']:checked ~ .state label:after {
+ background-color: #fff;
+ left: 1em;
+}
+
+.pretty.--switch.--slim .state:before {
+ height: 0.1em;
+ background: #bdc3c7;
+ top: calc(50% - 1.5px);
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state:before {
+ border-color: #5a656b;
+ background-color: #5a656b;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--on,
+.pretty.--toggle input[type='radio'] ~ .state.--on {
+ display: none;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off,
+.pretty.--toggle input[type='checkbox'] ~ .state .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state .svg,
+.pretty.--toggle input[type='checkbox'] ~ .state img,
+.pretty.--toggle input[type='radio'] ~ .state.--off,
+.pretty.--toggle input[type='radio'] ~ .state .icon,
+.pretty.--toggle input[type='radio'] ~ .state .svg,
+.pretty.--toggle input[type='radio'] ~ .state img {
+ display: inline-block;
+}
+
+.pretty.--toggle input[type='checkbox']:checked ~ .state.--on,
+.pretty.--toggle input[type='radio']:checked ~ .state.--on {
+ display: inline-block;
+}
+
+.pretty.--toggle input[type='checkbox']:checked ~ .state.--off,
+.pretty.--toggle input[type='radio']:checked ~ .state.--off {
+ display: none;
+}
+
+.pretty.--plain input[type='checkbox']:checked ~ .state label:before,
+.pretty.--plain input[type='radio']:checked ~ .state label:before,
+.pretty.--plain.--toggle input[type='checkbox'] ~ .state label:before,
+.pretty.--plain.--toggle input[type='radio'] ~ .state label:before {
+ content: none;
+}
+
+.pretty.--round input[type='checkbox'] ~ .state label:before, .pretty.--round input[type='checkbox'] ~ .state label:after,
+.pretty.--round input[type='radio'] ~ .state label:before,
+.pretty.--round input[type='radio'] ~ .state label:after {
+ border-radius: 100%;
+}
+
+.pretty.--round.--icon .state .icon {
+ border-radius: 100%;
+ overflow: hidden;
+}
+
+.pretty.--round.--icon .state .icon:before {
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.--curve input[type='checkbox'] ~ .state label:before, .pretty.--curve input[type='checkbox'] ~ .state label:after,
+.pretty.--curve input[type='radio'] ~ .state label:before,
+.pretty.--curve input[type='radio'] ~ .state label:after {
+ border-radius: 20%;
+}
+
+.pretty.--smooth input[type='checkbox'] + .state .icon,
+.pretty.--smooth input[type='checkbox'] + .state .svg,
+.pretty.--smooth input[type='checkbox'] + .state img,
+.pretty.--smooth input[type='radio'] + .state .icon,
+.pretty.--smooth input[type='radio'] + .state .svg,
+.pretty.--smooth input[type='radio'] + .state img {
+ display: inline-block;
+ -webkit-transform: scale(0);
+ transform: scale(0);
+ opacity: 0;
+ transition: all 0.5s ease;
+}
+
+.pretty.--smooth input[type='checkbox'] + .state label:before,
+.pretty.--smooth input[type='radio'] + .state label:before {
+ transition: all 0.5s ease;
+}
+
+.pretty.--smooth input[type='checkbox'] + .state label:after,
+.pretty.--smooth input[type='radio'] + .state label:after {
+ opacity: 0;
+ transition: all 0.5s ease;
+}
+
+.pretty.--smooth input[type='checkbox']:checked + .state .icon,
+.pretty.--smooth input[type='checkbox']:checked + .state .svg,
+.pretty.--smooth input[type='checkbox']:checked + .state img,
+.pretty.--smooth input[type='checkbox']:checked + .state label:after,
+.pretty.--smooth input[type='radio']:checked + .state .icon,
+.pretty.--smooth input[type='radio']:checked + .state .svg,
+.pretty.--smooth input[type='radio']:checked + .state img,
+.pretty.--smooth input[type='radio']:checked + .state label:after {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+ opacity: 1;
+}
+
+.pretty.--smooth input[type='checkbox']:checked + .state img,
+.pretty.--smooth input[type='radio']:checked + .state img {
+ -webkit-transform: scale(0.8);
+ transform: scale(0.8);
+}
+
+.pretty.--smooth input[type='checkbox']:checked + .state label:after,
+.pretty.--smooth input[type='radio']:checked + .state label:after {
+ opacity: 1;
+}
+
+.pretty.--smooth.--default:not(.--fill) input[type='checkbox']:checked + .state label:after,
+.pretty.--smooth.--default:not(.--fill) input[type='radio']:checked + .state label:after {
+ -webkit-transform: scale(0.6);
+ transform: scale(0.6);
+}
+
+.pretty.--smooth.--plain input[type='checkbox']:checked + .state label:before,
+.pretty.--smooth.--plain input[type='radio']:checked + .state label:before {
+ content: '';
+ -webkit-transform: scale(0);
+ transform: scale(0);
+}
+
+.pretty.--tada input[type='checkbox'] + .state .icon,
+.pretty.--tada input[type='checkbox'] + .state .svg,
+.pretty.--tada input[type='checkbox'] + .state img,
+.pretty.--tada input[type='radio'] + .state .icon,
+.pretty.--tada input[type='radio'] + .state .svg,
+.pretty.--tada input[type='radio'] + .state img {
+ display: inline-block;
+ opacity: 0;
+}
+
+.pretty.--tada input[type='checkbox'] + .state label:after,
+.pretty.--tada input[type='radio'] + .state label:after {
+ opacity: 0;
+}
+
+.pretty.--tada input[type='checkbox']:checked + .state .icon,
+.pretty.--tada input[type='checkbox']:checked + .state .svg,
+.pretty.--tada input[type='checkbox']:checked + .state img,
+.pretty.--tada input[type='checkbox']:checked + .state label:after,
+.pretty.--tada input[type='radio']:checked + .state .icon,
+.pretty.--tada input[type='radio']:checked + .state .svg,
+.pretty.--tada input[type='radio']:checked + .state img,
+.pretty.--tada input[type='radio']:checked + .state label:after {
+ -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
+ animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
+ opacity: 1;
+}
+
+.pretty.--tada input[type='checkbox']:checked + .state label:after,
+.pretty.--tada input[type='radio']:checked + .state label:after {
+ opacity: 1;
+}
+
+.pretty.--jelly input[type='checkbox'] + .state .icon,
+.pretty.--jelly input[type='checkbox'] + .state .svg,
+.pretty.--jelly input[type='checkbox'] + .state img,
+.pretty.--jelly input[type='radio'] + .state .icon,
+.pretty.--jelly input[type='radio'] + .state .svg,
+.pretty.--jelly input[type='radio'] + .state img {
+ display: inline-block;
+ opacity: 0;
+ -webkit-animation-fill-mode: reverse;
+ animation-fill-mode: reverse;
+}
+
+.pretty.--jelly input[type='checkbox'] + .state label:after,
+.pretty.--jelly input[type='radio'] + .state label:after {
+ opacity: 0;
+}
+
+.pretty.--jelly input[type='checkbox']:checked + .state .icon,
+.pretty.--jelly input[type='checkbox']:checked + .state .svg,
+.pretty.--jelly input[type='checkbox']:checked + .state img,
+.pretty.--jelly input[type='checkbox']:checked + .state label:after,
+.pretty.--jelly input[type='radio']:checked + .state .icon,
+.pretty.--jelly input[type='radio']:checked + .state .svg,
+.pretty.--jelly input[type='radio']:checked + .state img,
+.pretty.--jelly input[type='radio']:checked + .state label:after {
+ -webkit-animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 both alternate;
+ animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 both alternate;
+ opacity: 1;
+}
+
+.pretty.--jelly input[type='checkbox']:checked + .state label:before,
+.pretty.--jelly input[type='radio']:checked + .state label:before {
+ border-color: transparent;
+}
+
+.pretty.--rotate input[type='checkbox'] ~ .state .icon,
+.pretty.--rotate input[type='checkbox'] ~ .state .svg,
+.pretty.--rotate input[type='checkbox'] ~ .state img,
+.pretty.--rotate input[type='radio'] ~ .state .icon,
+.pretty.--rotate input[type='radio'] ~ .state .svg,
+.pretty.--rotate input[type='radio'] ~ .state img {
+ display: inline-block;
+ opacity: 0;
+ -webkit-animation-fill-mode: reverse;
+ animation-fill-mode: reverse;
+}
+
+.pretty.--rotate input[type='checkbox'] ~ .state label:after,
+.pretty.--rotate input[type='radio'] ~ .state label:after {
+ opacity: 0;
+}
+
+.pretty.--rotate input[type='checkbox']:checked ~ .state .icon,
+.pretty.--rotate input[type='checkbox']:checked ~ .state .svg,
+.pretty.--rotate input[type='checkbox']:checked ~ .state img,
+.pretty.--rotate input[type='checkbox']:checked ~ .state label:after,
+.pretty.--rotate input[type='radio']:checked ~ .state .icon,
+.pretty.--rotate input[type='radio']:checked ~ .state .svg,
+.pretty.--rotate input[type='radio']:checked ~ .state img,
+.pretty.--rotate input[type='radio']:checked ~ .state label:after {
+ -webkit-animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 both alternate;
+ animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 both alternate;
+ opacity: 1;
+}
+
+.pretty.--rotate input[type='checkbox']:checked ~ .state label:before,
+.pretty.--rotate input[type='radio']:checked ~ .state label:before {
+ border-color: transparent;
+}
+
+.pretty input[type='checkbox'][disabled],
+.pretty input[type='radio'][disabled] {
+ display: none;
+ cursor: not-allowed;
+}
+
+.pretty input[type='checkbox'][disabled] ~ *,
+.pretty input[type='radio'][disabled] ~ * {
+ opacity: 0.5;
+}
+
+.pretty.--locked input[type='checkbox'],
+.pretty.--locked input[type='radio'] {
+ display: none;
+ cursor: not-allowed;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--primary .icon,
+.pretty input[type='checkbox']:checked ~ .state.--primary svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--primary .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--primary .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--primary .icon,
+.pretty input[type='radio']:checked ~ .state.--primary svg.svg,
+.pretty input[type='radio']:checked ~ .state.--primary .svg svg,
+.pretty input[type='radio']:checked ~ .state.--primary .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary .svg svg > * {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--primary label:after,
+.pretty input[type='radio']:checked ~ .state.--primary label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary label:after {
+ background-color: #428bca !important;
+ color: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--primary-o .icon,
+.pretty input[type='checkbox']:checked ~ .state.--primary-o svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--primary-o .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--primary-o .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--primary-o .icon,
+.pretty input[type='radio']:checked ~ .state.--primary-o svg.svg,
+.pretty input[type='radio']:checked ~ .state.--primary-o .svg svg,
+.pretty input[type='radio']:checked ~ .state.--primary-o .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o .svg svg > * {
+ stroke: #428bca;
+ color: #428bca;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--primary-o label:before,
+.pretty input[type='radio']:checked ~ .state.--primary-o label:before,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o label:before,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o label:before {
+ border-color: #428bca !important;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--primary-o label:after,
+.pretty input[type='radio']:checked ~ .state.--primary-o label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--primary-o label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--primary-o label:after {
+ background-color: #428bca !important;
+}
+
+.pretty.--fill input[type='checkbox']:checked ~ .state.--primary-o label:after,
+.pretty.--fill input[type='radio']:checked ~ .state.--primary-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--icon input[type='checkbox'] ~ .state.--primary-o label:after,
+.pretty.--icon input[type='radio'] ~ .state.--primary-o label:after, .pretty.--svg input[type='checkbox'] ~ .state.--primary-o label:after,
+.pretty.--svg input[type='radio'] ~ .state.--primary-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--primary .icon,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--primary .icon {
+ color: #fff;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--primary label:after,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--primary label:after {
+ background-color: #428bca !important;
+ color: #fff;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--primary-o .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--primary-o .icon {
+ color: #428bca;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--primary-o label:before,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--primary-o label:before {
+ border-color: #428bca !important;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--primary-o label:after,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--primary-o label:after {
+ background-color: #428bca;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--primary:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--primary:before {
+ border-color: #428bca;
+ background-color: #428bca;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--primary label:after,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--primary label:after {
+ background-color: #fff !important;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--primary-o:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--primary-o:before {
+ border-color: #428bca;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--primary:before,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--primary:before, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--primary:before,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--primary:before {
+ border-color: #428bca;
+ background-color: #428bca;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--primary label:after,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--primary label:after, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--primary label:after,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--primary label:after {
+ background-color: #428bca !important;
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--primary-o:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--primary-o:before {
+ border-color: #245682;
+ background-color: #245682;
+ zoom: 0;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--info .icon,
+.pretty input[type='checkbox']:checked ~ .state.--info svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--info .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--info .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--info .icon,
+.pretty input[type='radio']:checked ~ .state.--info svg.svg,
+.pretty input[type='radio']:checked ~ .state.--info .svg svg,
+.pretty input[type='radio']:checked ~ .state.--info .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info .svg svg > * {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--info label:after,
+.pretty input[type='radio']:checked ~ .state.--info label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info label:after {
+ background-color: #5bc0de !important;
+ color: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--info-o .icon,
+.pretty input[type='checkbox']:checked ~ .state.--info-o svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--info-o .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--info-o .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--info-o .icon,
+.pretty input[type='radio']:checked ~ .state.--info-o svg.svg,
+.pretty input[type='radio']:checked ~ .state.--info-o .svg svg,
+.pretty input[type='radio']:checked ~ .state.--info-o .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o .svg svg > * {
+ stroke: #5bc0de;
+ color: #5bc0de;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--info-o label:before,
+.pretty input[type='radio']:checked ~ .state.--info-o label:before,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o label:before,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o label:before {
+ border-color: #5bc0de !important;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--info-o label:after,
+.pretty input[type='radio']:checked ~ .state.--info-o label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--info-o label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--info-o label:after {
+ background-color: #5bc0de !important;
+}
+
+.pretty.--fill input[type='checkbox']:checked ~ .state.--info-o label:after,
+.pretty.--fill input[type='radio']:checked ~ .state.--info-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--icon input[type='checkbox'] ~ .state.--info-o label:after,
+.pretty.--icon input[type='radio'] ~ .state.--info-o label:after, .pretty.--svg input[type='checkbox'] ~ .state.--info-o label:after,
+.pretty.--svg input[type='radio'] ~ .state.--info-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--info .icon,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--info .icon {
+ color: #fff;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--info label:after,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--info label:after {
+ background-color: #5bc0de !important;
+ color: #fff;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--info-o .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--info-o .icon {
+ color: #5bc0de;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--info-o label:before,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--info-o label:before {
+ border-color: #5bc0de !important;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--info-o label:after,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--info-o label:after {
+ background-color: #5bc0de;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--info:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--info:before {
+ border-color: #5bc0de;
+ background-color: #5bc0de;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--info label:after,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--info label:after {
+ background-color: #fff !important;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--info-o:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--info-o:before {
+ border-color: #5bc0de;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--info:before,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--info:before, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--info:before,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--info:before {
+ border-color: #5bc0de;
+ background-color: #5bc0de;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--info label:after,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--info label:after, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--info label:after,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--info label:after {
+ background-color: #5bc0de !important;
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--info-o:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--info-o:before {
+ border-color: #2390b0;
+ background-color: #2390b0;
+ zoom: 0;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--success .icon,
+.pretty input[type='checkbox']:checked ~ .state.--success svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--success .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--success .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--success .icon,
+.pretty input[type='radio']:checked ~ .state.--success svg.svg,
+.pretty input[type='radio']:checked ~ .state.--success .svg svg,
+.pretty input[type='radio']:checked ~ .state.--success .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success .svg svg > * {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--success label:after,
+.pretty input[type='radio']:checked ~ .state.--success label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success label:after {
+ background-color: #5cb85c !important;
+ color: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--success-o .icon,
+.pretty input[type='checkbox']:checked ~ .state.--success-o svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--success-o .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--success-o .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--success-o .icon,
+.pretty input[type='radio']:checked ~ .state.--success-o svg.svg,
+.pretty input[type='radio']:checked ~ .state.--success-o .svg svg,
+.pretty input[type='radio']:checked ~ .state.--success-o .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o .svg svg > * {
+ stroke: #5cb85c;
+ color: #5cb85c;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--success-o label:before,
+.pretty input[type='radio']:checked ~ .state.--success-o label:before,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o label:before,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o label:before {
+ border-color: #5cb85c !important;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--success-o label:after,
+.pretty input[type='radio']:checked ~ .state.--success-o label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--success-o label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--success-o label:after {
+ background-color: #5cb85c !important;
+}
+
+.pretty.--fill input[type='checkbox']:checked ~ .state.--success-o label:after,
+.pretty.--fill input[type='radio']:checked ~ .state.--success-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--icon input[type='checkbox'] ~ .state.--success-o label:after,
+.pretty.--icon input[type='radio'] ~ .state.--success-o label:after, .pretty.--svg input[type='checkbox'] ~ .state.--success-o label:after,
+.pretty.--svg input[type='radio'] ~ .state.--success-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--success .icon,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--success .icon {
+ color: #fff;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--success label:after,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--success label:after {
+ background-color: #5cb85c !important;
+ color: #fff;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--success-o .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--success-o .icon {
+ color: #5cb85c;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--success-o label:before,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--success-o label:before {
+ border-color: #5cb85c !important;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--success-o label:after,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--success-o label:after {
+ background-color: #5cb85c;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--success:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--success:before {
+ border-color: #5cb85c;
+ background-color: #5cb85c;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--success label:after,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--success label:after {
+ background-color: #fff !important;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--success-o:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--success-o:before {
+ border-color: #5cb85c;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--success:before,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--success:before, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--success:before,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--success:before {
+ border-color: #5cb85c;
+ background-color: #5cb85c;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--success label:after,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--success label:after, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--success label:after,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--success label:after {
+ background-color: #5cb85c !important;
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--success-o:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--success-o:before {
+ border-color: #357935;
+ background-color: #357935;
+ zoom: 0;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--warning .icon,
+.pretty input[type='checkbox']:checked ~ .state.--warning svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--warning .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--warning .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--warning .icon,
+.pretty input[type='radio']:checked ~ .state.--warning svg.svg,
+.pretty input[type='radio']:checked ~ .state.--warning .svg svg,
+.pretty input[type='radio']:checked ~ .state.--warning .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning .svg svg > * {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--warning label:after,
+.pretty input[type='radio']:checked ~ .state.--warning label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning label:after {
+ background-color: #f0ad4e !important;
+ color: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--warning-o .icon,
+.pretty input[type='checkbox']:checked ~ .state.--warning-o svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--warning-o .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--warning-o .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--warning-o .icon,
+.pretty input[type='radio']:checked ~ .state.--warning-o svg.svg,
+.pretty input[type='radio']:checked ~ .state.--warning-o .svg svg,
+.pretty input[type='radio']:checked ~ .state.--warning-o .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o .svg svg > * {
+ stroke: #f0ad4e;
+ color: #f0ad4e;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--warning-o label:before,
+.pretty input[type='radio']:checked ~ .state.--warning-o label:before,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o label:before,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o label:before {
+ border-color: #f0ad4e !important;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--warning-o label:after,
+.pretty input[type='radio']:checked ~ .state.--warning-o label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--warning-o label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--warning-o label:after {
+ background-color: #f0ad4e !important;
+}
+
+.pretty.--fill input[type='checkbox']:checked ~ .state.--warning-o label:after,
+.pretty.--fill input[type='radio']:checked ~ .state.--warning-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--icon input[type='checkbox'] ~ .state.--warning-o label:after,
+.pretty.--icon input[type='radio'] ~ .state.--warning-o label:after, .pretty.--svg input[type='checkbox'] ~ .state.--warning-o label:after,
+.pretty.--svg input[type='radio'] ~ .state.--warning-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--warning .icon,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--warning .icon {
+ color: #fff;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--warning label:after,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--warning label:after {
+ background-color: #f0ad4e !important;
+ color: #fff;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--warning-o .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--warning-o .icon {
+ color: #f0ad4e;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--warning-o label:before,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--warning-o label:before {
+ border-color: #f0ad4e !important;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--warning-o label:after,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--warning-o label:after {
+ background-color: #f0ad4e;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--warning:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--warning:before {
+ border-color: #f0ad4e;
+ background-color: #f0ad4e;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--warning label:after,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--warning label:after {
+ background-color: #fff !important;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--warning-o:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--warning-o:before {
+ border-color: #f0ad4e;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--warning:before,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--warning:before, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--warning:before,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--warning:before {
+ border-color: #f0ad4e;
+ background-color: #f0ad4e;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--warning label:after,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--warning label:after, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--warning label:after,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--warning label:after {
+ background-color: #f0ad4e !important;
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--warning-o:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--warning-o:before {
+ border-color: #c77c11;
+ background-color: #c77c11;
+ zoom: 0;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--danger .icon,
+.pretty input[type='checkbox']:checked ~ .state.--danger svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--danger .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--danger .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--danger .icon,
+.pretty input[type='radio']:checked ~ .state.--danger svg.svg,
+.pretty input[type='radio']:checked ~ .state.--danger .svg svg,
+.pretty input[type='radio']:checked ~ .state.--danger .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger .svg svg > * {
+ color: #fff;
+ stroke: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--danger label:after,
+.pretty input[type='radio']:checked ~ .state.--danger label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger label:after {
+ background-color: #d9534f !important;
+ color: #fff;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--danger-o .icon,
+.pretty input[type='checkbox']:checked ~ .state.--danger-o svg.svg,
+.pretty input[type='checkbox']:checked ~ .state.--danger-o .svg svg,
+.pretty input[type='checkbox']:checked ~ .state.--danger-o .svg svg > *,
+.pretty input[type='radio']:checked ~ .state.--danger-o .icon,
+.pretty input[type='radio']:checked ~ .state.--danger-o svg.svg,
+.pretty input[type='radio']:checked ~ .state.--danger-o .svg svg,
+.pretty input[type='radio']:checked ~ .state.--danger-o .svg svg > *,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o svg.svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o .svg svg,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o .svg svg > *,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o .icon,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o svg.svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o .svg svg,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o .svg svg > * {
+ stroke: #d9534f;
+ color: #d9534f;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--danger-o label:before,
+.pretty input[type='radio']:checked ~ .state.--danger-o label:before,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o label:before,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o label:before {
+ border-color: #d9534f !important;
+}
+
+.pretty input[type='checkbox']:checked ~ .state.--danger-o label:after,
+.pretty input[type='radio']:checked ~ .state.--danger-o label:after,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--danger-o label:after,
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--danger-o label:after {
+ background-color: #d9534f !important;
+}
+
+.pretty.--fill input[type='checkbox']:checked ~ .state.--danger-o label:after,
+.pretty.--fill input[type='radio']:checked ~ .state.--danger-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--icon input[type='checkbox'] ~ .state.--danger-o label:after,
+.pretty.--icon input[type='radio'] ~ .state.--danger-o label:after, .pretty.--svg input[type='checkbox'] ~ .state.--danger-o label:after,
+.pretty.--svg input[type='radio'] ~ .state.--danger-o label:after {
+ background-color: transparent !important;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--danger .icon,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--danger .icon {
+ color: #fff;
+}
+
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--danger label:after,
+.pretty.--toggle input[type='radio'] ~ .state.--off.--danger label:after {
+ background-color: #d9534f !important;
+ color: #fff;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--danger-o .icon,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--danger-o .icon {
+ color: #d9534f;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--danger-o label:before,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--danger-o label:before {
+ border-color: #d9534f !important;
+}
+
+.pretty.--toggle input[type='radio'] ~ .state.--off.--danger-o label:after,
+.pretty.--toggle input[type='checkbox'] ~ .state.--off.--danger-o label:after {
+ background-color: #d9534f;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--danger:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--danger:before {
+ border-color: #d9534f;
+ background-color: #d9534f;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--danger label:after,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--danger label:after {
+ background-color: #fff !important;
+}
+
+.pretty.--switch input[type='radio']:checked ~ .state.--danger-o:before,
+.pretty.--switch input[type='checkbox']:checked ~ .state.--danger-o:before {
+ border-color: #d9534f;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--danger:before,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--danger:before, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--danger:before,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--danger:before {
+ border-color: #d9534f;
+ background-color: #d9534f;
+}
+
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--danger label:after,
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--danger label:after, .pretty.--switch.--fill input[type='radio']:checked ~ .state.--danger label:after,
+.pretty.--switch.--fill input[type='checkbox']:checked ~ .state.--danger label:after {
+ background-color: #d9534f !important;
+}
+
+.pretty.--switch.--slim input[type='checkbox']:checked ~ .state.--danger-o:before,
+.pretty.--switch.--slim input[type='radio']:checked ~ .state.--danger-o:before {
+ border-color: #a02622;
+ background-color: #a02622;
+ zoom: 0;
+}
+
+@media print {
+ .pretty .state:before,
+ .pretty .state label:before,
+ .pretty .state label:after {
+ -webkit-print-color-adjust: exact;
+ print-color-adjust: exact;
+ color-adjust: exact;
+ }
+}
+
+.pretty.--has-hover input[type='checkbox']:hover ~ .state:not(.--is-hover),
+.pretty.--has-hover input[type='radio']:hover ~ .state:not(.--is-hover) {
+ display: none;
+}
+
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--is-hover,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--is-hover {
+ display: block;
+}
+
+.pretty.--has-hover input[type='checkbox']:hover ~ .state.--is-hover .icon,
+.pretty.--has-hover input[type='radio']:hover ~ .state.--is-hover .icon {
+ display: block;
+}
+
+.pretty.--has-focus input[type='checkbox']:focus ~ .state label:before,
+.pretty.--has-focus input[type='radio']:focus ~ .state label:before {
+ box-shadow: 0px 0px 3px 0px #bdc3c7;
+}
+
+.pretty.--has-indeterminate input[type='checkbox']:indeterminate ~ .state:not(.--is-indeterminate) {
+ display: none;
+}
+
+.pretty.--has-indeterminate input[type='checkbox']:indeterminate ~ .state.--is-indeterminate {
+ display: block;
+}
+
+.pretty.--has-indeterminate input[type='checkbox']:indeterminate ~ .state.--is-indeterminate .icon {
+ display: block;
+}
+
+/*
+
+default
+ outline
+ fill
+ thick
+icon
+svg
+image
+switch
+ inside
+ outside
+ thin
+toggle
+insideout
+
+--common--
+color
+print
+animation
+disabled
+round
+
+*/