[class*="icheck"] { position: relative; display: block; }
[class*="icheck"]>label { position: relative; display: inline-flex; align-items: center; gap: .3em; line-height: 1.1; cursor: pointer; }
[class*="icheck"]>input:first-child { position: absolute !important; opacity: 0; margin: 0; background-color: #787878; border-radius: 50%; appearance: none; -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; display: block; pointer-events: none; width: 22px; height: 22px; outline: none; transform: scale(2); -ms-transform: scale(2); transition: opacity 0.3s, transform 0.3s; }
[class*="icheck"]>input:first-child:disabled { cursor: default; }
[class*="icheck"]>input:first-child:disabled+label, [class*="icheck"]>input:first-child:disabled+input[type="hidden"]+label, [class*="icheck"]>input:first-child:disabled+label::before, [class*="icheck"]>input:first-child:disabled+input[type="hidden"]+label::before { pointer-events: none; cursor: default; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; }
[class*="icheck"]>input:first-child+label::before, [class*="icheck"]>input:first-child+input[type="hidden"]+label::before { content: ""; display: inline-block; width: 22px; height: 22px; border: 2px solid #787878; border-radius: 3px; box-sizing: border-box; }
[class*="icheck"]>input:first-child:checked+label::after, [class*="icheck"]>input:first-child:checked+input[type="hidden"]+label::after { content: ""; display: inline-block; position: absolute; top: 3px; left: 0; width: 7px; height: 10px; border: solid 2px #fff; border-left: none; border-top: none; transform: translate(7.75px, 4.5px) rotate(45deg); -ms-transform: translate(7.75px, 4.5px) rotate(45deg); box-sizing: border-box; }
[class*="icheck"]>input:first-child:not(:checked):not(:disabled):hover+label::before, [class*="icheck"]>input:first-child:not(:checked):not(:disabled):hover+input[type="hidden"]+label::before { border-width: 2px; }
[class*="icheck"]>input:first-child::-ms-check { opacity: 0; border-radius: 50%; }
[class*="icheck"]>input:first-child:active { transform: scale(0); -ms-transform: scale(0); opacity: 1; transition: opacity 0s, transform 0s; }
[class*="icheck"]>input[type="radio"]:first-child+label::before, [class*="icheck"]>input[type="radio"]:first-child+input[type="hidden"]+label::before { border-radius: 50%; }
[class*="icheck"]>input[type="radio"]:first-child:checked+label::before, [class*="icheck"]>input[type="radio"]:first-child:checked+input[type="hidden"]+label::before { background-color: transparent; }
[class*="icheck"]>input[type="radio"]:first-child:checked+label::after, [class*="icheck"]>input[type="radio"]:first-child:checked+input[type="hidden"]+label::after { content: ""; position: absolute; width: 10px; height: 10px; border-radius: 50%; border: none; top: 6px; left: 6px; transform: none; -ms-transform: none; }
[class*="icheck"]>input[type="checkbox"]:first-child:checked+label::after, [class*="icheck"]>input[type="checkbox"]:first-child:checked+input[type="hidden"]+label::after { width: 8px; height: 14px; transform: translate(7px, 2px) rotate(45deg); -ms-transform: translate(7px, 2px) rotate(45deg); }

.icheck-inline { display: inline-block; }
.icheck-inline+.icheck-inline { margin-left: .75rem; margin-top: 6px; }

.icheck > input:first-child { background-color: #47a2a6; }
.icheck > input:first-child::-ms-check { background-color: #47a2a6; }
.icheck > input:first-child:not(:checked):not(:disabled):hover + label::before, .icheck > input:first-child:not(:checked):not(:disabled):hover + input[type="hidden"] + label::before { border-color: #47a2a6; }
.icheck > input:first-child:checked + label::before, .icheck > input:first-child:checked + input[type="hidden"] + label::before { background-color: #47a2a6;
border-color: #47a2a6; }
.icheck > input:first-child:checked + label::after, .icheck > input:first-child:checked + input[type="hidden"] + label::after { border-bottom-color: #fff;
border-right-color: #fff; }
.icheck > input[type="radio"]:first-child:checked + label::after, .icheck > input[type="radio"]:first-child:checked + input[type="hidden"] + label::after { background-color: #47a2a6; }