
.button-add-cart {
  position: relative;
  overflow: hidden;
}

.button-add-cart.is-adding {
  border-radius: 25px;
  max-width: 50px;
  max-height: 50px;
  cursor: default;
}

.button-add-cart.is-adding::after {
  -webkit-animation: fadeIn 0.3s ease-in, spin 1.3s infinite ease-in-out;
          animation: fadeIn 0.3s ease-in, spin 1.3s infinite ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.button-add-cart.is-adding span {
  opacity: 0;
}

.button-add-cart::after {
  content: " ";
  border-top: solid 4px #17cae6;
  border-right: solid 4px #17cae6;
  border-bottom: solid 4px #17cae6;
  border-left: solid 4px transparent;
  border-radius: 50px;
  position: absolute;
  top: 7px;
  right: 7px;
  bottom: 7px;
  left: 7px;
  margin: auto;
  max-width: 30px;
  max-height: 30px;
  opacity: 0;
  z-index: 1;
}

@-webkit-keyframes spin {
  0%, 5% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  95%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0%, 5% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  95%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}




.switch input:checked ~ .switch-paddle, .switch.primary input:checked ~ .switch-paddle {
  background: #1779ba;
}

.switch.secondary input:checked ~ .switch-paddle {
  background: #767676;
}

.switch.success input:checked ~ .switch-paddle {
  background: #3adb76;
}

.switch.alert input:checked ~ .switch-paddle {
  background: #cc4b37;
}

.switch.warning input:checked ~ .switch-paddle {
  background: #ffae00;
}

.callout{
  width: 300px;
}


.switch-toggle-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.switch-toggle-wrapper .switch {
  margin-bottom: 0;
}





.mobile-app-toggle {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border: 1px solid #1779ba;
  border-radius: 0.625rem;
  overflow: hidden;
  margin-bottom: 1rem;
}

.mobile-app-toggle .button {
  background: transparent;
  color: #1779ba;
  margin-bottom: 0;
  -webkit-flex: 1 0 0;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
}

.mobile-app-toggle .button:nth-child(n+1) {
  border-left: 1px solid #1779ba;
}

.mobile-app-toggle .button.is-active {
  background: #1779ba;
  color: #fefefe;
}



.button-group-option {
  position: relative;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 300px;
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.button-group-option::before, .button-group-option::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.button-group-option::after {
  clear: both;
}

.button-group-option .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.button-group-option .button:last-child {
  margin-right: 0;
}

.button-group-option .button {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.button-group-option .button {
  font-size: 1.125rem;
}

.button-group-option:before {
  content: attr(data-grouptype);
  z-index: 1;
  color: #8a8a8a;
  display: inline-block;
  font-size: 1rem;
  padding: 0.25em;
  border-radius: 5000px;
  background: #fefefe;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.button-group-option .button + .button {
  margin-left: 0.35rem;
}
