/* ----------------------- Default ----------------------- */
input[type="checkbox"], input[type="radio"] { display: inline-block; margin-right: 7px; }

/* ----------------------- Settings ----------------------- */
.e-select:focus, .checker:focus, .radio:focus, .uploader:focus { outline: none; }

/* ----------------------- Select ----------------------- */
.e-select { position: relative; z-index: auto; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
.e-select select { position: absolute; z-index: 5; top: 0; left: 0; right: 0; bottom: 0; height: 100%; width: 100%; filter: alpha(opacity=0); -moz-opacity: 0; opacity: 0; border: none; background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* ----------------------- Radio-buttons and checkboxes ----------------------- */
.radio,
.checker { display: inline-block; position: relative; width: 14px; height: 14px; background: #fff; border: 1px solid #b7b7b7; cursor: pointer; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all 250ms; -moz-transition: all 250ms; -o-transition: all 250ms; transition: all 250ms; overflow: hidden; backface-visibility: hidden; transform: translateZ(0); }

.b-form__bg .radio,
.b-form__bg .checker { border-color: #fff; }

.radio input,
.checker input { position: absolute !important; z-index: 50; left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; filter: alpha(opacity=0); -moz-opacity: 0; opacity: 0; border: none; background: none; cursor: pointer; }

.radio span,
.checker span { display: block; position: relative; text-align: center; }

.radio span:before,
.checker span:before { -webkit-transition: all 250ms; -moz-transition: all 250ms; -o-transition: all 250ms; transition: all 250ms; }

.radio.hover, label:hover .radio {  }
.checker.hover, label:hover .checker {  }

.radio.focus,
.checker.focus {  }

.m-error .radio,
.m-error .checker { border-color: #d90242 !important; }

.radio.disabled,
.checker.disabled { cursor: default !important; pointer-events: none; }

.radio.disabled input,
.checker.disabled input { cursor: default; }


/* ----------------------- Checkboxes states ----------------------- */
.checker { width: 16px; height: 16px; border-radius: 2px; }

.checker span { position: absolute; z-index: 1; left: 0; top: 0; right: 0; bottom: 0; }
.checker span:before { display: block; width: 14px; height: 14px; content: ''; visibility: hidden; opacity: 0; background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTFweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwb2x5Z29uIGZpbGw9IiNGQjZBOTUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSI0LjIzIDkgMCA0LjUwNDk5NDQ1IDEuNjkgMi42OTcwMDMzMyA0LjIzMDk1MjU3IDUuNDAzMTQ0NTEgOS4zMSAwIDExIDEuNzk4MDAyMjIiPjwvcG9seWdvbj48L3N2Zz4=) center center / 9px 9px no-repeat; }

.checker span.checked:before { visibility: visible; opacity: 1; }

.checker.disabled span:before { background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTFweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxwb2x5Z29uIGZpbGw9IiNjOGM4YzgiIGZpbGwtcnVsZT0iZXZlbm9kZCIgcG9pbnRzPSI0LjIzIDkgMCA0LjUwNDk5NDQ1IDEuNjkgMi42OTcwMDMzMyA0LjIzMDk1MjU3IDUuNDAzMTQ0NTEgOS4zMSAwIDExIDEuNzk4MDAyMjIiPjwvcG9seWdvbj48L3N2Zz4=); }


/* ----------------------- Radio-buttons states ----------------------- */
.radio { border-radius: 50%; }

.radio span { position: absolute; z-index: 1; left: 0; top: 0; right: 0; bottom: 0; }
.radio span:before { display: block; margin: 3px; width: 6px; height: 6px; background: #333; border-radius: 50%; content: ''; visibility: hidden; opacity: 0; }

.radio span.checked:before { visibility: visible; opacity: 1; }

.radio.disabled span:before { background: #c8c8c8; }


/* ----------------------- Uploader ----------------------- */
.e-uploader { display: block !important; position: relative; margin: 0 !important; padding: 0 !important; cursor: pointer; white-space: normal; }
.e-uploader input { visibility: hidden; position: absolute !important; z-index: 5; top: 0; left: 0; right: 0; bottom: 0; height: 100%; width: 100%; filter: alpha(opacity=0); -moz-opacity: 0; opacity: 0; border: none; background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.e-uploader_btn { display: inline-block; vertical-align: middle !important; padding: 8px 4px; height: 32px; width: 82px; font: 400 14px/1 'Open Sans', sans-serif; border-radius: 5px; transition: all 250ms !important; }
.e-uploader_file { display: inline-block; vertical-align: middle; min-width: 156px; padding-right: 16px; font: 400 16px 'Open Sans', sans-serif; color: #000; box-sizing: border-box; }
