.checkbox-symbol {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
  user-select: none;
}

.checkbox-container {
  box-sizing: border-box;
  background: #fff;
  color: #222a3f;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
}

.checkbox-input {
  position: absolute;
  visibility: hidden;
}

.checkbox {
  user-select: none;
  cursor: pointer;
  padding: 0.375rem 0rem;
  border-radius: 0.375rem;
  overflow: hidden;
  transition: all 0.3s ease;
  display: flex;
}

.checkbox:not(:last-child) {
  margin-right: 0.375rem;
}

.checkbox span {
  vertical-align: middle;
  transform: translate3d(0, 0, 0);
}

.checkbox span:first-child {
  margin-top: 0.25rem;
  position: relative;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  border-radius: 0.125rem;
  transform: scale(1);
  border: 0.063rem solid #686d7b;
}

.checkbox.form-error span:first-child {
  border: 0.125rem solid #f04c34;
}

.checkbox span:first-child svg {
  position: absolute;
  top: 0.188rem;
  left: 0.125rem;
  stroke-dasharray: 70;
  stroke-dashoffset: 70;
  fill: none;
  stroke: #fff;
  stroke-width: 0.8rem;
}

.checkbox span:last-child {
  padding-left: 0.5rem;
  line-height: 1.5rem;
}

.checkbox-input:checked + .checkbox span:first-child {
  background: #03a4dc;
  border-color: #686d7b;
  stroke-dasharray: 320;
  stroke-dashoffset: 0;
}

.checkbox-input:checked + .checkbox span:last-child {
  color: #686d7b;
}

.checkbox-input:checked + .checkbox span:first-child svg {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 250ms linear;
}

.checkbox-input:disabled + .checkbox span:first-child {
  background: #9caaba;
  cursor: not-allowed;
  border-color: #9caaba;
}

.checkbox-input:disabled + .checkbox span:last-child {
  color: #9caaba;
}

.checkbox-container * {
  box-sizing: border-box;
}

.checkbox-errors {
  color: #f04c34;
  margin-left: 1.75rem;
}

@keyframes zoom-in-out {
  50% {
    transform: scale(0.9);
  }
}
.custom-checkbox {
  display: flex;
  align-items: center;
}
.custom-checkbox span {
  margin-left: 0.5rem;
}
.custom-checkbox div {
  margin-top: 0.25rem;
}
.custom-checkbox input[type=checkbox] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  -o-appearance: none;
  border: solid #acb9c8 0.125rem;
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
}
.custom-checkbox .error {
  margin-top: 4px;
}
.custom-checkbox .error input[type=checkbox] {
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
  border: solid #f04c34 0.125rem;
}
.custom-checkbox input[type=checkbox]:checked {
  border: solid #03a4dc 0.125rem;
  background-color: #03a4dc;
  border-radius: 0.25rem;
  height: 1.125rem;
  width: 1.125rem;
}
.custom-checkbox-errors {
  color: #f04c34;
}