:root {
    --sp: 2rem;
    --sp0-25: calc(0.25 * var(--sp));
    --sp0-5: calc(0.5 * var(--sp));
    --sp0-75: calc(0.75 * var(--sp));
    --sp1: calc(1 * var(--sp));
    --color--gray-hue: 201;
    --color--gray-saturation: 15%;
    --color--primary-hue: 202;
    --color--primary-saturation: 79%;
    --color--primary-lightness: 50;
    --color--gray-100: hsl(var(--color--gray-hue), var(--color--gray-saturation), 97%);
    --color--gray-60: hsl(var(--color--gray-hue), var(--color--gray-saturation), 57%);
    --color--primary-50: hsl(var(--color--primary-hue), var(--color--primary-saturation), calc(1% * var(--color--primary-lightness)));
    --color--red: #e33f1e;
 
}
input[type="checkbox"] + label::after, input[type="checkbox"] + label::before, input[type="radio"] + label::after, input[type="radio"] + label::before {
    content: none;
}
input[type="checkbox"] + label::after, input[type="checkbox"] + label::before, input[type="radio"] + label::after, input[type="radio"] + label::before {
    content: none;
}
input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    opacity: 1;
    padding: 0;
    position: relative;
    z-index: 1;
}
.js-form-type-checkbox label, .js-form-type-radio label {
    display: block;
    margin-bottom: .2em;
    width: auto;
    font-weight: 400;
}
 
 
input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  width: var(--sp1);;
  height: var(--sp1);;
  margin: 0;
  vertical-align: middle;
  border: 1px solid hsl(201, 15%, 57%);
  border-radius: 0.3875rem;
  background-color: white;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: calc(1 * 1.125rem) calc(1 * 1.125rem);
  appearance: none;
}
 
input[type="checkbox"]:focus,
input[type="radio"]:focus {
  border: solid 1px black;
  /*outline: solid 1px black;*/    
}
label.form-required::after, .option.js-form-required.form-required::after {
    color: red;
    content: "*";
    margin: 0 0 0 .2em;
    position: unset;
    display: inline-block;
}
@supports (outline-style: double) {
  input[type="checkbox"]:focus,
  input[type="radio"]:focus {
    border-width: 1px;
 
  }
}
 
input[type="checkbox"]:hover,
input[type="radio"]:hover {
  border-color: black;
}
 
input[type="checkbox"][disabled],
input[type="radio"][disabled] {
  background-color: var(--color--gray-100);
}
 
input[type="checkbox"][disabled]:hover,
input[type="radio"][disabled]:hover {
  border-color: var(--color--gray-60);
}
 
input[type="checkbox"][disabled]:checked,
input[type="radio"][disabled]:checked {
  border-width: 1px;
}
 
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  border-width: 2px;
}
 
input.error[type="checkbox"],
input.error[type="radio"] {
  border: solid 2px var(--color--red);
}
 
input.error[type="checkbox"]:focus,
input.error[type="radio"]:focus {
  outline-color: var(--color--red);
  outline-offset: -2px;
}
 
input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  padding-inline-start: var(--sp0-25);
}
 
input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='17px' height='13px' viewBox='0 0 17 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M14.8232,0.176777 C14.9209,0.0791457 15.0791,0.0791455 15.1768,0.176777 L16.9445,1.94454 C17.0422,2.04217 17.0422,2.20047 16.9445,2.2981 L6.23744,13.0052 C6.13981,13.1028 5.98151,13.1028 5.88388,13.0052 L0.176777,7.2981 C0.0791456,7.20047 0.0791456,7.04218 0.176777,6.94454 L1.94454,5.17678 C2.04217,5.07915 2.20047,5.07915 2.2981,5.17678 L5.88388,8.76256 C5.98151,8.86019 6.13981,8.86019 6.23744,8.76256 L14.8232,0.176777 Z' id='Path' fill='%23000000' fill-rule='nonzero'%3E%3C/path%3E%3C/svg%3E");
    background-size: 1.2rem;
}
 
input[type="radio"] {
  border-radius: 50%;
}
 
input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8.5' cy='8.5' r='8.5' fill='%23000000'/%3E%3C/svg%3E%0A");
  background-size: 1.0625rem;
    -webkit-box-shadow: inset 0px 0px 0px 3px #ffffff; 
box-shadow: inset 0px 0px 0px 3px #ffffff;
}
 
input[type="radio"]:focus {
  border-width: 0px;
  border-color: black;
  outline-color: transparent;
  box-shadow:
    0 0 0 2px white,
    0 0 0 4px var(--color--primary-50);
}
 
input.error[type="radio"]:focus {
  outline-color: transparent;
  box-shadow:
    0 0 0 2px white,
    0 0 0 4px red;
}
 
.form-type-boolean {
  margin-block: calc(1 * 1.125rem);
}