.si {
    --color-default: #dee5f2 !important;
    --color-active: #0069ff !important;
    --rotate-default: 180deg !important;
    --rotate-active: 40deg !important;
    --border-size-checkmark: 2px !important;
    --border-size-box: 1px !important;
    --input-size: 20px !important;
    --guter: 15px !important;
  }
  
.si,
.si *,
.si *::before,
.si *::after {
box-sizing: border-box !important;
}

.si {
cursor: pointer !important;
position: relative !important;
}

.si > input[type="checkbox"],
.si > input[type="radio"] {
clip-path: polygon(0 0) !important;
}

.si .si-label {
display: inline-block !important;
padding-left: var(--guter) !important;
color: #9aa6bf !important;
vertical-align: text-top !important;
}

.si .si-label::before,
.si .si-label::after {
transition: all 0.2s ease-in-out !important;
}

.si .si-label::before {
content: '' !important;
display: block !important;
width: var(--input-size) !important;
height: var(--input-size) !important;
border: var(--border-size-box) solid var(--color-default) !important;
position: absolute !important;
top: -3px !important;
left: 0 !important;
transform: rotate(0deg) scale(1) !important;
}

.si .si-label:hover::before {
border-color: var(--color-active) !important;
}

.si.si-checkbox .si-label::before {
border-radius: var(--border-size-checkmark) !important;
}

.si.si-checkbox .si-label::after {
content: '' !important;
display: block !important;
width: 8px !important;
height: 18px !important;
border-width: 0 var(--border-size-checkmark) var(--border-size-checkmark) 0 !important;
border-style: solid !important;
border-color: transparent var(--color-active) var(--color-active) transparent !important;
position: absolute !important;
top: -3px !important;
left: 0 !important;
transform: rotate(var(--rotate-default)) scale(0) !important;
}

.si.si-checkbox > input:checked + .si-label::after {
left: 8px !important;
transform: rotate(var(--rotate-active)) scale(1) !important;
}

.si.si-checkbox > input:checked + .si-label::before {
transform: rotate(var(--rotate-active)) scale(0) !important;
}

.si.si-radio .si-label::before,
.si.si-radio .si-label::after {
border-radius: 100% !important;
top: -2px !important;
}

.si.si-radio .si-label::after {
content: '' !important;
display: block !important;
position: absolute !important;
width: 12px !important;
height: 0 !important;
top: 100% !important;
left: 4px !important;
}

.si.si-radio > input:checked + .si-label::after {
background-color: #fff !important;
height: 12px !important;
top: 2px !important;
}

.si.si-radio > input:checked + .si-label::before {
background-color:var(--color-active) !important;
}

.si.si-switcher .si-label {
padding-left: 45px !important;
}

.si.si-switcher .si-label::before {
content: '' !important;
width: 36px !important;
height: 20px !important;
border-radius: 20px !important;
top: -2px !important;
}

.si.si-switcher .si-label::after {
content: '' !important;
border-radius: 4px !important;
width: 6px !important;
height: 12px !important;
background-color: var(--color-default) !important;
position: absolute !important;
top: 2px !important;
left: 7px !important;
}

.si.si-switcher > input:checked + .si-label::before {
background-color: var(--color-active) !important;
border-color: var(--color-active) !important;
}

.si.si-switcher > input:checked + .si-label::after {
background-color: #fff !important;
left: 24px !important;
}

.si [data-onchecked="show"],
.si > input:checked ~ [data-onchecked="hide"] {
display: none !important;
}

.si [data-onchecked="hide"],
.si > input:checked ~ [data-onchecked="show"] {
display: inline-block !important;
}

.si > input:checked + .si-label.line-across {
text-decoration: line-through !important;
}


