/*
    Skins:
        Blue:   #3498DB
        Green:  #1ABC9C
        Grey:   #3F3F3F
        Purple: #AF7AC5
        Red:    #EC7063
        Yellow: #F1C40F
*/

/* Debug*/

/* [class^=col-] {
    -webkit-box-shadow: inset 0 0 0 1px #D6BF2B;
    box-shadow: inset 0 0 0 1px #D6BF2B;
    background: #F5DB31;
}

.checkbox-inline, .radio-inline, .checkbox, .radio {
    -webkit-box-shadow: inset 0 0 0 1px #E08114;
    box-shadow: inset 0 0 0 1px #E08114;
    background: #F59931;
} */

.checkbox-inline,
.radio-inline,
.checkbox label,
.radio label,
.form-check-label {
  position: relative;
  text-align: left !important;
  padding-left: 30px !important;
  margin-right: 40px;
}

.foundation-checkbox,
.foundation-radio {
  position: relative;
  margin-right: 40px;
}

.foundation-checkbox label,
.foundation-radio label {
  position: relative;
  padding-left: 30px;
}

.check {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 19.6px;
  height: 19.6px;
}

.form-check .check {
  top: 1px;
}

.form-horizontal .checkbox-inline .check,
.form-horizontal .radio-inline .check {
  top: 7px;
}

input[type='checkbox'] {
  display: none;
}

input[type='checkbox'] ~ .check:before,
input[type='checkbox'] ~ label .check:before {
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  -webkit-transform: rotate(-45deg) scale(0, 0);
  transform: rotate(-45deg) scale(0, 0);
  content: '';
  position: absolute;
  margin-left: 1.4px;
  left: 2px;
  top: 2.1px;
  z-index: 1;
  width: 12.6px;
  height: 7px;
  border: 2px solid #3f3f3f;
  border-top-style: none;
  border-right-style: none;
}

input[type='checkbox']:checked ~ .check:before,
input[type='checkbox']:checked + label .check:before {
  -webkit-transform: rotate(-45deg) scale(1, 1);
  transform: rotate(-45deg) scale(1, 1);
}

input[type='checkbox'] ~ .check:after,
input[type='checkbox'] ~ label .check:after {
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 19.6px;
  height: 19.6px;
  background: #fff;
  border: 2px solid #ccc;
  cursor: pointer;
}

input[type='checkbox']:checked ~ .check:after,
input[type='checkbox']:checked + label .check:after {
  border: 2px solid #727272;
}

/* 14px => 10px */

/* 14px => 20px */

input[type='radio'] {
  display: none;
}

input[type='radio'] ~ .check:before,
input[type='radio'] ~ label .check:before {
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  -webkit-transform: scale(0, 0);
  transform: scale(0, 0);
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 1;
  width: 10px;
  height: 10px;
  background: #3f3f3f;
  border-radius: 50%;
}

input[type='radio']:checked ~ .check:before,
input[type='radio']:checked + label .check:before {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

input[type='radio'] ~ .check:after,
input[type='radio'] ~ label .check:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  background: #fff;
  -webkit-box-shadow: inset 0 0 0 2px #ccc;
  box-shadow: inset 0 0 0 2px #ccc;
  border-radius: 50%;
}

input[type='radio']:checked ~ .check:after,
input[type='radio']:checked + label .check:after {
  -webkit-box-shadow: inset 0 0 0 2px #3f3f3f;
  box-shadow: inset 0 0 0 2px #3f3f3f;
}
