﻿.withripple {
  position: relative;
}
.ripple-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 2px;
}
.ripple {
  position: absolute;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: 0px;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.05);
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transform-origin: 50%;
      -ms-transform-origin: 50%;
          transform-origin: 50%;
  opacity: 0;
  pointer-events: none;
}
.ripple.ripple-on {
  -webkit-transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
          transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
  opacity: 1;
}
.ripple.ripple-out {
  -webkit-transition: opacity 0.1s linear 0s !important;
          transition: opacity 0.1s linear 0s !important;
  opacity: 0;
}


.checkbox label {
  padding-left: 10px;
  cursor: pointer;
  position: relative;
}
.checkbox label span {
  display: block;
  position: absolute;
  left: 0px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.checkbox label .ripple {
  display: block;
  position: absolute;
  content: "";
  background-color: rgba(0, 0, 0, 0.84);
  left: -8px;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  z-index: 1;
  opacity: 0;
  margin: 0;
}
.checkbox label input[type=checkbox]:not(:checked) ~ .ripple {
  -webkit-animation: rippleOff 500ms;
          animation: rippleOff 500ms;
}
.checkbox label input[type=checkbox]:checked ~ .ripple {
  -webkit-animation: rippleOn 500ms;
          animation: rippleOn 500ms;
}
.checkbox label .check {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  top: -12px;
  left: -3px;
  margin-right: 11px;
}
.checkbox label .check:after {
  display: block;
  position: absolute;
  content: "";
  background-color: rgba(0, 0, 0, 0.84);
  left: -5px;
  top: -15px;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  z-index: 1;
  opacity: 0;
  margin: 0;
}
.checkbox label .check:before {
  position: absolute;
  content: "";
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  display: block;
  margin-top: -4px;
  margin-left: 6px;
  width: 0;
  height: 0;
  box-shadow: 0 0 0 0,
                0 0 0 0,
                0 0 0 0,
                0 0 0 0,
                0 0 0 0,
                0 0 0 0,
                0px 0px 0 0px inset;
  -webkit-animation: checkbox-off 0.3s linear forwards;
          animation: checkbox-off 0.3s linear forwards;
}
.checkbox input[type=checkbox] {
  opacity: 0;
}
.checkbox input[type=checkbox]:focus ~ .check:after {
  opacity: 0.2;
}
.checkbox input[type=checkbox]:checked ~ .check:before {
  box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
  -webkit-animation: checkbox-on 0.3s linear forwards;
          animation: checkbox-on 0.3s linear forwards;
}
.checkbox input[type=checkbox]:not(:checked) ~ .check:after {
  -webkit-animation: rippleOff 500ms linear forwards;
          animation: rippleOff 500ms linear forwards;
}
.checkbox input[type=checkbox]:checked ~ .check:after {
  -webkit-animation: rippleOn 500ms linear forwards;
          animation: rippleOn 500ms linear forwards;
}
.checkbox:not(:hover) input[type=checkbox] ~ .check:before,
.checkbox:not(:hover) input[type=checkbox] ~ .check:after {
  -webkit-animation-duration: 1ms;
          animation-duration: 1ms;
}
.checkbox input[type=checkbox][disabled]:not(:checked) ~ .check:before,
.checkbox input[type=checkbox][disabled] ~ .circle {
  opacity: 0.5;
}
.checkbox input[type=checkbox][disabled] ~ .check:after {
  background-color: rgba(0, 0, 0, 0.84);
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.checkbox input[type=checkbox]:checked ~ .check:after,
.checkbox-default input[type=checkbox]:checked ~ .check:after {
  background-color: #0f9d58;
}
.checkbox-primary input[type=checkbox]:checked ~ .check:after {
  background-color: #4285f4;
}
.checkbox-success input[type=checkbox]:checked ~ .check:after {
  background-color: #0f9d58;
}
.checkbox-info input[type=checkbox]:checked ~ .check:after {
  background-color: #03a9f4;
}
.checkbox-warning input[type=checkbox]:checked ~ .check:after {
  background-color: #ff5722;
}
.checkbox-danger input[type=checkbox]:checked ~ .check:after {
  background-color: #f44336;
}
.checkbox-material-red input[type=checkbox]:checked ~ .check:after {
  background-color: #f44336;
}
.checkbox-material-pink input[type=checkbox]:checked ~ .check:after {
  background-color: #e91e63;
}
.checkbox-material-purple input[type=checkbox]:checked ~ .check:after {
  background-color: #9c27b0;
}
.checkbox-material-deeppurple input[type=checkbox]:checked ~ .check:after {
  background-color: #673ab7;
}
.checkbox-material-indigo input[type=checkbox]:checked ~ .check:after {
  background-color: #3f51b5;
}
.checkbox-material-lightblue input[type=checkbox]:checked ~ .check:after {
  background-color: #03a9f4;
}
.checkbox-material-cyan input[type=checkbox]:checked ~ .check:after {
  background-color: #00bcd4;
}
.checkbox-material-teal input[type=checkbox]:checked ~ .check:after {
  background-color: #009688;
}
.checkbox-material-lightgreen input[type=checkbox]:checked ~ .check:after {
  background-color: #8bc34a;
}
.checkbox-material-lime input[type=checkbox]:checked ~ .check:after {
  background-color: #cddc39;
}
.checkbox-material-lightyellow input[type=checkbox]:checked ~ .check:after {
  background-color: #ffeb3b;
}
.checkbox-material-orange input[type=checkbox]:checked ~ .check:after {
  background-color: #ff9800;
}
.checkbox-material-deeporange input[type=checkbox]:checked ~ .check:after {
  background-color: #ff5722;
}
.checkbox-material-grey input[type=checkbox]:checked ~ .check:after {
  background-color: #9e9e9e;
}
.checkbox-material-bluegrey input[type=checkbox]:checked ~ .check:after {
  background-color: #607d8b;
}
.checkbox-material-brown input[type=checkbox]:checked ~ .check:after {
  background-color: #795548;
}
.checkbox-material-lightgrey input[type=checkbox]:checked ~ .check:after {
  background-color: #ececec;
}
.checkbox input[type=checkbox]:checked ~ .check:before,
.checkbox-default input[type=checkbox]:checked ~ .check:before {
  color: #4caf50;
}
.checkbox-primary input[type=checkbox]:checked ~ .check:before {
  color: #4285f4;
}
.checkbox-success input[type=checkbox]:checked ~ .check:before {
  color: #0f9d58;
}
.checkbox-info input[type=checkbox]:checked ~ .check:before {
  color: #03a9f4;
}
.checkbox-warning input[type=checkbox]:checked ~ .check:before {
  color: #ff5722;
}
.checkbox-danger input[type=checkbox]:checked ~ .check:before {
  color: #f44336;
}
.checkbox-material-red input[type=checkbox]:checked ~ .check:before {
  color: #f44336;
}
.checkbox-material-pink input[type=checkbox]:checked ~ .check:before {
  color: #e91e63;
}
.checkbox-material-purple input[type=checkbox]:checked ~ .check:before {
  color: #9c27b0;
}
.checkbox-material-deeppurple input[type=checkbox]:checked ~ .check:before {
  color: #673ab7;
}
.checkbox-material-indigo input[type=checkbox]:checked ~ .check:before {
  color: #3f51b5;
}
.checkbox-material-lightblue input[type=checkbox]:checked ~ .check:before {
  color: #03a9f4;
}
.checkbox-material-cyan input[type=checkbox]:checked ~ .check:before {
  color: #00bcd4;
}
.checkbox-material-teal input[type=checkbox]:checked ~ .check:before {
  color: #009688;
}
.checkbox-material-lightgreen input[type=checkbox]:checked ~ .check:before {
  color: #8bc34a;
}
.checkbox-material-lime input[type=checkbox]:checked ~ .check:before {
  color: #cddc39;
}
.checkbox-material-lightyellow input[type=checkbox]:checked ~ .check:before {
  color: #ffeb3b;
}
.checkbox-material-orange input[type=checkbox]:checked ~ .check:before {
  color: #ff9800;
}
.checkbox-material-deeporange input[type=checkbox]:checked ~ .check:before {
  color: #ff5722;
}
.checkbox-material-grey input[type=checkbox]:checked ~ .check:before {
  color: #9e9e9e;
}
.checkbox-material-bluegrey input[type=checkbox]:checked ~ .check:before {
  color: #607d8b;
}
.checkbox-material-brown input[type=checkbox]:checked ~ .check:before {
  color: #795548;
}
.checkbox-material-lightgrey input[type=checkbox]:checked ~ .check:before {
  color: #ececec;
}
.checkbox input[type=checkbox]:checked ~ .check,
.checkbox-default input[type=checkbox]:checked ~ .check {
  color: #4caf50;
}
.checkbox-primary input[type=checkbox]:checked ~ .check {
  color: #4285f4;
}
.checkbox-success input[type=checkbox]:checked ~ .check {
  color: #0f9d58;
}
.checkbox-info input[type=checkbox]:checked ~ .check {
  color: #03a9f4;
}
.checkbox-warning input[type=checkbox]:checked ~ .check {
  color: #ff5722;
}
.checkbox-danger input[type=checkbox]:checked ~ .check {
  color: #f44336;
}
.checkbox-material-red input[type=checkbox]:checked ~ .check {
  color: #f44336;
}
.checkbox-material-pink input[type=checkbox]:checked ~ .check {
  color: #e91e63;
}
.checkbox-material-purple input[type=checkbox]:checked ~ .check {
  color: #9c27b0;
}
.checkbox-material-deeppurple input[type=checkbox]:checked ~ .check {
  color: #673ab7;
}
.checkbox-material-indigo input[type=checkbox]:checked ~ .check {
  color: #3f51b5;
}
.checkbox-material-lightblue input[type=checkbox]:checked ~ .check {
  color: #03a9f4;
}
.checkbox-material-cyan input[type=checkbox]:checked ~ .check {
  color: #00bcd4;
}
.checkbox-material-teal input[type=checkbox]:checked ~ .check {
  color: #009688;
}
.checkbox-material-lightgreen input[type=checkbox]:checked ~ .check {
  color: #8bc34a;
}
.checkbox-material-lime input[type=checkbox]:checked ~ .check {
  color: #cddc39;
}
.checkbox-material-lightyellow input[type=checkbox]:checked ~ .check {
  color: #ffeb3b;
}
.checkbox-material-orange input[type=checkbox]:checked ~ .check {
  color: #ff9800;
}
.checkbox-material-deeporange input[type=checkbox]:checked ~ .check {
  color: #ff5722;
}
.checkbox-material-grey input[type=checkbox]:checked ~ .check {
  color: #9e9e9e;
}
.checkbox-material-bluegrey input[type=checkbox]:checked ~ .check {
  color: #607d8b;
}
.checkbox-material-brown input[type=checkbox]:checked ~ .check {
  color: #795548;
}
.checkbox-material-lightgrey input[type=checkbox]:checked ~ .check {
  color: #ececec;
}
@-webkit-keyframes checkbox-on {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
  }
  50% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
  }
  100% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
  }
}
@keyframes checkbox-on {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px;
  }
  50% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px;
  }
  100% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
  }
}
@-webkit-keyframes checkbox-off {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  25% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  50% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    margin-top: -4px;
    margin-left: 6px;
    width: 0px;
    height: 0px;
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
  }
  51% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0px 0px 0 10px inset;
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0px 0px 0 0px inset;
  }
}
@keyframes checkbox-off {
  0% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  25% {
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset;
  }
  50% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    margin-top: -4px;
    margin-left: 6px;
    width: 0px;
    height: 0px;
    box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0px 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset;
  }
  51% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0px 0px 0 10px inset;
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    margin-top: -2px;
    margin-left: -2px;
    width: 20px;
    height: 20px;
    box-shadow: 0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0 0 0 0,
            0px 0px 0 0px inset;
  }
}
@-webkit-keyframes rippleOn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rippleOn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes rippleOff {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rippleOff {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 0;
  }
}