.switch {
    display: inline-block;
    width: 40px;
    height: 26px;
}

.switch-input {
    display: none;
}

.switch-slider {
    position: relative;
    display: block;
    height: inherit;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #c8ced3;
    transition: .15s ease-out;
	border-radius: 0.25rem;
	border: 1px solid #e8e8e9;
}

.switch-slider::before {
    position: absolute;
    top: 2px;
    left: 2px;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    content: "";
    background-color: #fff;
    border: 1px solid #c8ced3;
    transition: .15s ease-out;
    border-radius: 0.125rem;
}

.switch-input:checked~.switch-slider::before {
    -webkit-transform: translateX(14px);
    transform: translateX(14px);
}

.switch-input:disabled~.switch-slider {
    cursor: not-allowed;
    opacity: .5;
}

.switch-label {
    width: 48px;
}

.switch-label .switch-slider::before {
    z-index: 2;
}

.switch-label .switch-slider::after {
    position: absolute;
    top: 50%;
    right: 1px;
    z-index: 1;
    width: 50%;
    margin-top: -.5em;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    color: #c8ced3;
    text-align: center;
    text-transform: uppercase;
    content: attr(data-unchecked);
    transition: inherit;
}

.switch-label .switch-input:checked~.switch-slider::before {
    -webkit-transform: translateX(22px);
    transform: translateX(22px);
}

.switch-label .switch-input:checked~.switch-slider::after {
    left: 1px;
    color: #fff;
    content: attr(data-checked);
}

.switch-pill .switch-slider {
    border-radius: 50em;
}

.switch-pill .switch-slider::before {
    border-radius: 50em;
}

.switch-outline .switch-input:checked + .switch-slider {
	border-color: #e8e8e9;
}

.switch-outline .switch-input.has-success + .switch-slider {
	border-color: #05D3A5;
}

.switch-outline .switch-input.has-warning + .switch-slider {
	border-color: #F29C5D;
}

.switch-outline .switch-input.has-error + .switch-slider {
	border-color: #FF6663;
}

.switch-outline .switch-input:checked + .switch-slider::before {
    background-color: #8897AA;
    border-color: #8897AA;
}

.switch-outline .switch-input:checked + .switch-slider::after {
	color: #8897AA;
}

.form-col-form-label {
	display: block;
}

.form-inline .switch {
	display: inline-block;
}