$primary: #007bff;
$success: #37c936;
$warning: #ffcc00;
$danger: #ff3c7e;
$secondary: #6c757d;
$light: #f8f9fa;
$dark: #343a40;
$info: #17a2b8;
$primary: #007bff;
$success: #37c936;
$warning: #ffcc00;
$danger: #ff3c7e;
$secondary: #6c757d;
$light: #f8f9fa;
$dark: #343a40;
$info: #17a2b8;

.switch-checkbox {
  input[type="checkbox"] {
    opacity: 0;
    position: absolute;

    + label {
      position: relative;
      display: inline-block;
      -webkit-transition: 0.4s ease;
      -moz-transition: 0.4s ease;
      -ms-transition: 0.4s ease;
      -o-transition: 0.4s ease;
      transition: 0.4s ease;
      height: 30px;
      width: 50px;
      border: 1px solid #e6ecf5;
      border-radius: 60px;
      cursor: pointer;

      &:before {
        content: "";
        position: absolute;
        display: block;
        -webkit-transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1);
        -moz-transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1);
        -ms-transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1);
        -o-transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1);
        transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1);
        height: 30px;
        width: 50px;
        top: 0;
        left: 0;
        border-radius: 30px;
      }

      &:after {
        content: "";
        position: absolute;
        display: block;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1),
          0 4px 0px 0 rgba(0, 0, 0, 0.04), 0 4px 9px rgba(0, 0, 0, 0.13),
          0 3px 3px rgba(0, 0, 0, 0.05);
        -webkit-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);
        -moz-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);
        -ms-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);
        -o-transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);
        transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1);
        background: darken(#fff, 3%);
        height: 28px;
        width: 28px;
        top: 0px;
        left: 0px;
        border-radius: 60px;
      }
    }

    &:checked {
      + label {
        &:before {
          background: $info;
          -webkit-transition: width 0.2s cubic-bezier(0, 0, 0, 0.1);
          -moz-transition: width 0.2s cubic-bezier(0, 0, 0, 0.1);
          -ms-transition: width 0.2s cubic-bezier(0, 0, 0, 0.1);
          -o-transition: width 0.2s cubic-bezier(0, 0, 0, 0.1);
          transition: width 0.2s cubic-bezier(0, 0, 0, 0.1);
        }

        &:after {
          left: 24px;
        }
      }
    }
  }

  &.switch-sm {
    input[type="checkbox"] {
      + label {
        height: 20px;
        width: 35px;

        &:before {
          height: 20px;
          width: 35px;
        }

        &:after {
          height: 19px;
          width: 19px;
        }
      }

      &:checked {
        + label {
          &:after {
            left: 16px;
          }
        }
      }
    }
  }

  &.switch-primary {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $primary;
          }
        }
      }
    }
  }

  &.switch-success {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: #28a745;
          }
        }
      }
    }
  }

  &.switch-warning {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: #ffc107;
          }
        }
      }
    }
  }

  &.switch-danger {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: #dc3545;
          }
        }
      }
    }
  }

  &.switch-primary {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $primary;
          }
        }
      }
    }
  }

  &.switch-secondary {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $secondary;
          }
        }
      }
    }
  }

  &.switch-light {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $light;
          }
        }
      }
    }
  }

  &.switch-dark {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $dark;
          }
        }
      }
    }
  }

  &.switch-info {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            background: $info;
          }
        }
      }
    }
  }
}

$primary: #007bff;
$success: #37c936;
$warning: #ffcc00;
$danger: #ff3c7e;
$secondary: #6c757d;
$light: #f8f9fa;
$dark: #343a40;
$info: #17a2b8;

.checkbox {
  padding: 0;
  min-height: auto;

  input[type="checkbox"] {
    margin: 0;
    display: none;
    width: 22px;

    + label {
      padding-left: 0;
      margin-bottom: 0;

      &:before {
        content: "";
        width: 22px;
        height: 22px;
        display: inline-block;
        border: 2px solid #e6ecf5;
        border-radius: 3px;
        margin-right: 10px;
        font-size: 15px;
        font-family: "themify";
        font-weight: 400;
        line-height: 19px;
        vertical-align: bottom;
        text-align: center;
        background-color: #ffffff;
        cursor: pointer;
      }
    }

    &:checked {
      + label {
        &:before {
          content: "\2714";
          color: #0f9aee;
        }
      }
    }
  }

  &.checkbox-primary {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $primary;
          }
        }
      }
    }
  }

  &.checkbox-success {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $success;
          }
        }
      }
    }
  }

  &.checkbox-warning {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $warning;
          }
        }
      }
    }
  }

  &.checkbox-danger {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $danger;
          }
        }
      }
    }
  }

  &.checkbox-secondary {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $secondary;
          }
        }
      }
    }
  }

  &.checkbox-light {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $light;
            ;
          }
        }
      }
    }
  }

  &.checkbox-dark {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $dark;
            ;
          }
        }
      }
    }
  }

  &.checkbox-info {
    input[type="checkbox"] {
      &:checked {
        + label {
          &:before {
            content: "\2714";
            color: $info;
            ;
          }
        }
      }
    }
  }

}


$primary: #007bff;
$success: #37c936;
$warning: #ffcc00;
$danger: #ff3c7e;
$secondary: #6c757d;
$light: #f8f9fa;
$dark: #343a40;
$info: #17a2b8;

.radio {
	padding: 0;
    min-height: auto;

	input[type=radio] {
		margin: 0;
		display: none;
		width: 22px;

		+label {
			padding-left: 0;

			&:before {
				content: "";
				width: 22px;
				height: 22px;
				display: inline-block;
				border: 2px solid #e6ecf5;
				border-radius: 50%;
				margin-right: 10px;
				font-size: 14px;
				font-family: 'FontAwesome';
				font-weight: 400;
				line-height: 19px;
				vertical-align: bottom;
				text-align: center;
				background-color: #ffffff;
				cursor: pointer;
			}
		}

		&:checked {

			+label {
				&:before {
					content: "\25C9";
					color: #0f9aee;
					border-width: 0px;
					padding-top: 2px;
					font-size: 30px;
				}
			}
		}
	}

	&.radio-primary {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $primary;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

	&.radio-success {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $success;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

	&.radio-warning {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $warning;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

	&.radio-danger {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $danger;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

  &.radio-secondary {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $secondary;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

  &.radio-light {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $light;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

  &.radio-dark {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $dark;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}

  &.radio-info {
		input[type=radio] {
			&:checked {

				+label {
					&:before {
						content: "\25C9";
						color: $info;
						border-width: 0px;
						padding-top: 2px;
    					font-size: 30px;
					}
				}
			}
		}
	}
}


